在Linux平台的嵌入式裝置上,可以使用MPlayer播放音視訊檔案。K390機器采用S3C2440平台,交叉編譯器采用arm-linux-gcc-3.4.1,下面是該平台下MPlayer的詳細移植步驟:
第一步:下載下傳libmad-0.15.1b.tar.gz和MPlayer-1.0rc2.zip兩個檔案
下載下傳在Linux公社(LinuxIDC.com)的1号伺服器。
FTP位址:ftp://www.linuxidc.com
使用者名:www.linuxidc.com
密碼:www.muu.cc
在2011年LinuxIDC.com\2月\Linux平台基于S3C2440的MPlayer的移植\
具體下載下傳方法見http://www.linuxidc.net/thread-1186-1-1.html 與 http://www.linuxidc.net/thread-1189-1-1.html
并解壓;
第二步:進入libmad-0.15.1b:
(1)配置,生成Makefile:(--prefix=/usr/local/arm/3.4.1/lib為指定最終生成的庫檔案的安裝路徑,CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc為指定交叉編譯工具路徑)
./configure --enable-fpm=arm --host=arm-linux --disable-shared --disable-debugging --prefix=/usr/local/arm/3.4.1/lib CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc
(2)編譯:
make
(3)安裝:
make install
這一步的目的是在/usr/local/arm/3.4.1/lib下生成lib目錄,在lib目錄下生成include和lib兩個檔案夾,對應檔案夾中生成mad.h和libmad.a檔案,這兩個檔案供mplayer編譯用。
第三步:進入MPlayer-1.0rc2:
(1)配置,生成Makefile:(extraincdir=/usr/local/arm/3.4.1/lib/include和--with-extralibdir=/usr/local/arm/3.4.1/lib/lib指定了上一步安裝庫檔案在路徑)
./configure --cc=/usr/local/arm/3.4.1/bin/arm-linux-gcc --target=arm-linux --enable-static --prefix=/tmp/mplayer-rc2 --disable-win32dll --disable-dvdread --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a --language=zh_CN --disable-armv5te --disable-armv6 --with-extraincdir=/usr/local/arm/3.4.1/lib/include --with-extralibdir=/usr/local/arm/3.4.1/lib/lib --host-cc=gcc --enable-ossaudio
(2)編譯:
make
目前目錄下會生成mplayer.
第四步:将生成的mplayer拷到SD卡中,同時拷備視訊檔案如*.avi,音頻檔案如*.mp3,啟動K390機器,挂載SD卡,使用如下指令播放音視訊:
./mplayer *.avi
./mplayer *.mp3
值得注意的是,之前使用公司其他同僚編譯的mplayer,放音視訊都會很卡,使用1.0版本的mplayer後,播放音頻變得很流暢。但是播放一個512*384的AVI格式的視訊檔案時,仍然很卡。使用如下指令播放,就變得很流暢了:
./mplayer –fs –ac mad *.avi
這裡-fs表示全屏播放,即電影顯示在正中央,周圍填充黑色。-acmad表示先嘗試使用libmad,其他解碼器作為後備。