Mplayer移植

编者按:做个项目需要用到mplayer播放器,现做一个Mplayer移植的记录

参考资料:
Mplayer 移植(华清远见):http://emb.hqyj.com/Column/Column356.htm
嵌入式 Mplayer的移植、使用(Liang):https://blog.csdn.net/nanfeibuyi/article/details/82657631
MINI2440下Mplayer移植(百度文库):https://wenku.baidu.com/view/9106e4505022aaea988f0f47.html

1. 下载软件包

下载MPlayer:MPlayer-1.0rc2.tar.bz2:http://www.mplayerhq.hu/MPlayer/releases/在这里插入图片描述
下载解码库libmad-0.15.0b.tar.gz:http://www.linuxfromscratch.org/blfs/view/svn/multimedia/libmad.html
在这里插入图片描述

2. 配置安装libmad

(如果不先配置安装libmad,则在make mplayer时出现找不到mad.h 错误)
首先解压压缩包

tar -xzvf libmad-0.15.1b.tar.gz

(1)创建目录:/opt/myplayerarm/lib 用来存放生成的头文件和库文件
(2)检查、配置命令
./configure --enable-fpm=arm --host=arm-none-linux-gnueabi --disable-shared --disable-debugging --prefix=/opt/mplayerarm/lib/ CC=arm-none-linux-gnueabi-gcc

./configure --enable-fpm=arm --host=arm-none-linux-gnueabi --disable-shared --disable-debugging --prefix=/opt/mplayerarm/lib/ CC=arm-none-linux-gnueabi-gcc

参数解析:
–enable-fpm=arm
–host=arm-none-linux-gnueabi
–disable-shared
–disable-debugging
–prefix=/home/linux/libmad(make install 安装路径,选择自己想要的路径即可)
CC=arm-none-linux-gnueabi-gcc(4.3.2的交叉编译工具链)
//可以使用arm-linux-gcc -v查看自己的交叉编译环境。如果没有请转到 MINI2440下Mplayer移植(百度文库)。target后面的就是要写的交叉编译工具链
在这里插入图片描述

(3) 编译

make

注意如果出现error:unrecognized command line option "-fforce-mem"错误,需要修改makefile,去掉–fforce-mem标志

vim Makefile

修改Makefile 去掉129行 -fforce-mem 标志,因为arm-eabi编译器都不支持这个选项 。

(4) 生成相应的头文件、库文件

make install

此时会在/home/linux目录下生成include目录和lib目录。
其中liclude目录下有文件 mad.h
lib 目录有文件 libmad.a libmad.la
在这里插入图片描述

3. 编译生成mplayer

首先是解压压缩包

tar -xjvf MPlayer-1.0rc2.tar.bz2

(1)检查、 配置、生成对应的Makefile
./configure --prefix=/opt/mplayerarm/lib --cc=arm-none-linux-gnueabi-gcc --disable-gui --target=arm-linux --host-cc=gcc --disable-freetype --enable-fbdev --disable-mencoder --disable-sdl --disable-live --disable-dvdread --disable-libdvdcss-internal --disable-x11 --enable-cross-compile --disable-dvdnav --disable-dvdread-internal --disable-jpeg --disable-tga --disable-pnm --disable-tv --disable-ivtv --disable-fontconfig --disable-xanim --disable-win32dll --disable-armv5te --disable-armv6 --enable-static

		--host-cc=gcc         # C compiler for tools needed while building [gcc]
        --cc=arm-none-linux-gnueabi-gcc        #C compiler to build MPlayer [gcc]
        --target=arm-linux        #target platform (i386-linux, arm-linux, etc)
        --enable-static        #build a statically linked binary
        --enable-ossaudio        #enable OSS audio output [autodetect]
        --prefix=/tmp/mplayer-rc2        #prefix directory for installation [/usr/local]
        #指定链接库的路径,修改成刚刚libmad生成的库文件存放的路径即可
        --disable-win32dll         # disable Win32 DLL support [enabled]
        --disable-dvdread        #disable libdvdread [autodetect]
        --enable-fbdev        #enable FBDev video output [autodetect]
        --disable-mencoder        #disable MEncoder (A/V encoder) compilation [enable] 使能编码器编辑
        --disable-live        #disable LIVE555 Streaming Media [autodetect] 让Mpalyer不支持流媒体协议
        --disable-mp3lib        # disable builtin mp3lib [enabled]
        --enable-mad        #disable libmad (MPEG audio) support [autodetect]
        --enable-libavcodec_a        #disable static libavcodec [autodetect]
        --disable-armv5te        #disable DSP extensions (ARM) [autodetect]
        --disable-armv6        #disable ARMv6 (ARM) [autodetect]

