mplayer移植-迅为IMX6Q开发板
2025-09-08 来源:cnblogs
0 1 mplayer简介
mplayer是一款开源多媒体播放器,以gnu通用公共许可证发布。它资源占用率低,无论是音频还是视频方面,支持的格式相当全面,支持的输出设备也很多,可以在各种主流操作系统中使用。
移植环境:Ubuntu12
开发板:迅为i.MX6Q(别的开发板也可以)
编译器:arm-none-linux-gnueabi-gcc(4.4.1)
准备库:libmad-0.15.1b、alsa-lib-1.0.22、MPlayer-1.0rc3
0 2 交叉编译libmad
移植mplayer之前要先移植libmad库。libmad-0.15.1b的编译非常简单,我们直接在libmad这个文件目录下我们创建一个脚本,然后输入以下代码并执行这个脚本
#!/bin/sh
./configure
--prefix=/usr/local/mplayerlibexit
--enable-fpm=arm
--host=arm-linux
--disable-debugging
--enable-shared
--enable-static
CC=arm-none-linux-gnueabi-gcc
exit
执行脚本成功以后,我们打开Makefile,找到-fforce-mem,然后删除他,如下图所示:
最后我们保存退出,直接make,make install就可以直接编译和安装了。安装成功如下图所示:
0 3 交叉编译alsa
我们直接在alsa这个文件目录下我们创建一个脚本,然后输入以下代码并执行这个脚本:
#!/bin/sh
./configure
--host=arm-linux
CC=arm-none-linux-gnueabi-gcc
--enable-shared
--disable-python
--prefix=/usr/local/mplayerlib
exit
配置完Makefile文件以后,然后依次使用make和make install就可以啦。
0 4 交叉编译MPlayer
我们直接在MPlayer这个文件目录下我们创建一个脚本,然后输入以下代码并执行这个脚本:
#!/bin/sh
./configure
--prefix=/usr/local/Mplayer
--disable-mencoder
--disable-live
--disable-mp3lib
--disable-win32dll
--disable-dvb
--disable-dvdread
--disable-dvdnav
--disable-dvdread-internal
--disable-tv
--disable-ivtv
--enable-fbdev
--disable-sdl
--cc=arm-none-linux-gnueabi-gcc
--host-cc=gcc
--target=arm-linux
--enable-mad
--enable-alsa
--enable-cross-compile
--enable-armv5te
--extra-cflags='-I/usr/local/mplayerlib/include -I/usr/local/mplayerlibexit/include'
--extra-ldflags='-L/usr/local/mplayerlib/lib -L/usr/local/mplayerlibexit/lib'
exit
配置完Makefile之后,我们打开config.mak,找到里面的INSTALLSTRIP,删掉后面的-s,如下图所示:
修改完成以后,依次使用make和make install就可以啦。编译成功如下图所示:
然后我们在bin文件夹下就可以看到我们想要的播放器啦。
测试
将编译生成的mplayer和测试文件test.mp4和miss.mp3拷贝到开发板,启动开发板,连接耳机。
使用以下命令测试播放音频。
./mplayer /root/Documents/miss.mp3
使用以下命令测试播放视频,测试视频的时候要连接显示屏。
./mplayer -fs -zoom -x 480 -y 272 test.mp4
如下图所示:
好物推荐-IMX6Q开发板
迅为IMX6Q板卡有工业级和商业级俩种版本,连接类型有邮票孔和连接器俩种。并且在轨道交通,电器设备,控制工业,车载电脑等领域均有批量应用,均高稳定呈现。提供终身技术支持,超长生命周期,产品无忧~
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




