- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!MinGW+ffmpeg(4)LAME
LAMEは言わずと知れたmp3エンコードライブラリ(&コマンド)だ。バージョンも3.97以降はなかなか更新されず、かなり'''"枯れて"'''きた感があり、安定している。
LAMEは言わずと知れたmp3エンコードライブラリ(&コマンド)だ。バージョンも3.97以降はなかなか更新されず、かなり''"枯れて"''きた感があり、安定している。
LAMEはnasmを使用してビルドすることで高速に動作するが、nasmでのビルドには[バグがあるらしく|http://arrozcru.no-ip.org/ffmpeg_wiki/tiki-index.php?page=mp3lame]、修正が必要だ。
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だ。
ここから先だけで何度やり直したか知れない…まさにキモだ。