web-dev-qa-db-ja.com

トランスコードおよびffmpegでのセグメント化

Ffmpegにはセグメンターが含まれているか、少なくともコマンドラインオプションがあるようです

-fセグメント

ドキュメント内。

つまり、ffmpegを使用してビデオをリアルタイムでh.264にトランスコードし、ffmpegのみを使用してセグメント化されたIOS互換性のある.m3u8ストリームを配信できますか?セグメント化されたh.264 aac 640 x 480ストリームiOS互換ストリームへのファイル

26
alphablender

絶対に--f segmentを使用してビデオを断片に分割し、iOSデバイスに提供できます。 ffmpegはセグメントファイル.tsを作成し、任意のWebサーバーでそれらを提供できます。

動作例(無効なサウンド付き)-ffmpegバージョンN-39494-g41a097a:

./ffmpeg -v 9 -loglevel 99 -re -i sourcefile.avi -an \
-c:v libx264 -b:v 128k -vpre iPod320 \ 
-flags -global_header -map 0 -f segment -segment_time 4 \
-segment_list test.m3u8 -segment_format mpegts stream%05d.ts

ヒント:

  • 必ず最新の git リポジトリからffmpegをコンパイルしてください
  • libx264コーデックでコンパイルします
  • -map 0が必要です

FFMPEGのコンパイル方法- flash-media-server からフィードを取得するための追加のrtmpサポート付き

export PKG_CONFIG_PATH="/usr/lib/pkgconfig/:../rtmpdump-2.3/librtmp"    

./configure --enable-librtmp --enable-libx264 \
--libdir='../x264/:/usr/local/lib:../rtmpdump-2.3' \
--enable-gpl --enable-pthreads --enable-libvpx \
--disable-ffplay --disable-ffserver --disable-shared --enable-debug
35
vladaman