当前位置: 首页 > news >正文

嵌入式视频播放器(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

http://www.lryc.cn/news/271362.html

相关文章:

  • 对房价数据集进行处理和数据分析
  • BERT的学习
  • 数据结构OJ实验9-图存储结构和遍历
  • 20231226在Firefly的AIO-3399J开发板上在Android11下调通后摄像头ov13850
  • 0101包冲突导致安装docker失败-docker-云原生
  • 【力扣100】17.电话号码的字母组合
  • 2023。
  • 出现 Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value解决方法
  • Linux--批量自动装机
  • 病理HE学习贴(自备)
  • 关于协同过滤算法在物联网的应用-基于用户行为数据和物联网设备数据,以此提供个性化的智能家居控制推荐服务
  • 计算机网络(6):应用层
  • ESP32:整合存储配网信息和MQTT笔记
  • nginx源码分析-4
  • 【Unity美术】Unity工程师对3D模型需要达到的了解【二】
  • 《微信小程序开发从入门到实战》学习六十九
  • 2022年全球软件质量效能大会(QECon北京站2022)-核心PPT资料下载
  • ILI9481 TFT3.5寸屏STM32F446ZEXX FMC驱动方式详解
  • 010、切片
  • 【华为数据之道学习笔记】8-6 质量改进
  • python多环境管理工具——pyenv-win安装与使用教程
  • Excel报表框架(ExcelReport)极简化解决复杂报表导出问题
  • 常用设计模式全面总结版(JavaKotlin)
  • Docker自建私人云盘系统
  • python replace()方法 指定替换指定字段
  • 【仅供测试】
  • C#/WPF JSON序列化和反序列化
  • Java——ArraryList线程不安全
  • 基于Java SSM框架实现健康管理系统项目【项目源码】
  • PostgreSQL16.1(Windows版本)