ちょっと時間が経ってしまいましたが、[PS3 / NAS] Landisk上のMP4を再生のエントリの続きです。
PS3でMPEG4フォーマットの動画を再生するには、MP4ファイルのAVCプロファイルのタイプ/レベルをMain Profile/level 4.1にしなければならないという事は前回記述しましたが、今回はその方法です。
Windowsの場合は、技術メモ: mp4plc – mp4のプロファイルチェンジャーというエントリで変換ツールが提供されているようです。Macの場合は、バイナリエディタでMP4ファイルを開いて、該当の箇所を変更するのが最も簡単。
バイナリエディタによるAVC プロファイルとレベルの変換
http://メイド.jpさんのMPEG4 H.264/AVCのプロファイルとレベルの変更(おぼえがき)というエントリを参考にさせていただきました。以下手順です。
- バイナリエディタ(0xEDを使用)で該当のMP4ファイルを開きます。
- 6176634301を検索(検索条件はHEX)
- その後に続く文字列を変更。添付の画像の場合は、MainProfile/Level 5.1なので、4D 40 33になっていますが、それを4D 40 29に変更
- すぐ後ろ(2ブロック位先)にも同様の文字列がありますので、その部分も書き換えます。
- 変更を保存
以下が、プロファイルとレベルのバイナリ値の対応です。
Baseline Profile:42 E0
MainProfile:4D 40
HighProfile:64 00Level 1.3:0D
Level 2.1:15
Level 4.0:28
Level 4.1:29
Level 5.1:33
0xEDを使った場合、ドラッグ&ドロップでMP4ファイルを開くと何故かセーブできませんでした。Fileメニューから開くとセーブできました。何故だろう?
ちなみにこのバイナリ書き換え作業ですが、以前のMacbook Core Duo 2Ghzだと検索に時間がかかりすぎて、フリーズしたかと思うような重さでしたが、iMac(2.66GHz Intel Core i5)にしてからは、わずか10秒程度に短縮されました。CPUの進化すげー。









