linux-2.26 移植mplayer 功能
mplayer介绍:
mplayer 是一个linux下的视频播放器,它支持相当多的媒体格式,无论在音频播放还是在视频播放方面,可以说它支持的格式是相当全面的。视频格式支持:mpeg、avi、asf、wmv、QuickTime、OGG/OGM、sdp、pva、gif。音频格式支持:mp3、wav、OGG/OGM 文件(Vorbis)、wma 与 asf、mp4、cd音频、xmms
一、移植环境:
交叉编译 PC环境:Deepin-Linux
交叉编译工具:arm-fsl-linux-gnueabi-gcc
目标板环境:周立功 i.max287A 开发版
二、mplayer源码下载:http://www.mplayerhq.hu/MPlayer/releases/
链接:https://pan.baidu.com/s/1jorUzUoMiGHwaLy7WZELFA
提取码:fx4f
三、制作编译时需要的头文件和库
1. 把 libmad-0.15.1b.tar.gz 文件拷贝到PC端linux系统,执行解压缩命令 " tar -xzvf libmad-0.15.1b.tar.gz -C ." 解压到当前目录
2. 进入 libmad-0.15.1b 目录 cd libmad-0.15.1b
3. 新建一个目录,用来存放编译生成的信息 mkdir build
3. 配置编译链和编译信息:./configure --enable-fpm=arm --host=arm-fsl-linux-gnueabi --disable-shared --disable-debugging --prefix=/home/yx/imx287/mplayer/build/ CC=arm-fsl-linux-gnueabi-gcc
把 “--host=” 和"CC=" 后边替换成目标板所需要的编译链;把“--prefix=”后边的信息换成刚才新建的文件夹目录
4. 配置完成后,编译,编译时会报错,把libmad-0.15.1b 文件下的 Makefile 文件的第129行的 “--fforce-mem” 去掉后,重新编译就行。
5. 编译完成后,执行 make install 生成相应的头文件和库文件, 下边是制作好的目录
四、编译mplayer源码
1. 把 MPlayer-1.0rc2.tar.bz2 文件拷贝到PC端linux系统,执行解压缩命令 " tar -xzvf MPlayer-1.0rc2.tar.bz2 -C ." 解压到当前目录,cd MPlayer-1.0rc2.tar.bz2 进入这个解压开的目录
2. 配置编译链和编译信息:./configure --prefix=/home/yx/imx287/mplayer/build --cc=arm-fsl-linux-gnueabi --disable-gui --target=arm-linux --host-cc=gcc --disable-freetype --enable-fbdev --disable-mencoder --disable-sdl --disable-live --disable-dvdread --disable-libdvdcss-internal --disable-x11 --enable-cross-compile --disable-dvdnav --disable-dvdread-internal --disable-jpeg --disable-tga --disable-pnm --disable-tv --disable-ivtv --disable-fontconfig --disable-xanim --disable-win32dll --disable-armv5te --disable-armv6 --enable-static
“--prefix=” 设置成 刚才创建的目录路径 “--cc=” 设置成目标板需要的编译链
3. 编译,make -j4 (使用4条线程编译)编译时间有点长
4. 编译完成后,会在 MPlayer-1.0rc2.tar.bz2 目录下生成可执行文件 mplayer
五、移植到开发版
移植比较简单直接把生成的可执行文件 mplayer 拷贝到开发版的 /bin 下就行,使用 “chmod +x mplayer” 修改好这个文件的可执行权限
六、mplayer 命令测试
1. mplayer test.mp4 播放test.mp4视频
结果报错:[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory” ,网上查了一下,需要配置内核添加 OSS PCM (digital audio) API模块,
2. make muenconfig 进入linux内核配置,打开界面后:
进入 Deivce Drivers——>Sound card support ——>Advanced Linux Sound Architecture 选中 OSS PCM(digital audiop) API 和 OSS PCM (Digital audio) API -- Include plugin system 保存退出
3. 重新编译内核,下载到开发版,这样就没问题了
4. 查看mplayer 命令 mplayer -input cmdlist