欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

imx6ull移植mplayer

程序员文章站 2022-03-10 16:22:49
...

linux开发板播放许嵩的温泉


本文在imx6ul上移植mplayer

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、编译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
依次输入

make
make install

进行编译,编译完成后,打开arm-zlib文件夹如下图所示
imx6ull移植mplayer
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
更改完成后输入make install安装Mplayer到上述配置的arm-Mplayer文件夹中。
imx6ull移植mplayer
打开arm-Mplayer文件夹,结果如图所示
imx6ull移植mplayer
bin 目录下有一个叫做“mplayer”的可执行文件,这就是我们需要的 mplayer
播放器!
imx6ull移植mplayer
将其拷贝到开发板根文件系统的/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