imx6ull移植mplayer

linux开发板播放许嵩的温泉


本文在imx6ul上移植mplayer
软件包: https://download.csdn.net/download/qq_32605451/12510469
文件包含mplayer,zlib,alsa-lib和alsa-utils的源码

mplayer还需要alsa-lib和alsa-utils这两个东西,否则没有声音,移植方法见https://blog.csdn.net/qq_32605451/article/details/106636028

首先获取mplayer(当前最新为1.4)和zlib(当前最新版本为 1.2.11),在ubuntu新建mplayer文件夹,将下载到的zlib和mplayer复制到该目录并解压,在mplayer文件夹下新建arm-zlib和arm-Mplayer文件夹用来保存编译结果,最终文件夹内容如下图所示
imx6ull移植mplayer_第1张图片
1、编译zlib
进入zlib-1.2.11文件夹,输入

CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-ld AD=arm-linux-gnueabihf-as ./configure --prefix=/home/han/linux/tool/mplayer/arm-zlib

回车
其中/home/han/linux/tool/mplayer/arm-zlib表示上述步骤中新建的arm-zlib文件夹的路径imx6ull移植mplayer_第2张图片
依次输入

make
make install

进行编译,编译完成后,打开arm-zlib文件夹如下图所示
imx6ull移植mplayer_第3张图片
lib 目录下的 zlib 库文件拷贝到开发板根文件系统的/lib 目录下,命令为:

sudo cp lib/* /home/han/linux/nfs/buildrootfs_qt/lib -raf

/home/han/linux/nfs/buildrootfs_qt/lib为开发板根文件系统的/lib的路径,笔者使用的是网络挂载文件系统,故路径为此,也可使用开发板挂载ubuntu来讲文件复制到开发板文件系统的lib目录下。
2、移植mplayer
进入MPlayer-1.4目录,打开终端,输入以下内容:

./configure --cc=arm-linux-gnueabihf-gcc --host-cc=gcc --target=arm-linux-gnueabihf --disable-ossaudio --enable-alsa --prefix=/home/han/linux/tool/mplayer/arm-Mplayer --extra-cflags=" -I /home/han/linux/tool/mplayer/arm-zlib/include -I /home/han/linux/tool/alsa/arm-alsalib/include" --extra-ldflags="-L /home/han/linux/tool/mplayer/arm-zlib/lib -Iz -L /home/han/linux/tool/alsa/arm-alsalib/lib -lasound" --enable-fbdev --disable-mencoder
make //编译

–prefix表示安装目录

--prefix=/home/han/linux/tool/mplayer/arm-Mplayer 为编译结果保存的路径即上述中新建的文件夹

–extra-cflags 指定 zlib 和 alsa-lib 的头文件路径, --extra-ldflags 指定 zlib 和 alsa-lib 的库文件路径。

extra-cflags="-I /home/han/linux/tool/mplayer/arm-zlib/include -I /home/han/linux/tool/alsa/arm-alsalib/include"

其中/home/han/linux/tool/mplayer/arm-zlib/include为zlib编译结果保存的路径
/home/han/linux/tool/alsa/arm-alsalib/include为alsa-lib编译结果保存的路径alsa移植方法上文有提

--extra-ldflags="-L /home/han/linux/tool/mplayer/arm-zlib/lib -Iz -L /home/han/linux/tool/alsa/arm-alsalib/lib -lasound"
路径含义同上

编译完成后,编译完成以后打开 config.mak 文件,找到“INSTALLSTRIP = -s”这一行,取消掉后面的“-s”,否则“make install”命令会失败!
如下图所示
imx6ull移植mplayer_第4张图片
更改完成后输入make install安装Mplayer到上述配置的arm-Mplayer文件夹中。
在这里插入图片描述
打开arm-Mplayer文件夹,结果如图所示
imx6ull移植mplayer_第5张图片
bin 目录下有一个叫做“mplayer”的可执行文件,这就是我们需要的 mplayer
播放器!
imx6ull移植mplayer_第6张图片
将其拷贝到开发板根文件系统的/bin 目录下,命令为

sudo cp mplayer /home/han/linux/nfs/buildrootfs_qt/bin/ -f

打开开发板终端
输入mplayer -h测试是否移植完成,
找一个视频文件,用格式工厂将视频转换为800*480,10帧的文件复制到开发板文件系统,
输入mplayer 文件名,查看视频是否正常播出

mplayer -loop 0 wenquan.mp4 < /dev/null > /dev/null 2>1 &

后台播放wenquan.mp4
符号 < 为重定向符,< /dev/null > /dev/null 2>1 表示将输入输出信息、错误信息都重定向到/dev/null文件,/dev/null文件不管传入什么数据都会被丢弃。

你可能感兴趣的:(linux)