嵌入式视频播放器(mplayer)

1.文件准备:

MPlayer-1.0rc2.tar.bz2

libmad-0.15.1b.tar.gz

直接Git到本地

复制代码
git clone https://gitee.com/zxz_FINE/mplayer_tarball.git

2.文件夹准备:

src存放解压后的源码文件,target_Mplayer存放编译安装的目标文件

复制代码
mkdir src  target_Mplayer

在target_Mplayer目录下创建libmad目录,用来存放libmad的目标文件

3.移植

3.1编译libmad文件

进入libmad的源码目录里,进行裁剪配置:(注意目录的修改)

复制代码
./configure CC=arm-linux-gcc --host=arm-linux --disable-shared --disable-debugging --prefix=/home/zxz/jz2440/Mplayer/target_Mplayer/libmad

然后make编译

若是出现: cc1: error: unrecognized command line option "-fforce-mem"

修改Makefile文件,找到 -fforce-mem,并删除掉后再次编译和安装

复制代码
make
make install
3.2编译mplayer文件

(1)进入源码目录下,配置:

复制代码
./configure --host-cc=gcc --cc=arm-linux-gcc --target=arm-linux --enable-fbdev --enable-static --disable-dvdread --disable-live --disable-mp3lib --enable-mad --disable-win32dll --disable-mencoder --disable-ivtv --disable-dvdnav --disable-dvdread-internal --disable-libdvdcss-internal --enable-libavcodec_a --prefix=/home/zxz/jz2440/Mplayer/target_Mplayer>&1 | tee logfile

./configure 对MPlayer-1.0rc4 进行剪裁(将一些不需要的文件关闭),其中 --prefix表示后面运行的文件生成的路径我将其放入 目标目录下(生成的文件有:bin、etc、lib、share)

(2)vim打开config.mak文件,并修改,编译libmad库生成文件夹lib下的库函数是需要使用的,但是在配置这一点并没有被修改,所以要将该路径指出来。

(3) 修改 MPlayer-1.0rc4/libmpeg2/motion_comp_arm_s.S文件和libavcodec/armv4l/dsputil_arm_s.S文件

在文件的开头都添加内容如下:

复制代码
#ifndef HAVE_PLD
.macro pld reg
.endm
#endif

(4)修改Makefile文件:

install带-s 参数时会自动调用strip来strip应用程序。但是arm编译时要调用arm-linux-strip才有正确处理。解决办法是取消-s参数,在Makefile的install部分前面加入:

INSTALLSTRIP := #将其置为空即可

(5)执行:

make 编译

make install运行安装

安装成功后,在mplayer目录下存在四个文件夹,分别为:bin、etc、lib、share

bin目录中,存在mplayer可执行文件(最终得到的结果,可直接供开发板使用)

(6)开发板上测试

复制代码
mplayer test.mp4 -zoom -x 480 -y 272
相关推荐
我叫珂蛋儿吖19 分钟前
[redis进阶六]详解redis作为缓存&&分布式锁
运维·c语言·数据库·c++·redis·分布式·缓存
头疼的程序员21 分钟前
linux入门学习(介绍、常用命令、vim、shell)
linux·vim
lix的小鱼27 分钟前
安装Hadoop并运行WordCount程序
大数据·linux·hadoop
Kaede635 分钟前
如何选择合适的服务器操作系统
运维·服务器
无名38735 分钟前
用 openssl 测试 tls 连接
运维·服务器
Johny_Zhao43 分钟前
Ubuntu安装部署Zabbix网络监控平台和设备配置添加
linux·网络·mysql·网络安全·信息安全·云计算·apache·zabbix·shell·yum源·系统运维·itsm
新知图书1 小时前
音频特征工具Librosa包的使用
音视频·mamba
chennalC#c.h.JA Ptho1 小时前
kubuntu系统详解
linux·数据库·经验分享·postgresql·系统安全
熙曦Sakura1 小时前
【Linux网络】HTTPS
linux·网络·https
铁锚1 小时前
一个WordPress连续登录失败的问题排查
java·linux·服务器·nginx·tomcat