在Red Hat Enterprise Linux 6下編譯Mplayer過程很忐忑,特記錄一下:
首先
# wget http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc4.tar.bz2
# tar -zxvf MPlayer-1.0rc4.tar.bz2
# ./configure
# make
出現錯誤:
libmpcodecs/vd_mpng.c: In function 'pngReadFN':
libmpcodecs/vd_mpng.c:77: error: dereferencing pointer to incomplete type
libmpcodecs/vd_mpng.c: In function 'decode':
libmpcodecs/vd_mpng.c:114: error: dereferencing pointer to incomplete type
libmpcodecs/vd_mpng.c:131: error: dereferencing pointer to incomplete type
make: *** [libmpcodecs/vd_mpng.o] 錯誤 1
搜索半天,終於在谷歌上得到解惑,百度有點不給力:
Bug 354965 – media-video-mplayer fails to compile against media-libs-libpng-1_5_x
竟然是一BUG,沒辦法,只能用最新版的了。
# svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
# ./configure
又有錯誤提示
No FFmpeg checkout, press enter to download one with git or CTRL+C to abort
解決方案:
You may need to install git client and press enter during the above warning time
直接回車,自動安裝git獲取FFmpeg
# ./configure 沒辦法,再來一次configure
錯誤
Error: yasm not found, use --yasm='' if you really want to compile without
說明YASM沒有找到
# git clone git://github.com/yasm/yasm.git
或
# wget http://www.tortall.net/projects/yasm/releases/yasm-1.1.0.tar.gz
安裝 yasm 後重新進入mplayer下
# make -j 2
我的機器是E5300雙核
# make install
成功
# svn update
# ldconfig
# mplayer --help
完畢!
# mencoder -of lavf -ovc lavc -lavcopts vcodec=flv:vbitrate=500 -lavfopts format=flv -srate 22050 -oac mp3lame -lavcopts acodec=mp3:abitrate=56 PrettyGirlWillGotMarried.mpg -o PrettyGirlWillGotMarried.flv -ofps 16
錯誤
MPlayer was compiled without libmp3lame support.
沒安裝lame
# wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz
# tar -zxvf lame-3.98.4.tar.gz
# cd lame-3.98.4
# ./configure --enable-shared
# make && make install
重新編譯一遍Mplayer,成功
呵呵,壓縮率50%