前言:libmad为音频解码库 MPlayer是开源多媒体播放器
源码包:
libmad源码包与移植步骤:https://download.csdn.net/download/qq_35769746/10577793
linux下mplayer播放器应用程序命令总结:https://blog.csdn.net/fz835304205/article/details/12871051
使用示例:
execl("./mplayer","mplayer","-ac","mad","-slave","-quiet","-input","file=/tmp/my_fifo",buf,NULL);
********************************************************************************************************************
mad解码包移植
1.把源码包复制到linux系统中, 解压,进入解压后目录
命令:
cp /mnt/hgfs/xxx/libmad-0.15.1b.tar.gz /tools/
cd /tools/
tar xf libmad-0.15.1b.tar.gz
cd libmad-0.15.1b/
2.配置源码包中的 configure脚本,生成Makefile
命令:
./configure CC=arm-linux-gcc --enable-fpm=arm --host=arm-linux --disable-shared --disable-debugging --prefix=$PWD/tmp
./configure CC=arm-linux-gcc --enable-fpm=arm --host=arm-linux --prefix=$PWD/tmp
3.修改Makefile
命令:
vim Makefile
修改129行:
修改前:CFLAGS = -Wall -O -fforce-mem -fforce-addr -fthread-jumps...
修改后:CFLAGS = -Wall -O -fforce-addr -fthread-jumps...
4.编译源码
命令:
make && make install
5.把生成的头文件和库文件复制到交叉编译器默认目录,把库文件复制到运行环境下
命令:
cd /tools/libmad-0.15.1b/tmp/
cp include/* /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/include/ -rfd
cp lib/* /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib/ -rfd
cp lib/* /root/work/root_nfs/lib/ -rfd
6.移植完成
***********************************************************************************************************
mplayer移植步骤:
1.把源码包复制到linux环境下,解压,进入解压后目录
命令:
cp /mnt/hgfs/xxx/MPlayer-1.3.0.tar.gz /tools/
cd /tools/
tar xf MPlayer-1.3.0.tar.gz
cd MPlayer-1.3.0
2.执行configure脚本,配置生成Makefile
命令:
./configure --prefix=$PWD/tmp --cc=arm-linux-gcc --host-cc=gcc --target=arm-linux --enable-cross-compile --enable-mad --disable-gui --disable-menu --disable-x11 --yasm="" --extra-cflags=-I/tools/libmad-0.15.1b/tmp/include/ --extra-ldflags=-L/tools/libmad-0.15.1b/tmp/lib/ 2>&1 |tee logfile
3.修改config.mak文件
命令:
vim config.mak
修改33行:
修改前:INSTALLSTRIP = -s
修改后:INSTALLSTRIP =
4.编译源码
命令:
make && make install
5.把生成的头文件和库文件复制到交叉编译器默认目录,把库文件复制到运行环境下
命令:
cp /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr/lib/libncurses*.so* /root/work/root_nfs/lib/ -rf
cp /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr/lib/libpng*.so* /root/work/root_nfs/lib/ -rf
cp /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr/lib/libasound*.so* /root/work/root_nfs/lib/ -rf
cp /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr/lib/libz.so* /root/work/root_nfs/lib/ -rf
cp /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr/lib/libjpeg.so* /root/work/root_nfs/lib/ -rf
cp /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr/lib/libfreetype.so* /root/work/root_nfs/lib/ -rf
6.把mplayer复制到运行环境下的 /bin/目录下
cp mplayer /root/work/root_nfs/bin/
7.播放视频
CRT中执行:
mplayer xxx.wmv -zoom -x 800 -y 480