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
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值