HbbTV 1.5 準拠の MPEG DASH ビデオを生成するための ffmpeg、DASHEncoder、および MP4Box のコマンド ライン オプションを探しています。
HbbTV 1.5 標準とそこで使用されている DASH プロファイルの詳細については、http: //www.hbbtv.org/pages/about_hbbtv/specification.phpを参照してください。
HbbTV 1.5 デバイスの DASH ストリーミングに関しては、FFmpeg と MP4Box の入力引数は互いに依存しています。HbbTV 端末用に FFmpeg でビデオをエンコードするオプションは次のとおりです。
FFmpeg -i input.avi -f h264 -c:v libx264 -aspect 16:9 -preset slow -profile:v high -r 50 -g 100 -force_key_frames "expr:gte(t,n_forced*2)" -b:v 3584k -maxrate 3584k -bufsize 7168k -x264opts nal-hrd=vbr -c:a libfdk_aac -b:a 192k -ar 48k -ac 2 output.mp4
ビデオがスムーズに再生されるようにするには、ビデオのビットレートと最大レートの引数を同じにする必要があります。さらに、bufsize 引数は、ビットレートの 2 倍よりも大きくしないでください。
GOP および force_key_frames オプションの引数は、MP4Box で作成するセグメントの長さによって異なります。各セグメントはキーフレームで開始し、1 つのセグメントに GOP 全体を含めることをお勧めします。この例では、各セグメントの長さは少なくとも 2 秒、または 2 秒の倍数である必要があります。
エンコードされたビデオをセグメント化するオプションは次のとおりです。
MP4Box -dash 2000 -frag 2000 -rap -profile live -segment-name video$Number$ -segment-ext m4s -out video.mpd input.mp4#video:id=1
MP4Box -dash 2000 -frag 2000 -rap -profile live -segment-name audio$Number$ -segment-ext m4s -out audio.mpd input.mp4#audio:id=2
これで、各セグメントとセグメント内の各フラグメントの長さは 2 秒になりました。HbbTV デバイスに必要なプロファイルは、ライブ プロファイルです。
HbbTV デバイス用のアダプティブ MPEG-DASH またはレガシー テスト ストリームを探している場合は、次のリンクからさまざまなテストケースを見つけることができます: http://av-standard.irt.de/wiki/index.php/Referenzclips