1. 程式人生 > >Mplayer 在at9g45上的移植步驟

Mplayer 在at9g45上的移植步驟

oom med 步驟 deb left elf -h 運行時 enc

Mplayer 移植步驟

系統芯片為atsam9g45

一 下載 libmad-0.15.1b.tar.gz 和 MPlayer-1.0rc2.tar.bz2

二 安裝libmad

解壓 libmad-0.15.1b.tar.gz 在任意文件夾,

1 cd libmad-0.15.1b

2 ./configure --prefix=/tmp/mplayer --enable-fpm=arm --host=arm-linux --disable-debugging --enable-shared --enable-static CC=arm-none-linux-gnueabi-gcc

3 make

4 make install

5 將生成的lib下的文件拷貝到/opt/arm-2014.05/arm-none-linux-gnueabi/libc/usr文件夾下,

準備編譯mplayer

6 將生成的lib下的文件拷貝到設備/usr/lib下。以便mplayer運行時調用

三 移植alsa

1 下載 alsa-lib-1.0.22.tar.bz2

2 ./configure --host=arm-none-linux-gnueabi --enable-shared --disable-python --prefix=/usr/

3 make、make install

4 將生成三alsa-lib include alsa-share 文件夾下的文件拷貝到

/opt/arm-2014.05/arm-none-linux-gnueabi/libc/usr對應的文件夾下,準備編譯mplayer

5 將 amixer 拷貝到設備 /usr/bin

6 設置聲卡,在啟動初始化文件/etc/init.d/S60self中添加:

amixer cset numid=89,iface=MIXER,name=‘Master Left Inv Switch‘ on

amixer -c 0 sset ‘Master‘,0 100%,100% unmute

amixer cset numid=15,iface=MIXER,name=‘PCM Playback Switch‘ on

amixer cset numid=16,iface=MIXER,name=‘PCM Playback Volume‘ 60 unmute

7 設備已經有生成的各個庫文件,所以不用拷貝。如果沒有則需拷貝到對應的目錄:

/usr/share /usr/lib /usr/include等

四 安裝 mplayer

解壓 MPlayer-1.0rc2.tar.bz2 在任意文件夾

1 cd MPlayer-1.0rc2

2 ./configure --prefix=/usr --cc=arm-none-linux-gnueabi-gcc --target=arm-linux --disable-win32dll --disable-dvdread --disable-dvdread-internal --disable-dvdnav --disable-libdvdcss-internal --disable-mencoder --disable-mp3lib --disable-armv5te --disable-armv6 --enable-fbdev --enable-mad --enable-libavcodec_a --enable-libavcodec_mpegaudio_hp --disable-iconv --enable-linux-devfs --disable-ivtv --language=zh_CN --enable-cross-compile --enable-real --enable-alsa --disable-ossaudio --host-cc=gcc --disable-live --with-extraincdir=/usr/include --with-extralibdir=/usr/lib 2>&1|tee logfile

註意:不要靜態編譯--enable-static

3 make

4 make install 會提示一個錯誤,不用管

5 將/tmp/mplayer/bin下的mplayer 拷貝到設備 /usr/bin 目錄下

五 運行

將視頻壓縮成 .avi格式,這種格式播放會快一些,不容易卡頓,執行以下命令播放

mplayer -fs -zoom -x 640 -y 480 -cache 81920 -framedrop -nosound xyq2.swf

-x –y 指播放窗口大小,需要跟視頻壓縮時保持一致,這樣不容易卡頓。

問題:

1 圖像紅色和藍色相反

解決方法:打開文件:MPlayer-1.0rc2\libswscale\swscale.c

在2054行加入 dstFormat = PIX_FMT_RGB24; 強制將bgr24替換成rgb24 就可解決這個問題

2 avi格式視頻不要壓高清的,每秒幀數可以壓縮到8,不然播放會卡

3 播放緩沖區需要開大點,播放不卡,但是,開大了,加載視頻就變慢了

Mplayer 在at9g45上的移植步驟