天天看點

Linux平台基于S3C2440的MPlayer的移植

在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,其他解碼器作為後備。