主题 : Mini2440下Mlayer移植成功 复制链接 | 浏览器收藏 | 打印
数风流人物,还看今朝!
级别: 新手上路
UID: 30593
精华: 0
发帖: 25
金钱: 125 两
威望: 25 点
贡献值: 0 点
综合积分: 50 分
注册时间: 2010-10-19
最后登录: 2012-01-04
楼主  发表于: 2010-12-23 09:28

 Mini2440下Mlayer移植成功

硬件平台: RedHat Linux 5、mini2440(arm9)开发板
软 件:arm-Linux-gcc-4.4.3(注意:交叉编译器使用前需注意测试是否可以正常使用,此版本很可能会测试报错(可能是版本较高的问题吧),解决方法是:根据提示修改一个连接,删除/usr/lib下的libstdc++.so.6,下载libstdc++.so.6.0.10到/usr/lib中,在/usr/lib目录下写命令:ln –s libstdc++.so.6.0.10 libstdc++.so.6建立新连接)
一、首先编译安装库文件
1. 下载库文件libmad-0.15.1b.tar.gz并解压到 /mywork/libmad
2. cd /mywork/libmad/libmad-0.15.1b
3. ./configure CC=arm-linux-gcc --host=arm-linux --disable-shared --disable-debugging --prefix=/tmp/libmab/mad
4. make
完成之后会出现错误,找到Makefile并删除“--fforce-mem”就OK了, 原因是gcc 4.4.3已经将其去除了,所以会出现上面的错误
5. make install
二、编译安装MPlayer
6. 下载MPlayer-1.0rc2.tar.gz解压到/mywork/mplayer中。
7. cd /mywork/mplayer/MPlayer-1.0rc2
8. ./configure --prefix=/tmp/mplayer --disable-mencoder --enable-linux-devfs --disable-iconv --enable-network --disable-live --disable-dvdnav --disable-dvdread --disable-dvdread-internal --disable-libdvdcss-internal --enable-ftp --enable-libavcodec_a --enable-libavcodec_mpegaudio_hp --enable-mad --disable-mp3lib --disable-ivtv --enable-fbdev --enable-ossaudio --enable-cross-compile --cc=arm-linux-gcc --host-cc=gcc --target=arm-linux --enable-static --with-extraincdir=/tmp/libmab/mad/include --with-extralibdir=/tmp/libmab/mad/lib 2>&1 |tee logfile
注意:如果不加–disable-ivtv会出现ivtv文件产生的错误。
 MPlayer不支持常见的--host来修改编译工具前缀.必须用--cc,--ar,--ranlib这样参数来修改.
 --disable-mp3lib是关闭默认的MP3解码库,--enable-mad 是使用libmad支持.
 --disable-dvbhead --disable-dvdread --disable-dvdnav --disable-dvdread-internal 都是跟DVD相关库
 --enable-fbdev 打开framebuffer支持.ARM开发板必须的.
 --enable-static 如果使用静态编译尺寸大约是8M,动态编译是6M多,这样可能是无论哪种编译方式,mplayer都把自带的解码库链接到自身,多出2M应该是系统标准库的尺寸。
 --enable-static 设置静态连接
 --disable-mencoder 禁止编码功能
 --disable-live 禁止live 555流媒体(我也不知道是什么玩意儿。。。)
 --enable-libavcodec_a 启用静态的libavcodec解码
9. 在make之前修改两个地方,否则会出现不支持pld [r1]指令的问题
在MPlayer-1.0rc2/libmpeg2/motion_comp_arm_s.S文件
和MPlayer-1.0rc2/libavcodec/armv4l/dsputil_arm_s.S文件的开始处写入
#ifndef HAVE_PLD
.macro pld reg
.endm
#endif
然后make
10. make install
会出现一个错误,可以不管它,因为此时mplayer已经出来了,也就是说已经成功了。。。。
11. 把mplayer通过tftp软件传到开发板中,在传一个视频文件eg:new.avi
12. 输入./mplayer new.avi -framedrop -quiet -vf rotate=1,scale=240:320测试
为什么没有声音呢???上网查询解决……….
解决方法:
mkdir -p /dev/sound
ln -s /dev/dsp /dev/sound/
原因:目标系统上有 /dev/dsp 音频设备文件,只是OSS音频驱动需要的是 /dev/sound/dsp 设备文件,这问题的简单解决方法是建一个符号链接,当然这两条命令可以写在系统的启动文件的适当位置,即修改系统的/etc/init.d/rcS文件。
相信自己,噢噢噢...
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2010-12-23 09:46
多谢分享
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
数风流人物,还看今朝!
级别: 新手上路
UID: 30593
精华: 0
发帖: 25
金钱: 125 两
威望: 25 点
贡献值: 0 点
综合积分: 50 分
注册时间: 2010-10-19
最后登录: 2012-01-04
2楼  发表于: 2010-12-23 16:17
互相学习嘛
相信自己,噢噢噢...
级别: 新手上路
UID: 34968
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
贡献值: 0 点
综合积分: 10 分
注册时间: 2010-12-23
最后登录: 2011-01-07
3楼  发表于: 2010-12-23 21:29
你这个能不能播放rmvb啊  我为这事 搞好几天了  还是不能
数风流人物,还看今朝!
级别: 新手上路
UID: 30593
精华: 0
发帖: 25
金钱: 125 两
威望: 25 点
贡献值: 0 点
综合积分: 50 分
注册时间: 2010-10-19
最后登录: 2012-01-04
4楼  发表于: 2010-12-24 09:26
播放rmvb好像缺少库,不过我看到有人做出来过,你可以上网查一下相关资料
相信自己,噢噢噢...
级别: 新手上路
UID: 98423
精华: 0
发帖: 27
金钱: 140 两
威望: 28 点
贡献值: 0 点
综合积分: 54 分
注册时间: 2013-11-26
最后登录: 2017-09-13
5楼  发表于: 2014-02-12 15:13
楼主:

我在smart210的开发板上也移植成功了,但是我在smart210上的声音怎么弄出来呢?????