mplayer在PC、ARM上移植

时间:2022-07-15 16:36:10

    MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布。此款软件可在各主流作业系统使用,例如Linux和其他类Unix系统、微软的视窗系统及苹果电脑的Mac OS X系统。MPlayer是建基于命令行界面,在各作业系统可选择安装不同的图形界面。mplayer的另一个大的特色是广泛的输出设备支持。它可以在X11,Xv,DGA, OpenGL,SVGAlib,fbdev,AAlib,DirectFB下工作,而且你也能使用GGI和SDL和一些低级的硬件相关的驱动模式(比如Matrox,3Dfx和Radeon,Mach64,Permedia3)。MPlayer还支持通过硬件MPEG解码卡显示,诸如DVB 和DXR3与Hollywood+。

    下载地址:

http://www.mplayerhq.hu/design7/dload.html

或:


一、编译PC版的mplayer

#tar jxvf  MPlayer-1.0rc4.tar.bz2

#mv  MPlayer-1.0rc4  MPlayer_pc

#cd  MPlayer-1.0rc4

#./configure

#make

#make install

Mplayer会被默认安装到/usr/local/bin里,在任意目录下敲mplayer即可启动mplayer

使用./mplayer file.name 即可播放指定视频或音频


二、编译ARM版的mplayer

#tar  zxvf  MPlayer-1.0rc4.tar.gz

#mv MPlayer_arm

#cd  MPlayer_arm

#./configure --host-cc=gcc --cc=arm-linux-gcc --target=armv4l--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 --language=zh_CN

#make  //会在当前文件下生成mplayer可执行程序

      

其中make会出错,需要更改mplayer_src/libmpeg2/motion_comp_arm_s.S中的代码,

#vim  mplayer_src/libmpeg2/motion_comp_arm_s.S

在最开始的地方添加:

#ifndef HAVE_PLD

.macro pld reg

.endm

#endif

保存之后,再次make,就OK了


备注:主要配置选项说明

a、--host-cc=gcc

//是用来编译一些需要在host上执行的中间文件的,如codec-cfg,出现 “codec-cfg无法运行”等错误均是因为少了这句话的原因

b、--cc=arm-linux-gcc          //指定交叉编译器

c、--target=arm-armv4l         //指定编译平台

e、--enable-static             //设定静态连接,省去考很多库的麻烦,建议添加

f、--prefix=/tmp/mplayer       //指定编译出的可执行文件放到什么地方,默认放到源文件所在文件夹下

g、 --disable-mp3lib --enable-mad

    //禁用mplayer自带的音频解码库,使用mad解码库,自带的解码库CPU占用率较高的问题,实际经验证,不加此选项,编译可以通过,但是没有什么声音输出

h、--language=zh_CN            //编译出的Mplayer版本 帮助、提示信息均为中文