今回も、FFmpeg単体でAACのデコード(入力)はできますが、AACのエンコード(出力)はできません。
Nero AAC コーデックを使用した、音声AAC動画の作成方法を、こちらの記事に書きましたので、参考にしてください。
ffmpeg_bin-19256.zip
ffmpeg_bin_pentium4-19256.zip (Pentium4最適化版)
ffmpeg_bin_core2-19256.zip (Core2最適化版)
ffmpeg_bin_athlon64-19256.zip (Athlon64最適化版)
ffmpeg_bin_phenom-19256.zip (Phenom最適化版)
以下のライブラリをアップデートしました。
x264 rev.1171
今回も、自前でビルドしたMinGW gcc4.4.0を使用しています。
バイナリはどれを使っても大丈夫だと思いますが、SSE2に対応していないCPU(Sempronの一部など)をお使いの方は、最適化無し版を使ってみてください。
zipファイルを解凍すると、ffmpeg.exeが出てきますので、携帯動画変換君のcoresフォルダに置くなり、単体で使うなりしてください。
pthreadGC2.dllは不要です。
携帯動画変換君のffmpeg.exeとは、オプションの互換性がありませんので、上書きする際はご注意ください。
FFmpegのコンパイルは、こちらの記事を参考にしてください。
コンパイル環境:MinGW gcc4.4.0
各ライブラリのバージョンは、以下の通りです。
nasm-2.05.1
yasm-0.8.0
pthreads-w32 release 2.9.0
zlib-1.2.3
faad2-2.7
gsm-1.0.13
lame-398-2
libnut-662
libogg-1.1.3
libvorbis-1.2.0
libtheora-1.0
x264 rev.1171
xvidcore-1.2.2
opencore-amr-0.1.1
最適化オプションは、以下のようにしています。
configureのオプションに--enable-smallを付けると、gccのオプションに-Osが付き、-O4にしても無駄なことが分かりましたので、-O4は外しました。
--enable-smallを付けなければ、gccのオプションに-O3が付きます。
最適化無し版
--extra-cflags="-mtune=generic -mno-sse2"
Pentium4最適化版
--extra-cflags="-mtune=pentium4 -mfpmath=sse -msse"
Core2最適化版
--extra-cflags="-mtune=core2 -mfpmath=sse -msse"
Athlon64最適化版
--extra-cflags="-mtune=athlon64 -mfpmath=sse -msse"
Phenom最適化版
--extra-cflags="-mtune=amdfam10 -mfpmath=sse -msse"
configureオプションは以下の通りです。
$ ./configure --enable-memalign-hack --enable-postproc --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaad --disable-decoder=aac --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libvorbis --enable-libtheora --enable-libxvid --enable-libx264 --disable-ffserver --disable-ffplay --enable-avisynth --enable-small --enable-pthreads --extra-ldflags=-static --extra-cflags="-mtune=athlon64 -mfpmath=sse -msse -fno-strict-aliasing"
※--extra-cflagsは、最適化の種類により異なります。
configureのメッセージはこちら。
最新版のFFmpegは変換君付属のFFmpegとオプションの互換性がないので最新版に対応した設定を作り直す必要があります。
それと、最近のバージョンではライセンスの関係でaacのエンコードができないのでneroAacEnc.exeなどのエンコーダを別に用意する必要があります。
それ以外は特に特別なことは必要ありませんよ。
もうご存知かもしれませんが MinGW 公式の GCC 4.4.0 リリースがでたみたいです。
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=241304
最近のはAACへのエンコードが出来ないんですか
そういえば変換君の中に入っている奴は、もう4年以上前のFFmpegですしね
やっと、MinGW公式のGCC4.4.0が出たんですね。
情報ありがとうございました。
GCC本家では、もうそろそろ4.4.1が出そうな雰囲気ですね。
Nero AACコーデックとFFmpegの組み合わせで、Xvid動画を作成する場合の例はこちら↓にまとめてありますので、参考にしてみてください。
http://blog.k-tai-douga.com/article/29190052.html