iphone または ipad デバイスでのライブ ストリームに使用するために、red5 サーバーからの rtmp ストリームをトランスコードしています。組み込みのセグメンターを使用して git リポジトリから最新の ffmpeg バージョンをビルドし、次を使用して .ts ファイルと m3u8 プレイリスト ファイルを作成しました。
ffmpeg -probesize 50k -i "rtmp://localhost/oflaDemo/red5StreamDemo live=1" \
-c:v libx264 -b:v 128k -vpre ipod320 -flags -global_header -map 0 \
-f segment -segment_time 3 -segment_list foo.m3u8 -segment_list_flags +live \
-segment_list_type m3u8 -segment_list_size 5 -segment_format mpegts foo%d.ts
これは正常に動作しますが、3 (-segment_time 3) に設定しても、セグメント サイズを約 12 秒よりも小さくすることはできません。libx264 vcodec が原因のようです。フラグがありませんか?
ちなみに、red5 SimpleBroadcaster の例を起動することで、上記の ffmpeg コマンドを簡単に実行できます。