FFmbcというプログラムを使って、Apple ProResをMXFフォーマット(XDCAM HD 422)に変換するメモです。
環境はMac OS X10.9.3です。Linuxでも可能だと思います。
もくじ [閉じる]
前提とする環境
XcodeとXcodeの「Command Line Tools」がインストール済みで、gccによるビルド環境が整っていることを前提とします。
手順
1.yasmのビルド
2.x264のビルド
3.lameのビルド
4.FFmbcのビルド
5.Apple ProResフォーマットの動画をMXF(XDCAM HD 422)フォーマットに変換してみる
※ビルドに関しては、FFmbc専用のディレクトリを作って、その中に上記の関連プログラムをまとめた方が無難だと思います。
※ソースについては、ダウンロードする時期によってバージョン番号等が変わる場合があるので、以下のメモでもファイル名は適宜読み替える必要があります。
1.yasmのビルド
yasmはこの次のx264のビルドに必要なアセンブラです。
ソースのダウンロード
http://yasm.tortall.net/
yasmのビルド
1 2 3 4 5 6 7 | #ソースを展開 zxvf . /yasm-1 .2.0. tar .gz . /configure --prefix=【yasmのインストール先】 make make install |
2.x264のビルド
h264の動画ソースも扱えるようにするため、x264をビルドします。
ソースのダウンロード
http://www.videolan.org/developers/x264.html
x264のビルド
1 2 3 4 5 6 7 8 9 10 11 12 13 | #ソースを展開 tar zxvf . /last_x264 . tar .bz2 #yasmの実行プログラムへのパスを通す export PATH=【yasmのインストール先】 /bin :${PATH} #yasmのヘッダー、ライブラリへのパスを指定 . /configure --prefix=x264のインストール先 --extra-cflags= "-I【yasmのインストール先】/include" --extra-ldflags= "-L【yasmのインストール先】/lib" -- enable -static make make install |
3.LAMEのビルド
音声がmp3の場合にも対応できるようにLAMEをビルドします。
ソースのダウンロード
http://lame.sourceforge.net/
LAMEのビルド
1 2 3 4 5 6 7 8 | #ソースを展開 tar zxvf . /lame-3 .99.5. tar .gz . /configure --prefix=【lameのインストール先】 make make install |
4.FFmbcのビルド
ようやく本来の目的であるFFmbcのプログラムのビルドを行います。
ソースのダウンロード
http://lame.sourceforge.net/
FFmbcのビルド
1 2 3 4 5 6 7 8 9 10 11 12 13 | #ソースの展開 tar zxvf . /FFmbc-0 .7-rc8. tar .bz2 #LAME,x264を有効にして、gplライセンスを指定し、LAMEとx264のヘッダーとライブラリへのパスを指定 . /configure --prefix=【FFmbcのインストール先】 -- enable -libmp3lame -- enable -libx264 -- enable -gpl --extra-ldflags= "-L【x264のインストール先】/lib -L【LAMEのインストール先】/lib" --extra-cflags= "-I【x264のインストール先】/include -I【LAMEのインストール先】/include" make make install |
4.Apple ProResフォーマットの動画をMXF(XDCAM HD 422)フォーマットに変換してみる
FFmbcの実行プログラムへのパスを通す
1 | export PATH=【FFmbcのインストール先】 /bin :${PATH} |
動画の変換を実行する
1 2 3 4 5 6 7 8 9 10 11 | ffmbc -i 【変換するファイル.mov】 -target xdcamhd422 -an 【出力するファイル名.mxf】 -acodec pcm_s24le -ar 48000 -newaudio -acodec pcm_s24le -ar 48000 -newaudio -map_audio_channel 0:1:0:0:1:0 -map_audio_channel 0:1:1:0:2:0 |
おわりに
なぜにApple ProRes to MXF
放送局とかにはXPRI(エクスプリ)という、ソニーのノンリニア編集システムがあったりしますが、そこでは主にMXFという動画フォーマットでファイルのやり取りが行われているようです。
そのような場で、AppleのFInalCutPro Xとかで編集した映像を、最終的な納品物として仕上げるためにXPRIを使う、となったときに素材渡しをどうするかという話です。
FInalCutPro Xで書き出すことができるフォーマットで、一番高品質なのはApple ProResという形式なのですが、XPRIではAppleProResフォーマットは読み込めないようです。
他の方法として、XPRIはh264は扱うことができるので、FinalCutPro Xからの書き出しをh264で行えばmp4素材としてXPRIに渡すことは可能です。
しかし、h264は高圧縮の動画フォーマットなので、エンコード時に何らかの劣化が起こらないか心配です。検証していないので何とも言えませんが。。。
というわけで、XPRIには高品質で書き出したフォーマットで渡した方がいいのではないか。と思った次第です。
でも結局は、、、
FinalCutPro XからXPRIへの素材渡しについて、今回検証した2通りの方法だと、
・FinalCutPro Xでh264書き出し→XPRIで読み込み
・FinalCutPro XでApple ProRes書き出し→FFmbcでMXFに変換→XPRIで読み込み
ということで、MXFにする場合は変換処理で一段階多いので、結局どちらの方法でも品質としてはあまり変わらないかも(´∀`)。