PS3で再生可能なVFRなMP4をつくろう[mp4fpsmod]やっとWindowsのVLC陣営やらAppleQTiTunesiOS陣営やらソニーPS3陣営のマルチプラットフォームにおいてドンピシャで再生できるVFRなMP4ができたのでまとめ。情報がなくて非常に苦労しました。tc2.exeやtc2mod.exeではうまくいかなかったので・・・。v3.70では再生開始がうまくいかないので再生開始したらひとまず△押して動画のサムネイル作成画面まで行って作成せず×で戻ると再生開始するみたい。これは2011年8月現在での情報になります。月日が経てば他にもっといい方法が確立されていると思います。v3.70まずは余談から。VFR(可変フレームレート)がサポートされているメディアフォーマットといえばマトリョーシカ(.mkv)がまず真っ先に思い浮かぶでしょう。実はMPEG-4フォーマットもVFRをサポートしているんです。どのようにMPEG-4フォーマットでVFRをサポートするのかといいますとタイムコードといわれる情報を各種ストリーム(H.264/AVCやAACコーデックで圧縮された映像や音声のこと)と見えないかたちで同梱する(埋め込む)んです。このタイムコードについてあまり詳しくないのですがテキスト化したものを見ると表示するフレーム(単位:フレーム)と表示する時間(単位:ミリ秒)をすべて列挙したものとなっています。INPUT.MP4<解説>INPUTAVCAAC.mp4の最初から28800フレームまでを24000/1001fps(23.976fps)で再生し、そこからの18000フレームを30000/1001fps(29.970fps)で再生し、またそこからの43200フレームを24000/1001fps(23.976fps)で再生し、そこから最後までの全フレームを30000/1001fps(29.970fps)で再生させたいときのオプションの例です。概算ですが、最初の1200秒間(20分間)を23.976fps、次の600秒間(10分間)を29.970fps、次の1800秒間(30分間)を23.976fps、残りの時間を29.970fpsで再生させることになります。VFRなMKVからVFRなMP4へ無劣化移し替え可能な大まかな流れ以下ではFLAC+H.264/AVC+CHAPTERで構成され、かつタイムコードが書きこまれているVFR.MKVを例に説明していく。太字はファイルを示す。ピンクは適宜オプションを自分の好みに合わせて変えてもらって構わない部分。・・・だと思われる・・・・;グレーは変えちゃダメだと思われるオプションです。ステップ1VFRなMKVから各種ストリームとチャプタ情報とタイムコードv2などを抜くMKVExtractGUI-2使うほうが早くて便利ですが。ALSやアップルロスレスを同梱させようと試みたがmp4boxがエラーで弾く模様。バージョンアップに期待。CFR.MP4この操作で何フレームの間における1単位フレームあたりの微小な時間の増加量デルタ、言い換えれば1単位フレームあたりのミリ秒数(表示単位:ms/f)および2単位秒あたりのフレーム数(表示単位:f/s)が解析され表示される。後者は計算に誤差があると表示されないことがあるので注意。1単位フレームあたりの微小な時間の増加量デルタが約33ミリ秒毎フレーム(33ms/f)と表示されあればそれは30000/1001fpsとみなしてよい。同様に約41ミリ秒毎フレーム(41ms/f)と表示されあればそれは24000/1001fpsとみなしてよい。2が表示されたのなら素直に2だけを読めばいい。以下に2が表示されなかったケースを示す。movieステップ5CFRなMP4にタイムコードを埋め込み、VFRなMP4を作成ステップ4で表示された解析結果をもとに、VFRなMP4を完成させる。以下の例はステップ4の続きの例です。CFR.MP4おまけVFRなMP4にアップル向けチャプタ情報を埋め込む1まずVFR.MP4のタグ情報をMP3TAGやiTunesで編集して完成させましょう。(非常に大事)2VFR.CHAPTERS.TXTをテキストエディタでOGM形式から以下の形式に変更したりチャプタ名を適宜変更したりする。UTF-8で保存します。次回予告VFR.MP4と同じパスに置いてファイル名をVFR.CHAPTERS.TXTとしておくのがポイントです。あとは以下のコマンドを打って暫しの間まったり待つだけ。movie映像の総フレーム数と指定したフレーム数の和に差があるため埋め込みをしませんでした。0:30000/1001などのようにフレーム数に0を指定しましょう。あとがきこんなに書いてもっと簡単な方法あったら悲しいけどあったらあったで教えて欲しい。