PS3で再生できるMP4(H.264/AVC)ファイルの作成方法


今回はx264cli(x264.exe)を使った最低限の方法を紹介します。
コマンドプロンプトによるコマンドライン入力が主になりますので、DOSの必要最低限の知識は必要になります。(cdとdirを知っていれば十分ですが…)
必要なソフトは下記の通りです。

AviSynthはx264でエンコードする際に必要になるのでインストールが必要です。
その他のEXEファイルはコンソールアプリになります。適当にフォルダを作成して(C:\mp4とか)その中にまとめて入れておきます。あとエンコード元となる動画ファイル(.avi)と音声ファイル(.wav)も入れておきます。
コマンドプロンプト(Windows Vistaの場合は「管理者として実行」する必要があります)を開いて下記の通りに実行すれば、MP4ファイルのできあがりです。


(追記:2007/9/18)
x264.exeにx86版とx64版が出たようです。64ビットOSでない場合はx86版を落としましょう。ついでですが、pthreadGC2.dllは必要なくなっているようです。

AVSファイルの中身

# infile.avs
AviSource("Movie.avi")
ConvertToYV12()
return last

x264cliでは入力にAVSファイルを利用します。このファイルをx264.exeのあるフォルダに作成します。ConvertToYV12()を実行することでx264で読み可能なYV12形式で動画データを渡すことができます。
Movie.aviはHuffyuvやLagarithで圧縮されたロスレスのファイルがよいでしょう。圧縮率の高いLagarith*1の方がおすすめです。

x264のコマンド

x264 --level 4.2 -q 20 --cqm jvt -b 2 --fps 23.976 -o "output.mp4" --threads auto --progress "infile.avs"

ポイントは--level 4.2を指定することです。これを指定してないとPS3で再生できません。なお、--level 4.2が指定できるのはPS3のシステムバージョン1.82以降です。4.1や4でも再生できますがとりあえず4.2で問題ないはずです。もし再生できない場合は4.1や4等に変更してみてください。
FPSは実際の動画のものに合わせてください(29.97fpsの動画なら--fps 29.97)。VFR(可変フレームレート)の方法については「VFRなMP4(H.264/AVC)ファイルの作成方法」を参照してください。
--cqmとか-bオプションは好みで付けてください。上記のオプションはかなり適当です。画質の調整は-qの値を変更します。この値が小さいほど高画質で大容量になりますが、-q 24とかでも割と十分な画質なので適当な値は自分で見つけてください。知っておくと良いと思われるコマンドラインオプションについては「その他のx264のオプション」にまとめています。それ以外のオプションについてはx264.exeのヘルプを見ましょう。ヘルプの表示方法は「x264とMP4Boxのヘルプの表示方法」を参照して下さい。

neroAacEncのコマンド

neroAacEnc.exe -br 160000 -if "Movie.wav" -of "Movie.m4a"

-brビットレートです。好みで設定してください。音質にこだわるなら192000、割とどうでもいいなら128000とかで良いでしょう。

MP4Boxのコマンド

mp4box -add "output.mp4":fps=23.976 -add "Movie.m4a":lang=jpn -new "Movie.mp4"

一応、これでPS3上で再生できる動画ができあがります。作業フォルダをDLNAの監視フォルダにしておけばPS3で即確認できます。再生できたら喜びましょう。


前回 「PS3でPC上のMP4ファイルを再生する方法
次回 「MP4Boxの基本的な使い方

(更新日:2007/10/20)

*1:インストール方法はinfファイルを右クリック→インストール