首页 > 代码库 > Mplayer 在at9g45上的移植步骤

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上的移植步骤