[置顶] ut2416BV02及ut-s3c6410上移植mplayer

//--------------------------------------------------------------------------------------------

// 作者:longtian635241([email protected]

// 论坛ID:idea6410

// 版权:idea6410

// 平台:友坚idea6410开发板

// 发布日期:2012-11-19

// 最后修改:2012-11-19

//http://www.urbetter.com/main.asp

//----------------------------------------------------------------------------------------------

 

平台:友坚ut2416bv02及idea6410

CROSSFILE:arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2

 

mplayer库:libmad-0.15.1b.tar.gz

http://download.csdn.net/detail/longtian635241/4567506

mplayer:MPlayer-1.0rc2.tar.bz2

http://download.csdn.net/detail/longtian635241/4567590

 

第一:

a、解压libmad-0.15.1b.tar.gz

                   tar xvf  libmad-0.15.1b.tar.gz

b、cd libmad-0.15.1b

c、配置编译等各选项(查看配置个选项意思:./configure --help)

      ./configure --enable-fpm=arm --host=arm-none-linux-gnueabi --disable-shared --disable-debugging --prefix=/usr/local/arm/arm-none-linux-gnueabi/lib CC=/usr/local/arm/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc

d、make:

     这时直接make应该会出问题:如下错误:
cc1: error: unrecognized command line option "-fforce-mem"
修改Makefile(vi Makefile +129)
在Makefile中找到包含"fforce-mem"字符串,将其删除即可;原因:gcc3.4或更高版本中,已将将该选项去除了。
再make
e、make install

其中遇到的问:./libtool: line 6091: arm-linux-ranlib: command not found
make[3]: *** [install-libLTLIBRARIES] 错误 127
make[3]:正在离开目录 `/mp3/libid3tag-0.15.1b'
make[2]: *** [install-am] 错误 2
make[2]:正在离开目录 `/mp3/libid3tag-0.15.1b'
make[1]: *** [install-recursive] 错误 1
make[1]:正在离开目录 `/mp3/libid3tag-0.15.1b'
make: *** [install] 错误 2

google知道好像是sudo引起的路径不一致~我是直接切换到root模式就能成功安装了~sudo -i

注意:这个是Mplayer依赖的文件必须成功安装,否则没必要执行第二步了!肯定有错误error!

第二:

        1、解压MPlayer-1.0rc2.tar.bz2

                 tar xvf MPlayer-1.0rc2.tar.bz2

        2、cd MPlayer-1.0rc2

         3、配置选项(查看配置个选项意思:./configure --help)

./configure --cc=/usr/local/arm/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc --target=arm-none-linux-gnueabi --enable-static --prefix=/tmp/mplayer-rc2 --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-none-linux-gnueabi/lib/include --with-extralibdir=/usr/local/arm/arm-none-linux-gnueabi/lib/lib --host-cc=gcc --enable-ossaudio --disable-ivtv --disable-tv

可能出现的问题:最后编译的Mplayer出现乱码其他功能正常,是由于我配置的为中文,应该是系统对中文识别不是很到位或者编码不对~使用默认的英文吧~将--language=zh_CN去掉即可~

         4、make

                  这时会出现

ioctl.c: In function 'ioctl_ReadCopyright':
ioctl.c:273:5: error: #error "DVD ioctls are unavailable on this system"
ioctl.c: In function 'ioctl_ReadDiscKey':
ioctl.c:446:5: error: #error "DVD ioctls are unavailable on this system"
ioctl.c: In function 'ioctl_ReadTitleKey':
ioctl.c:610:5: error: #error "DVD ioctls are unavailable on this system"
ioctl.c: In function 'ioctl_ReportAgid':
ioctl.c:734:5: error: #error "DVD ioctls are unavailable on this system"
ioctl.c: In function 'ioctl_ReportChallenge':
ioctl.c:868:5: error: #error "DVD ioctls are unavailable on this system"
ioctl.c: In function 'ioctl_ReportASF':
ioctl.c:1001:5: error: #error "DVD ioctls are unavailable on this system"
ioctl.c: In function 'ioctl_ReportKey1':
ioctl.c:1130:5: error: #error "DVD ioctls are unavailable on this system"
ioctl.c: In function 'ioctl_InvalidateAgid':
ioctl.c:1241:5: error: #error "DVD ioctls are unavailable on this system"
ioctl.c: In function 'ioctl_SendChallenge':
ioctl.c:1378:5: error: #error "DVD ioctls are unavailable on this system"
ioctl.c: In function 'ioctl_SendKey2':
ioctl.c:1515:5: error: #error "DVD ioctls are unavailable on this system"
ioctl.c: In function 'ioctl_ReportRPC':
ioctl.c:1670:5: error: #error "DVD ioctls are unavailable on this system"
ioctl.c: In function 'ioctl_SendRPC':
ioctl.c:1797:5: error: #error "DVD ioctls are unavailable on this system"
make[1]: *** [ioctl.o] Error 1
make[1]: Leaving directory `/home/xiao/MPlayer-1.0rc2/libdvdcss'
make: *** [libdvdcss/libdvdcss.a] 错误 2

找到ioctl.c将相应的行注释掉即可!
root@urbetter-ubuntu:/home/xiao/MPlayer-1.0rc2# find -name ioctl.c
./libdvdcss/ioctl.c

修改后应该就能成功编译了~

 

第三步:测试

             尽量将音乐改成英文名称!

 [root@urbetter /]# cd sdcard/
[root@urbetter /sdcard]# ./mplayer su.mp3
MPlayer 1.0rc2-4.3.2 (C) 2000-2007 MPlayer Team
CPU: ARM
 
Playing su.mp3.
Audio file file format detected.
==========================================================================
Requested audio codec family [mp3] (afm=mp3lib) not available.
Enable it at compilation.
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [ffmp3] afm: ffmpeg (FFmpeg MPEG layer-3 audio decoder)
==========================================================================
AO: [oss] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...

0 (26.0) of 254.0 (04:14.0) 22.9%  

这样就在播放了!

 

 

遇到的其他问题:Illegal instruction

运行编译好的mplayer显示上面内容非法指令!

root@urbetter-ubuntu:/home/xiao# file mplayer
mplayer: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.14, not stripped

这时我们可以查看下适用的版本!和链接方式~动态改静态,换支持低版本的工具链等等~

我开始用4.5.1遇到上面问题后来换了现在的工具链问题解决~

你可能感兴趣的:([置顶] ut2416BV02及ut-s3c6410上移植mplayer)