嵌入式视频播放器(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
相关推荐
ai产品老杨1 小时前
打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程的智慧工业开源了
人工智能·开源·音视频·能源
磊灬泽3 小时前
【日常错误】鼠标无反应
linux·windows
知白守黑2673 小时前
Ansible角色
运维·服务器·ansible
Jwest20213 小时前
工业显示器在地铁电力监控与运维中的应用
运维·计算机外设
Miracle&7 小时前
2.TCP深度解析:握手、挥手、状态机、流量与拥塞控制
linux·网络·tcp/ip
专注API从业者8 小时前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
Ribou8 小时前
Ubuntu 24.04.2安装k8s 1.33.4 配置cilium
linux·ubuntu·kubernetes
tan180°9 小时前
Boost搜索引擎 网络库与前端(4)
linux·网络·c++·搜索引擎
非凡ghost10 小时前
FxSound:提升音频体验,让音乐更动听
前端·学习·音视频·生活·软件需求
Mr. Cao code10 小时前
Docker:颠覆传统虚拟化的轻量级革命
linux·运维·ubuntu·docker·容器