linux开发板播放许嵩的温泉
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文件夹用来保存编译结果,最终文件夹内容如下图所示
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文件夹的路径
依次输入
make
make install
进行编译,编译完成后,打开arm-zlib文件夹如下图所示
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”命令会失败!
如下图所示
更改完成后输入make install安装Mplayer到上述配置的arm-Mplayer文件夹中。
打开arm-Mplayer文件夹,结果如图所示
bin 目录下有一个叫做“mplayer”的可执行文件,这就是我们需要的 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文件不管传入什么数据都会被丢弃。