MinGW+ffmpeg(4)LAME
LAMEは言わずと知れたmp3エンコードライブラリ(&コマンド)だ。バージョンも3.97以降はなかなか更新されず、かなり"枯れて"きた感があり、安定している。
LAMEはnasmを使用してビルドすることで高速に動作するが、nasmでのビルドにはバグがあるらしく、修正が必要だ。
libmp3lame/i386/Makefile.inを開き、
471:.nas.lo: $< nasm.h 472: test -d .libs || mkdir .libs 473: $(ECHO) '# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)' >$@ 474: $(ECHO) "pic_object='.libs/$*.o'" >>$@ 475: $(ECHO) "non_pic_object='$*.o'" >>$@ 476: $(NASM) $(NASMFLAGS) $< -o .libs/$*.o -l $@.lst
の475行目を
471:.nas.lo: $< nasm.h 472: test -d .libs || mkdir .libs 473: $(ECHO) '# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)' >$@ 474: $(ECHO) "pic_object='.libs/$*.o'" >>$@ 475: $(ECHO) "non_pic_object='.libs/$*.o'" >>$@ 476: $(NASM) $(NASMFLAGS) $< -o .libs/$*.o -l $@.lst
というようにnon_pic_objectに.libs/を追加する。
あとはコマンドを打つだけだ。
$ cd lame-3.97 $ ./configure --disable-shared --disable-frontend --enable-nasm $ make $ mkdir -p /mingw/include/lame $ cp include/lame.h /mingw/include/lame/ $ cp libmp3lame/.libs/libmp3lame.a /mingw/lib/
ヘッダファイルのインストール先が/mingw/include/lameと、includeの下にサブディレクトリがあることに注意。なお、MP1のサポートを有効にするなら./configureに--enable-decode-layer1を付けても良い。
次はいよいよpthread、そしてx264、ffmpegだ。ここから先だけで何度やり直したか知れない…まさにキモだ。
最終更新時間:2008年04月06日 13時44分58秒