錯誤試行

PCや生活の試行錯誤の成果を報告するブログ

ffmpegがtsファイルをmp4エンコードしてくれない件について(解決できず)

  • 状況

ffmpegエンコードするが"channel element 1.2 is not allocated"のエラーメッセージが出続けてエンコードが進まない

  • 原因

多重化されたtsファイルだったため
洋画などの二ヶ国語放送や文字放送は多重化tsファイルとなっている
こうしたtsファイルをプレイヤーで再生するとCMなどは音が出るが、本放送で音が出なくなる。一旦オーディオトラックを無効にした上で選択し直すと音が出る。

  • 対策

linuxでは有効な対策が無いようだ。
WindowsであればTMPGEncを用いることで安定してmp4に変換できるようである。
二ヶ国語放送や文字多重放送についてはmp4変換をせず、早目に視聴し削除することにする。
(追記)
すっかり失念していたが、HandBrakeを用いることで問題なく変換できた。

  • 所要時間

上の原因究明に7時間30分を所要した。

参照リンク

番組内や挿入されているCM等によって音声の切り替えが頻繁にある場合ffmpegが落ちるとのこと。解決策はWindowsのツールであるtssplitterなどで音声チャンネルが変わった所でTSを分割するとのこと。

aac_parser.cがMPEG2AACのみ対応でMPEG4 AACに対応していないのが原因とのこと