AAC+を使えるffmpeg.exeをビルドしよう
予定通り昨日の続きです。今日参考にしたサイトは次の通り。
ニコニコ動画研究所
ツールテスト-ニコニコミュニティ
普通の一般人が何かやってる-ニコニコミュニティ
今日はみなさんにAAC+を使えるffmpeg.exeをビルドしてもらいます。元々は【AAC+】 HE-AAC が使える ffmpeg をつくる方法 - ニコニコ動画研究所でまとめられている様に、ものすごく大変な作業でした。CUIに慣れていない人にとっては魔術世界です。ちょっと慣れてる人でもめんどくさ!ってなります。それを超簡単にしてくれたのが、上記ニコニコミュニティのお二人です。どっちでも良いのでコミュ参加してスクリプトをダウンロードしましょう。ぼくはツールテスト(co1482853)コミュで公開されているスクリプトを使ったので、それに沿った説明になっています。
ひつようなもの
次のものが必要です。普通の高校生が何かやってる(co81157)コミュのスクリプトの場合fstabは同梱されています。
- 参考にしたいずれかのコミュニティで配布されているビルド自動化スクリプト。ツールテストコミュのスクリプトの方が分かりやすいかと思います。
- MSYS_MinGW_GCC_470_x86-x64_Full.7z
oldの中にこのverがあります。2012/07/17現在、471ではビルドに失敗します。 - PortableGit-1.7.10-preview20120409.7z
- sezero_20111101-w32-update-rev.4917.zip
- fstab
じゅんび
CドライブがSSDだから大量の書き込みしたくないという人は別のドライブにしてfstabのドライブレターを書き換えるか、シンボリックリンクを貼ってください。
- Cドライブの直下にmsysというフォルダを作ります。msysフォルダの中にDLした物を全て移動させます。
- MSYSフォルダの中でPortableGit-1.7.10-preview20120409.7zを全て展開します。
- msysフォルダの中でMSYS_MinGW_GCC_470_x86-x64_Full.7zを全て展開します。多分MSYSというフォルダが出来ます。
- MSYSフォルダの中身全てをmsysフォルダに移動します。MSYSフォルダの中は空になります。
- sezero_20111101-w32-update-rev.4917.zipを全て展開するか中身を閲覧し、i686-w64-mingw32フォルダの中のinclude、lib、libsrcをコピーして、C:\msys\mingw\i686-pc-mingw32の中に貼り付けます。統合し全て上書きしてください。
- C:\msys\etcの中にfstabを移動する。
- msys.batを実行すると黒いウィンドウが現れるので置いておく。同時にC:\msys\home\[ユーザID]のようにフォルダが作られる。[ユーザID]にはログイン中のユーザIDが当てはまる。この説明ではpoezとする。
- ビルド自動化スクリプトの圧縮ファイルを展開しreadmeや説明書に従い、C:\msys\home\poezの中に必要な物を貼り付ける。ツールテストコミュの場合、fAllとffmbz.shの二つ。
ビルドかいし
- しばらくPCを起動したままに出来るか確認する。Core i5 2400で40分、コア数指定して30分、i7 3770でコア数指定して20分くらい。
- msys.batを実行したときに出てきた黒いウィンドウで、自動化スクリプトのreadmeや説明書に書いてあるコマンドを入力する。ツールテストコミュの場合、一番時間はかかるがfAllと入力するのが確実。fAllを実行した場合、スクリプトが対応している全ての音声コーデックが組み込まれる。
- コマンドを入力してエンターを押すとビルドが始まるので待つ。正常に終了していれば数十分後にFinish FFMPEG HE-AAC Buildと表示される。
ビルドされたffmpeg.exeはC:\home\poez\ffmpeg-[Ver番号]の中にあるのでコピーし、FFMLと同じフォルダに貼り付ける。あとはFFMLの音声コーデックでAAC+を指定すればAAC+が使えるようになる。音声ビットレートを48kbpsにして録画して聞いてみよう。
ビルドしたffmpeg.exeではAACが、FFMLが想定していないコーデックに変わっている(変わっていた)ので、もしAACを使いたいのにエラーを吐く場合は音声コーデックにFAACを指定すると上手くいくかもしれない。FFMPEGLauncher.config.xmlを書き換えても良い。