久々に動画エンコードの件。
Dlife/ディーライフより |
Dlife/ディーライフでオンエアしているミッキーマウスとロードレーサーズだが、放送波では日本語と英語の二ヶ国語放送なのに、MPEG-4 AVC(H.264)にトランスコードしたファイルによって日本語だったり英語だったりしている事に気付いた。
2か国語放送の仕組みとしてはアナログ放送時代から伝統的にステレオのL/Rを日本語/英語に置き換えたモノラル2カ国語が一般的なのだが、BSデジタル放送なディーライフの場合は日本語/英語それぞれ2chステレオを確保した2トラック(ストリーム)の構成となっているので、音声トラックが期待通りに選択されていないようだ。
「結果オーライで日本語が選択される期待だったのになぁ…」と思いつつ、現行の~/bin/get_stream_map.plをチェックしたところ、ビットレートの高いストリームが選ばれるようになっているのに気付いた。これは地上波デジタル放送をトランスコードするケースで低解像度なワンセグデータに惑わされないように、複数ストリームが含まれる場合にビットレートの一番高いストリームに着目するという処理を入れたのが安直過ぎ(考慮不足)で、結果的にAudioでは日本語か英語かが気まぐれでチョイスされてしまった模様。
そもそも、多言語音声は再生時に選択可能であるべきなので、Audioはビットレート100kbps以上の音声ストリームを全てMAPオプションで列挙する事で、MPEG-4 AVC(H.264)ファイルに複数音声トラックが取り込まれるように改修。
【参照】
●82.hatenablog.com http://82.hatenablog.com/
┗Ubuntu ffmpegでTSファイルの複数音声(2ヶ国語)を処理する 2016年3月15日
●Dlife/ディーライフ https://dlife.disney.co.jp/
┗ミッキーマウスとロードレーサーズ
●Wikipedia https://ja.wikipedia.org/wiki/
┣Dlife
┣ミッキーマウスとロードレーサーズ
┣音声多重放送
┣二重音声放送
┣2か国語放送
┣H.264
┣FFmpeg
┗x264