「mp4box fps」とか「mp4box mux」「mp4box demux」「mp4box バグ」とか、色々なキーワードで検索すると、それっぽい症状や解決方法が沢山見つかる。
- x264のrawファイルをmp4boxでmuxしたときのfpsの微妙なズレ
- MP4BOXを使ってDEMUX→MUXの際AAC音声に問題
- mp4box がfps指定値を地味に守らない件
- mp4box のバグ
他にも沢山見つかるけど、とりあえず4件ほど。
古いお話もあって、今でも通用するお話なのかは不明。
でも自分でエンコした動画が微妙に音ズレを発生していた謎はこれで解けた。
YouTubeにアップした時に激しく音ズレするのも、何となく理解できた。
色々なバージョンを落としてみても、どうにも意図通りに作動してくれている気がしなかったが、MP4boxはこんなモノなんだろう。仕方が無い。
解決策はMP4Box以外に求めるのが近道。
面倒なんでFFMpeg素通し
MP4BoxでMUXしたh264+aac動画を、FFMpegにぶち込む。
とかやって素通しさせちゃうだけで、とりあえずYouTubeにアップした時のフレームレートが半分になったり激しく音ズレしたりするのは回避できた。
往年のaviデータをVirtualDubに素通しして不具合を治しちゃう技を思う出してしまう(笑)。簡単なのでコレで運用する事にする。
補足1
私の知識ではどう頑張ってもFFMpegで作成したh264動画は再生負荷が高くなる。
x264を使った方が、再生負荷が低い動画が簡単に作れる。FFMpegで一気にmp4作るのはパスの方向で。(現在は主にSimple x264 Launcher使用)
どうせAAC音声作る時も本気バージョンの時はFFMpeg使わずNeroEnc使うので、MP4Boxのお世話になるし、大事な動画は「MUX後にFFMpeg素通し」だけ覚えておこうと思った次第。
補足2
今使っているMp4Boxのバージョンは0.4.5-DEV。
2008年のもの。今回拾った情報は2005年頃の古いモノが多く、どこまでアテに出来るか解らないけど、(とんでもなく困った事態じゃないので)細かい検証は面倒。
2時間番組の録画データなどの微妙な音ズレも、のんびり視聴する分には気にはならないので放っておく。気になるデータが出来てしまったら、フレームレートを調整してFFMpeg素通しにでもチャレンジしてみよう。現行のMP4Boxについて色々調べてみよう。