Mplayer 在at9g45上的移植步驟
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上的移植步驟