Mpayer 移植笔记
` 提
例如:第一章 Python 机器学习入门之pandas的使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
MPlayer是一款开源多媒体播放器,在主流的Linux、windows、Mac OS 都能运行,主要广泛用在Linux系统上; Mplayer不仅支持图形界面、也支持命令行播放。这篇文章就介绍如何将Mplayer交叉编译移植到嵌入式开发板上运行,在命令行上正常的播放视频,LCD屏采用的帧缓冲驱动框架渲染图像。
开发板采用友善之臂的Tiny4412开发板,MCU是三星的EXYNOS4412,板子上接的LCD分辨率为800*480,帧缓冲驱动框架接口,Linux内核版本是3.5,系统不带图形界面,文件系统是采用busybox制作的最小根文件系统,整个系统比较精简。交叉编译器采用arm–fscl-linux-gcc 9.3.0版本。
一、移植libmad库
libmad是一个开源的高精度 MPEG 音频解码库。LIBMAD提供24-bit的PCM 输出,完全是定点计算,非常适合没有浮点支持的平台上使用。使用 libmad 提供的一系列 API,就可以非常简单地实现 MP3数据解码工作。在libmad 的源代码文件目录下的 mad.h文件中,可以看到绝大部分该库的数据结构和 API 等。
下载地址: http://www.linuxfromscratch.org/blfs/view/svn/multimedia/libmad.html
1.1 下载完成后,开始配置编译此库并且使用如下命令解压
tar xvf libmad-0.15.1b.tar.gz
cd libmad-0.15.1b
1.2 配置生成makefile
./configure CC="arm-fslc-linux-gnueabi-gcc -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard --sysroot=/opt/iotgw-sdk/sysroots/cortexa9t2hf-neon-fslc-linux-gnueabi/" --enable-fpm=arm --build=x86_64 --host=arm-fslc-linux-gnueabi --disable-shared --disable-debugging --prefix=/CrossCompiling/libmadoutput
出现错误后修改了CC的配置文件解决了.CC的配置主要配置编译器的参数环境.
1.3 修改Makefile
删除Makefile大约29行处的-fforce-mem。
或者直接使用命令修改:
sed -i 's/-fforce-mem/ /g' Makefile
查找文档中的-fforce-mem,然后替换成空
1.4 编译安装
使用如下命令:
make && make install
include和lib两个文件夹,对应文件夹中生成mad.h和libmad.a文件,这两个文件供mplayer编译用。
二、交叉编译MPlayer-1.3.0
下载地址: http://www.mplayerhq.hu/design7/news.html
解压安装:
tar xvf MPlayer-1.3.0.tar.gz
cd MPlayer-1.3.0
2.2 配置生成Makefile文件
./configure --prefix=/home/zhoushanlin/CrossCompiling/MPlayer/MPlayer1.2OutFile --cc="arm-fslc-linux-gnueabi-gcc -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard --sysroot=/opt/iotgw-sdk/sysroots/cortexa9t2hf-neon-fslc-linux-gnueabi/" --target=arm-linux --enable-cross-compile --disable-mencoder --disable-live --enable-alsa --enable-mad --disable-gui --disable-menu --disable-x11 --yasm="" --extra-cflags="-I/home/zhoushanlin/CrossCompiling/libmadout/include -I=/opt/iotgw-sdk/sysroots/cortexa9t2hf-neon-fslc-linux-gnueabi/usr/include" --extra-ldflags=-L/home/CrossCompiling/libmadout/lib
2.3 编译安装
make && make install
编译安装成功之后,会得到一个mplayer可执行文件,这个就是播放器的命令行程序,运行即可播放视频。拷贝依赖就是需要将mplayer命令运行时,需要的所有库文件找齐,拷贝到开发板的/lib目录下。
2.4 使用以下命令播放wav文件
mplayer -ao alsa -loop 0 -slave -quiet -fs xxx.wav >>/dev/null &
总结
以上就是今天MPlayer移植在arm平台上的过程,中间编译出现错误需要根据具体的错误类型进行修改后再编译.