您的位置:首页 > 其它

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 是中央显示 )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息