Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17099
  • 博文数量: 7
  • 博客积分: 187
  • 博客等级: 入伍新兵
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-01 13:00
文章分类

全部博文(7)

文章存档

2012年(7)

我的朋友

分类: LINUX

2012-10-20 23:17:25

2010-12-16上午by  pinyue

硬件平台: 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

注意:-extralibdir=/tmp/libmab/mad/lib(include) 是上面的libmad-0.15.1b生成的库文件

注意:如果不加–disable-ivtv会出现ivtv文件产生的错误。

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

l   --disable-mp3lib是关闭默认的MP3解码库,--enable-mad 是使用libmad支持.

l   --disable-dvbhead --disable-dvdread --disable-dvdnav  --disable-dvdread-internal 都是跟DVD相关库

l   --enable-fbdev  打开framebuffer支持.ARM开发板必须的.

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

l   --enable-static 设置静态连接

l   --disable-mencoder 禁止编码功能

l   --disable-live 禁止live 555流媒体(我也不知道是什么玩意儿。。。)

l   --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 -ac mad new.avi -framedrop -quiet -vf rotate=1,scale=240:320测试

      全屏测试: mplayer -ac mad pageant\ .mp4 -framedrop -quiet -vf scale=480:272

为什么没有声音呢???上网查询解决……….

解决方法:

mkdir -p /dev/sound 
ln -s /dev/dsp /dev/sound/

原因:目标系统上有 /dev/dsp 音频设备文件,只是OSS音频驱动需要的是 /dev/sound/dsp 设备文件,这问题的简单解决方法是建一个符号链接,当然这两条命令可以写在系统的启动文件的适当位置,即修改系统的/etc/init.d/rcS文件。

 

至此MPlayer移植成功… …此移植过程参考大量水友的操作步骤,在此深表感谢!!!

阅读(436) | 评论(0) | 转发(0) |
0

上一篇:学习linux应用程序时的小小记录

下一篇:没有了

给主人留下些什么吧!~~