3.基于mplayer在X210上MP4播放器的实现
详细参考地址:文档:3.基于mplayer在X210上MP4播放器的实现...
链接:http://note.youdao.com/noteshare?id=8e1d3b44d23ad3a33f7d0207a159ccec&sub=7DD7E5FB9E2347749FDF2291C553979F
所需资源:
- x210(cortex-a8)
- 内核: 2.6.35.7 + android2.3/QT4.8.3
- PC 环境:ubuntu14.04 32位
- 交叉编译工具链:arm-none-linux-gnueabi-gcc-4.4.1(来自三星的arm-2009q3)
- 开发板已装载好 Linux
- 挂载x210开发板根文件系统方式:NFS(自行制作开发板根文件系统)
- 移植mplayer:MPlayer-1.0rc2(一款开源多媒体播放器,移植后我们需要的是mplayer这个可执行文件,用于放在开发板根文件系统中)
- 移植libmad-0.15.1b(一个开源的高精度MPEG音频解码库)
- images 目录: mplayer 可执行文件
- libs 目录:移植需要的库压缩包和 mplayer 的压缩包。
- video 目录: mplayer 播放需要的 mp4 格式的视频文件(1024*600帧宽高度)
(ps:需要其他适合自身开发板屏幕分辨率的帧宽高,可以使用魔音工厂生成)
1.1. 解压缩 libmad-0.15.1b.tar.gz,并进入目录下:
tar zxf libmad-0.15.1b.tar.gz cd libmad-0.15.1b |
./configure --enable-fpm=arm --host=arm-none-linux-gnueabi --disable-shared --disable-debugging --prefix=/usr/local/arm/arm-2009q3/lib CC=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc |
注意/usr/local/arm/arm-2009q3是我的交叉编译工具链的路径
cc1: error: unrecognized command line option "-fforce-mem"
1.3.解决方法: 在Makefile中找到包含"fforce-mem"字符串,将其删除即可;
make && make install 至此, libmad 库就安装好了。
2.1. 解压缩 MPlayer-1.0rc2.tar.bz2,并进入 MPlayer-1.0rc2 目录
tar xjf MPlayer-1.0rc2.tar.bz2
./configure --cc=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc --target=arm-none-linux-gnueabi --enable-static --prefix=/opt/MPlayer/MPlayer-1.0rc2 --disable-win32dll --disable-dvdread --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a --language=zh_CN --disable-armv5te --disable-armv6 --with-extraincdir=/usr/local/arm/arm-2009q3/lib/include --with-extralibdir=/usr/local/arm/arm-2009q3/lib/lib --host-cc=gcc --enable-ossaudio |
解决方法,在 安装 MPlayer时: ./configure --disable-ivtv
./configure --cc=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc --target=arm-none-linux-gnueabi --enable-static --prefix=/opt/MPlayer/MPlayer-1.0rc2 --disable-win32dll --disable-dvdread --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a --language=zh_CN --disable-armv5te --disable-armv6 --with-extraincdir=/usr/local/arm/arm-2009q3/lib/include --with-extralibdir=/usr/local/arm/arm-2009q3/lib/lib --host-cc=gcc --enable-ossaudio --disable-ivtv --disable-tv |
解决方法:找到ioctl.c的相应行,全部屏掉(Pvim跳转到指定行:首先按esc进入命令行模式 :n (跳转到文件第n行,需要回车))
3.1将 mplayer 拷贝到开发板根文件系统的/bin 目录下
我的开发板根文件系统路径(/root/porting_x210/rootfs/rootfs/)
3.2 将 video 目录里的测试视频文件 Transformers2.mp4 也拷贝到开发板根文件系统下。
3.3 在终端中进入跟文件系统中执行mplayer程序来播放