今回も、FFmpeg単体でAACのデコード(入力)はできますが、AACのエンコード(出力)はできません。
Nero AAC コーデックを使用した、音声AAC動画の作成方法を、こちらの記事に書きましたので、参考にしてください。
その他、libopencore-amrnbとlibopencore-amrwbを追加しています。
AMR音声のエンコードができますが、モノラルのみ、最大ビットレート12.2kbpsなので、音が悪すぎて観賞用にはとても耐えません。
用途としては、着うた用などでしょうか。
詳しくはまた後日書きます。
ffmpeg_bin-19205.zip
ffmpeg_bin_pentium4-19205.zip (Pentium4最適化版)
ffmpeg_bin_core2-19205.zip (Core2最適化版)
ffmpeg_bin_athlon64-19205.zip (Athlon64最適化版)
ffmpeg_bin_phenom-19205.zip (Phenom最適化版)
以下のライブラリをアップデートしました。
x264 rev.1165
今回も、自前でビルドした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.1165
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のフロントエンドを作成して利用していたのですが。
欲しいという方もいて、公開を検討しています。その際に、コンパイル済みのバイナリを同梱することは可能でしょうか。
もしくは、ダウンロード先として、こちらを案内すると言ったことは可能でしょうか。
AtomCPUの場合、どれを選択すればよろしいのでしょう?
Atomは命令がCore2と互換性を持っているらしいので、Core2最適化版を使ってみて、駄目だと思ったら最適化なし版を使ってみるといいと思います。
参考:http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options
わざわざご連絡いただいて、ありがとうございます。
バイナリはご自由に使っていただいてかまいません。
私も正確には理解していないのですが、GPLのバイナリを使用したソフトは、本体(この場合フロントエンド)もGPLに則ってソースを公開する義務があるなどの決まりがあるようです。
仲間内で使う位なら、たいして気にしなくていいかもしれませんね。
ソースが欲しいという人がいたら、あげないといけないことになりますけど。
ご存じでしたらすみません。
Atomって以外と高性能なのね…と、初めて知りました。
情報ありがとうございました。
GPLなプログラム用のフロントエンドの場合、たとえば変換君のように別プロセスとして起動する物の場合はソースを公開する(フロントエンドもGPLにする)必要はないですよ。
さっそく使わせていただきます。
通りすがりさん
ありがとうございます。
別プロセスとして起動しているので、GPLじゃなくても大丈夫ですね。
なんだかGPLって分かりづらいですね。
もっと勉強せねば…。