操作环境
主机操作系统:fedora 12 i686
开发板: 友善之臂 mini2440 (内核版本为2.6.32.2)
交叉编译器:arm-linux-gcc(版本号:4.3.2)
移植过程
- 到mplayer官网下载最新mplayer源码包,下载地址为http://www.mplayerhq.hu/MPlayer/releases/mplayer-checkout-snapshot.tar.bz2
- 下载后解压缩
- 进入解压缩得到的目录,我的为:mplayer-checkout-2010-04-03
- 输入如下命令:
./configure --host-cc=gcc --cc=arm-linux-gcc --target=arm-linux --enable-static --disable-win32dll --disable-dvdread --disable-dvdread-internal --disable-dvdnav --disable-libdvdcss-internal --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a --disable-live --prefix=/opt
注 :我把生成的mplayer安装到/opt目录,这个目录我通过nfs共享给开发板了。 - 再编译,输入如下命令
make
注:这里应该会出错,在libmpeg2/motion_comp_arm_s.S文件的最前面加上如下的内容:
#ifndef HAVE_PLD
.macro pld reg
.endm
#endif
再make时,应该不会出错了。 - 安装时,输入如下命令
make install
注 :这里会提示,不能更改权限的错误,不用理它 - 手动更改一下生成的mplayer权限设置,命令如下:
chmod 755 /opt/bin/mplayer
注:这里要有root权限才行 - 在/opt/etc/mplayer/中新建一个mplayer.conf文件,其内容如下:
vo=fbdev2
ao=oss
framedrop = yes
joystick = no
vf=rotate=2,scale=240:320 - 通过网络或串口,远程登录到板子的系统,进行如下操作
- 挂载主机nfs共享的/opt目录,命令如下:
mount -t nfs -o nolock 主机ip :/opt /opt - 设置一下PATH环境变量,命令如下:
export PATH="/opt/bin:$PATH" - 测试一下,呵呵,找个240*320的视频,把视频放到/opt下,我找的是"星月神话",不过很可惜,这个视频里面没有出现素素,相关命令如下:
mplayer 视频名
- 挂载主机nfs共享的/opt目录,命令如下:
补充说明:
- 这里没有加入SDL的支持
- 由于s3c2440这款arm处理器性能并不算太高,在播放高分辨率视频时会很卡。我已经通过工具把测试时的视频转换成了240*320的视频。此外,在测试时,发现播放常见格式视频没有任何问题。
- 目前,还有一个问题没有解决,这里移植的mplayer在播放时,声音很大,输入相关命令调声音大小,貌似不算正常。不过通过以上的工作,可以板子上看视频听音乐啦,也是件高兴的事。