Mplayer移植
2009-05-30 21:09
417 查看
Mplayer 移植
运行环境: YCS3C2440 + Linux-2.4.18
1 )编译器最好选择 3.3.2
解压 3.3.2 到 /usr/local/arm/ 下,并 export PATH=/usr/local/arm/3.3.2/bin:$PATH
echo $PATH 看看 3.3.2 是不是在第一个?
2 ) 播放 mp3 需要禁掉 mp3lib 而使用 madlib
据说是用 mp3lib 占用 CPU 会很高 .
安装 libmad
( 1 )交叉编译 libmad
下载 libmad 包( libmad-0.15.1b.tar.gz );
打开一个终端,进入 libmad 的目录,输入配置命令:
./configure --enable-fpm=arm --host=arm-linux --disable-shared --disable-debugging --prefix=/usr/local/arm/3.3.2/lib CC=arm-linux-gcc
(要保证 arm-linux-gcc 的路径已经有 export 过,否则给出完整路径。)
make
make install
这样就可以看到 /usr/local/arm/3.3.2/lib 目录下多了 include 和 lib 目录,这些就是 libmad相关的库。
3 ) 解压 MPlayer-1.0pre7try2.bz2 ,改名为 mplayer ,方便而已在此目录下配置
./configure --cc=arm-linux-gcc --target=arm-armv4-linux --enable-static
--disable-win32 --disable-dvdread --enable-fbdev --disable-mencoder
--disable-live --disable-mp3lib --enable-mad --enable-libavcodec
--with-extraincdir=/usr/local/arm/3.3.2/arm-linux/sys-include/:/usr/local/arm/3.3.2/lib/include
--with-extralibdir=/usr/local/arm/3.3.2/arm-linux/lib:/usr/local/arm/3.3.2/lib/lib
--prefix=/tmp/mplayer --host-cc=gcc
4 )make
排错:
(1 )/codec-cfg ./etc/codecs.conf > codecs.conf.h
./codec-cfg: 1: Syntax error: word unexpected (expecting ")")
网上有两种解决方法
A 说在configure 时添加 --host-cc=gcc 就可以解决
可是会出现其他库找不到的错误
猜想是指定了库--with-extralibdir 导致的,所以还得采用笨笨的B 方案
B 引用原话“先把 mplayer 编译成x86 的代码,于是重新配置,简单的 ./configure, make ,然后将生成的 codec-cfg codec -cfg.x86 。改名为然后再按跨平台方式配置,编译,等编译器出现错误停止编译时,将codec-cfg.x86 该名为 codec-cfg ,再makeOK, 编译就可以继续进行了。”
(2 )vobsub.c 错误
这个错误可能在 B 方案时就会出现,
解决方法:修改 vobsub.c 230 行将getline 函数名称改为mygetline
5 ) make 完毕后拷贝目录下的 mplayer 文件到 arm9linux 文件系统运行就好了
# mplayer -ac mad 1.mp3
#mplayer –ac mad 1.wmv –fs ( fs 是中央显示 )
运行环境: YCS3C2440 + Linux-2.4.18
1 )编译器最好选择 3.3.2
解压 3.3.2 到 /usr/local/arm/ 下,并 export PATH=/usr/local/arm/3.3.2/bin:$PATH
echo $PATH 看看 3.3.2 是不是在第一个?
2 ) 播放 mp3 需要禁掉 mp3lib 而使用 madlib
据说是用 mp3lib 占用 CPU 会很高 .
安装 libmad
( 1 )交叉编译 libmad
下载 libmad 包( libmad-0.15.1b.tar.gz );
打开一个终端,进入 libmad 的目录,输入配置命令:
./configure --enable-fpm=arm --host=arm-linux --disable-shared --disable-debugging --prefix=/usr/local/arm/3.3.2/lib CC=arm-linux-gcc
(要保证 arm-linux-gcc 的路径已经有 export 过,否则给出完整路径。)
make
make install
这样就可以看到 /usr/local/arm/3.3.2/lib 目录下多了 include 和 lib 目录,这些就是 libmad相关的库。
3 ) 解压 MPlayer-1.0pre7try2.bz2 ,改名为 mplayer ,方便而已在此目录下配置
./configure --cc=arm-linux-gcc --target=arm-armv4-linux --enable-static
--disable-win32 --disable-dvdread --enable-fbdev --disable-mencoder
--disable-live --disable-mp3lib --enable-mad --enable-libavcodec
--with-extraincdir=/usr/local/arm/3.3.2/arm-linux/sys-include/:/usr/local/arm/3.3.2/lib/include
--with-extralibdir=/usr/local/arm/3.3.2/arm-linux/lib:/usr/local/arm/3.3.2/lib/lib
--prefix=/tmp/mplayer --host-cc=gcc
4 )make
排错:
(1 )/codec-cfg ./etc/codecs.conf > codecs.conf.h
./codec-cfg: 1: Syntax error: word unexpected (expecting ")")
网上有两种解决方法
A 说在configure 时添加 --host-cc=gcc 就可以解决
可是会出现其他库找不到的错误
猜想是指定了库--with-extralibdir 导致的,所以还得采用笨笨的B 方案
B 引用原话“先把 mplayer 编译成x86 的代码,于是重新配置,简单的 ./configure, make ,然后将生成的 codec-cfg codec -cfg.x86 。改名为然后再按跨平台方式配置,编译,等编译器出现错误停止编译时,将codec-cfg.x86 该名为 codec-cfg ,再makeOK, 编译就可以继续进行了。”
(2 )vobsub.c 错误
这个错误可能在 B 方案时就会出现,
解决方法:修改 vobsub.c 230 行将getline 函数名称改为mygetline
5 ) make 完毕后拷贝目录下的 mplayer 文件到 arm9linux 文件系统运行就好了
# mplayer -ac mad 1.mp3
#mplayer –ac mad 1.wmv –fs ( fs 是中央显示 )
相关文章推荐
- MPlayer往Android上的移植(2)
- 移植Mplayer到OK6410开发板
- Linux平台基于S3C2440的MPlayer的移植
- mplayer安装、移植及使用
- MPlayer在ARM开发板的移植
- mplayer安装和移植
- Mplayer移植到AT91SRAM9261
- ARM MPlayer移植过程
- [转帖]移植mplayer到迅为itop4412开发板
- MPlayer移植arm9+linux
- s3c2410上mplayer的移植过程
- 编译移植Mplayer到mini2440开发板的过程及问题解决办法
- mplayer在ARM9(AT91RM9200)上的移植
- XScale交叉编译环境搭建及MPlayer移植
- MPlayer 在FS2410上的移植过程
- 移植MPlayer:Error: selected processor does not support `pld [r1]''
- mplayer 移植到ok6410开发板上如何改变播放视频的界面位置与大小
- mplayer在飞凌ok6410移植(包含多版本交叉编译器)
- arm平台移植mplayer
- s5pv210 音频播放问题 MPlayer移植