現象
ffmpegでビデオファイルを変換中に下記のようなエラーが出て、変換が途中で止まってしまう。
lame: output buffer too smallCentOS 5 の lame 3.98-2 にはバグがあるらしい。
対策
lame最新版のソースから rpm を作る。
ソースパッケージのダウンロード
# cd /usr/src/redhat/SRPMSソースパッケージの展開
# wget http://apt.sw.be/redhat/el5/en/SRPMS.rpmforge/lame-3.98.2-1.rf.src.rpm
# rpm -ivh lame-3.98.2-1.rf.src.rpm最新のソースtar ballをダウンロード
# cd ../SOURCESSPECファイルの変更
# wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz?use_mirror=jaist
# cd ../SPECSリビルドでの依存パッケージのインストール
# mv lame.spec lame.spec.org
# wget http://wiki.open-art.jp/files/lame.spec
# yum install nasm ncurses-develSPECファイルを元にリビルド
Installed:
nasm.i386 0:0.98.39-3.2.2
ncurses-devel.i386 0:5.5-24.20060715
# rpmbuild -bb lame.specバイナリパッケージのインストール
------------------------------------------------------
+ cd /usr/src/redhat/BUILD
+ cd lame-3.98.4
+ /bin/rm -rf /var/tmp/lame-3.98.4-1.rf-root
+ exit 0
# cd ../RPMS/i386検証
# yum localinstall --nogpgcheck lame-3.98.4-1.rf.i386.rpm lame-devel-3.98.4-1.rf.i386.rpm
Running Transaction
Updating : lame 1/4
Updating : lame-devel 2/4
Cleanup : lame-devel 3/4
Cleanup : lame 4/4
Updated:
lame.i386 0:3.98.4-1.rf lame-devel.i386 0:3.98.4-1.rf
途中でエラーが出たaviファイルを変換したところ無事にエンコ出来た。