Linux----Mplayer音视频库的移植
想要播放视频音乐就得移植相关库到板子上
Mplayer移植需要依赖以下源文件:(从官网获取或者网上)
1、zlib-1.2.3.tar.gz :通用的内存空间的压缩库。
2、libpng-1.2.57.tar.gz :png格式图片的压缩或解压库
3、Jpegsrc.v9b.tar.gz : jpeg格式图片的压缩或解压库
4、alsa-lib-1.1.0.tar.bz2 :alsa音频库--处理声音的
5、fftw-3.3.4.tar.gz: 傅里叶变换库--算法库
6、MPlayer-1.3.0.tar.gz:Mplayer音视频播放源码
//1、zlib-1.2.3.tar.gz :通用的内存空间的压缩库。
以下三步:(其他5个库也一样)
①configure配置:(在ubuntu上 该解压后的库的目录路径下的终端上运行以下代码)
CC=aarch64-linux-gnu-gcc \
./configure --prefix=/home/edu118/rk3399/rk/xiangmu/install \
--libdir=/home/edu118/rk3399/rk/xiangmu/install/lib \
--includedir=/home/edu118/rk3399/rk/xiangmu/install/include \
--shared
②配置完后再make -j8编译一下
③再make install -j8 运行一下动态文件
//2、libpng-1.2.57.tar.gz :png格式图片的压缩或解压库
./configure --prefix=/home/edu118/rk3399/rk/xiangmu/install \
CC=aarch64-linux-gnu-gcc --host=aarch64-linux-gnu \
--enable-shared --enable-static \
CPPFLAGS=-I/home/edu118/rk3399/rk/xiangmu/install/include \
LDFLAGS=-L/home/edu118/rk3399/rk/xiangmu/install/lib \
LIBS=-lz
//3、libjpeg源码包移植
./configure --prefix=/home/edu118/rk3399/rk/xiangmu/install \
CC=aarch64-linux-gnu-gcc --host=aarch64-linux-gnu \
--enable-shared --enable-static
//4、fftw源码包移植 ---傅里叶变换算法
./configure --prefix=/home/edu118/rk3399/rk/xiangmu/install \
CC=aarch64-linux-gnu-gcc --host=aarch64-linux-gnu \
--enable-shared --enable-static
//5、alsa-lib源码包移植(音频库)
./configure --prefix=/home/edu118/rk3399/rk/xiangmu/install \
CC=aarch64-linux-gnu-gcc --host=aarch64-linux-gnu \
--disable-python
//6、Mplayer源码包移植---开发--需要使用的对应库API函数
./configure --prefix=/home/edu118/rk3399/rk/xiangmu/install \
--cc=aarch64-linux-gnu-gcc --host-cc=gcc \
--target=aarch64-linux-gnu \
--enable-cross-compile --enable-fbdev \
--enable-png --enable-jpeg --enable-alsa --enable-ossaudio \
--disable-x264-lavc --disable-freetype --disable-fontconfig \
--extra-cflags="-I/home/edu118/rk3399/rk/xiangmu/install/include -DHAVE_ARMV8=0" \
--extra-ldflags="-L/home/edu118/rk3399/rk/xiangmu/install/lib/" \
--extra-libs="-lasound -ljpeg -lpng" 2>&1 |tee logfile
//configure配置好了后,make -j8 编译的时候出现了错误,需要修改config.mak文件,删除第33行的 ‘ -s '
Mplayer播放(在超级终端运行)
- mplayer播放器简单启动测试(第一种方法)
- 在开发板串口终端进行播放视频测试
参数说明:
rotate=1 参数表示把屏旋转90度,可根据播放的视频尺寸关系决定是否旋转
-vo fbdev2 表示指定使用framebuffer设备显示---就是LCD设备/dev/fb0(屏幕的节点)
-ao alsa 表示使用 alsa 子系统输出声音
以下是在开发板串口终端执行的启动播放器命令(哪一条都可以),请直接复制粘贴到串口终端上执行:
下面的命令,将目前所遇到的所有情况,全部列举出来。
1)旋转90度,注意,旋转后原来的LCD屏w和h就调换了。
mplayer -vo fbdev2 -ao alsa -vf rotate=1 xm.mpg
转换完之后,x轴会变成y轴
2)放置视频在屏幕的位置---把视频放到屏幕的任意位置
mplayer -vo fbdev2 -ao alsa -geometry 0:0 xm.mpg
3)然后指定 x,y 尺寸播放视频,随意修改尺寸
mplayer -vo fbdev2 -ao alsa -zoom -x 800 -y 1280 xm.mpg
4)等比例比例缩放
mplayer -slave -quiet -vo fbdev2 -ao alsa -vf scale=480:-3 -sws 9 video.mp4
参数:说明等比例比例缩放
-vf scale=480:-3 -sws 9 :变换至480像素宽,高度按比例缩放
mplayer -vo fbdev2 -ao alsa -geometry 0:0 -vf scale=200:-3 -sws 9 qnzl.mp4 |
任意比例播放:
注意:
可以在ubuntu下创两个文件
build文件下:放解压后的库的源码
Install文件下:放配置安装的路径 所以的动态库都放在一起
然后install文件夹下创建 lib include文件 编译生成的头文件放include里
CPPFLAGS=-I/home/huzhiyuan/work/ddd/Mplayer_install/include \
LDFLAGS=-L/home/huzhiyuan/work/ddd/Mplayer_install/lib \
l---链接 z---zlib这个库 LIBS---是Makefile里面的变量
最后将bin lib 文件发送给板子(超级终端上)