mini2440 移植 mplayer Mp4播放器

友善Mini2440移植MP4播放器

开发环境:

操作系统:Red Hat <?xml:namespace prefix = st1 />Enterprise Linux 5

Linux内核版本:2.6.18-164.el5

硬件平台:mini2440 By友善之臂

Arm-Linux-Gcc交叉编译环境:arm-linux-gcc-4.4.3.tar.gz点击下载

MP4视频播放器所需软件包

arm-linux-gcc-4.4.3.tar.gz点击上面下载

libstdc++.so.6.0.10 点击下载

MPlayer-1.0rc2.tar.gz可以去官方http://www.mplayerhq.hu/design7/dload.html下载最新版本

官方还有皮肤,文字库等等,可以根据需要下载。

建立交叉编译环境

首先要做的

# rm –rf /usr/lib/libstdc++.so.6

把下载到的libstdc++.so.6.0.10复制到/usr/lib/下(#cplibstdc++.so.6.0.10  /usr/lib/)

#cd /usr/lib/

建立链接软链接(# ln -s /usr/lib/libstdc++.so.6.0.10 /usr/lib/libstdc++.so.6)

查看链接是否成功(#strings  /usr/lib/libstdc++.so.6 | grep GLIBCXX)之下如果出现

GLIBCXX_3.4.9

GLIBCXX_3.4.10

则表示链接成功!祝贺你,Let’s go on!

建立交叉编译环境

在虚拟机任意目录下建立文件夹如:mp4

(#mkdir /mp4)

将arm-linux-gcc-4.4.3.tar.gz压缩文件复制到/mp4

(#cp arm-linux-gcc-4.4.3.tar.gz /mp4)

解压缩文件arm-linux-gcc-4.4.3.tar.gz

(#cd /mp4)

(#tar xvzf arm-linux-gcc-4.4.3.tar.gz -C /)

 

修改文件在/etc/profile文件下添加交叉编译器的路径export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin

#gedit /etc/profile在文件最后添加交叉编译器的绝对路径export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin

然后保存退出。source /etc/profile (使配置文件快速生效,不必注销或者重启登录)

测试交叉编译器是否搭建正确,写一个简单的C文件,用交叉编译器编译,file编译结果如果看到Hello:ELF23-bit LSB executable,ARM,…字样,恭喜你!成功了,Go On!

至此,最主要的交叉编译环境已经搭建成功!

编译安装MPlayer

在/GuqSir/MP4文件夹下建立myplayer文件夹

(#cd //GuqSir/MP4 #mkdir myplayer))

把下载的MPlayer-1.0rc2.tar.gz压缩包复制到/GuqSir/MP4/myplayer并解压.

(#cp MPlayer-1.0rc2.tar.gz/GuqSir/MP4/myplayer)

(#cd /GuqSir/MP4/myplayer)

(#tar jvxf MPlayer-1.0rc2.tar.bz2)

进入/GuqSir/MP4/mplayer/MPlayer-1.0rc2文件夹执行如下命令:

(#cd /GuqSir/MP4/mplayer/MPlayer-1.0rc2)

(#./configure --host-cc=gcc --cc=arm-linux-gcc --target=arm  --enable-static --disable-win32dll --disable-dvdread --disable-dvdread-internal --disable-dvdnav --disable-libdvdcss-internal --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --disable-ivtv --disable-mad --enable-libavcodec_a --language=zh_CN --disable-live 2>&1 | tee logfile)

注释:

MPlayer不支持常见的--host来修改编译工具前缀.必须用--cc,--ar,--ranlib这样参数来修改.

--disable-mp3lib是关闭默认的MP3解码库,--disable-mad是使用libmad支持.--disable-dvbhead --disable-dvdread --disable-dvdnav  --disable-dvdread-internal 都是DVD相关库--enable-fbdev  打开framebuffer支持.ARM开发板必须的. --enable-static如果使用静态编译尺寸大约是8M,动态编译是6M多,这样可能是无论哪种编译方式,mplayer都把自带的解码库链接到自身,多出2M应该是系统标准库的尺寸。

警告:如果不加--disable-ivtv会出现ivtv文件产生的错误。

--enable-static如果使用静态编译尺寸大约是8M,动态编译是6M多,这样可能是无论哪种编译方式,mplayer都把自带的解码库链接到自身,多出2M应该是系统标准库的尺寸。

执行完以上命令后执行make命令,make时会遇到错误,不支持pld[r1]指令

解决方法:

(#gedit/GuqSir/MP4/myplayer/MPlayer-1.0rc2/libmpeg2/motion_comp_arm_s.S)文件

 (#gedit /GuqSir/MP4/myplayer/MPlayer-1.0rc2/libavcodec/armv4l/dsputil_arm_s.S)

两个文件的开始处定义

#ifndef HAVE_PLD

.macro pld reg

.endm

#endif

执行make命令:

执行完make命令后/GuqSir/MP4/myplayer/ MPlayer-1.0rc2中的mplayer已经有了。

把/GuqSir/MP4/myplayer/MPlayer-1.0rc2文件夹中的mplayer通过tftp软件下载到开发板中任意位置(在此提议可以把mplayer文件放到/usr/bin中因为MP3播放器就在其中)并向开发板中下载一个视频到/usr/bin如test.avi

在开发板中执行./mplayer test.avi -framedrop -quiet -vf rotate=1,scale=240:320命令就可以在开发板上看见视频了,还有声音。

(#cd /usr/bin)

(#./mplayer test.wmv -framedrop -quiet -vf rotate=1,scale=240:320)

 

至此向s3c2440移植MP4视频播放器已经完全成功!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值