(2)编译

make -j4   # 其中:  -j4  参数表示使用4条线程编译 

这里编译会花的时间比较长
过程中出现错误

armv4l/dsputil_arm_s.S:79:error:selected processor does not support 'pld[r1]'

MPlayer-1.0rc2/libmpeg2/motion_comp_arm_s.SMPlayer-1.0rc2/libavcodec/armv4l/dsputil_arm_s.S 的文件最开始中加入

#ifndef HAVE_PLD
.macro pld reg
.endm
#endif

具体原因请参考:【已解决】armv4l/dsputil_arm_s.S:79:error:selected
在这里插入图片描述
编译完成后得到mplayer可执行文件

3. 拷贝到开发板的/bin目录,设置可执行权限

使用ftp进行文件传输
在打开开发板,在主机中利用ftp登陆开发板。

ftp 10.0.0.10

用户名和密码都是plg

put mplayer

在这里插入图片描述
上传后的文件在plg用户的家目录,将文件复制到/bin文件夹下。
设置可执行权限:chmod 777 /bin/mplayer。
直接在命令行运行:mplayer xxx.avi (支持多种格式)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MPlayer是个好的媒体播放器,资源占用率极低,支持格式极广、输出设备支持极多,同时更为诱人的是它可以让VCD 上损坏的MPEG文件播放更流畅! 一、支持格式多 MPlayer 支持相当多的媒体格式,无论在音频播放还是在视频播放方面,可以说它支持的格式是相当全面的,完全能够胜于有名的”豪杰超级解霸”。 视频格式支持:MPEG、AVI、ASF 与WMV、QuickTime与 OGG/OGM、SDP、PVA、GIF。 音频格式支持:MP3、WAV、OGG/OGM 文件(Vorbis)、WMA与 ASF、MP4、CD音频、XMMS。 由于它支持播放音频文件和视频文件比较多,这样一来用户完全只用选择一个播放器即可。笔者曾在使用Windows Media Player时,听音频文件一切正常,但再用它播放一些视频文件时,它却弹出不可识别的格式,使我不得不再安装其它的视频播放器。所以说有了它就不用再安装其它的媒体播放器啦! 二、支持输出设备广 MPlayer的另一个大的特色是支持广泛的输出设备。它可以在X11、Xv、DGA、OpenGL、SVGAlib、fbdev、AAlib、DirectFB下工作,而且你也能使用 GGI、SDL(由此可以使用它们支持的各种驱动模式)和一些低级的硬件相关的驱动模式 (比如 Matrox、3Dfx 和RADEON、Mach64、Permedia3)!它们大多数支持软件或者硬件缩放,因此你能在全屏下观赏电影。同时,MPlayer 还支持通过硬件MPEG解码卡显示,诸如DVB 和DXR3与Hollywood 。支持匈牙利语、英语、捷克语、西里尔语等等,韩语字体的清晰放大并且反锯齿的字幕,可以说它在这一方面堪称一绝。 三、让损坏的MPEG文件流畅播放 这一特色应用,让笔者更是亲有体会,笔者有一张年代已久的破损VCD光碟,在其它播放器上播放效果极差,但是使用MPlayer播放器,它能够稳如泰山地播放被破坏的 MPEG 文件。不仅能播放VCD中破损的MPEG文件,同时还能播放连 Windows Media Player都打不开的已被损坏的AVI文件。甚至,没有索引部分的AVI文件都可播放,你能暂时重建它们的索引或者用MEncoder永久重建,使你能够在影片中搜索!稳定和质量都比较好,而且它的播放速度也很流畅。 总之:想在低配备计算机上流畅播放XviD/DivX不是梦!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值