Chinaunix首页 | 论坛 | 博客
  • 博客访问: 842061
  • 博文数量: 244
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 2420
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-29 09:07
文章分类

全部博文(244)

文章存档

2011年(4)

2010年(3)

2009年(72)

2008年(119)

2007年(46)

我的朋友

分类: LINUX

2008-03-24 14:53:17

1)为支持mp3的解码,在交叉编译mplayer时,加上 –enable-mad,如果在make的时候出现了:找不到 mad.h 的错误。下面方法就是针对这个问题的解决方案)
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相关的库。
2.在 configure mplayer的时候,要加上以下几个选项:
--enable-mad
--with-extraincdir=/usr/local/arm/3.3.2/lib/include(这个指明 mad.h 这个文件所在的路径)
--with-extralibdir=/usr/local/arm/3.3.2/lib/lib(这个指明libmad相关链接库所在的路径)

通过以上两个步骤,就可以把libmad交叉编译到 mplayer中。
2)mplayer在2410上的移植
首先到网上
下载MPlayer-1.0rc1.tar.bz2,解压后生成MPlayer-1.0rc1。
接下来主要的是配置了,参考ERIC为mplayer播放流媒体的配置,现把ERIC的配置修改成如下所示。
如果要看哪一项的作用,参考./configure --help
##########################################begin##################
./configure --enable-cross-compile --cc=/usr/local/arm/3.3.2/arm-linux/bin/gcc --as=/usr/local/arm/3.3.2/arm-linux/bin/as --host-cc=gcc --target=arm-linux --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 --enable-static --enable-ftp --enable-radio --enable-network --enable-libavutil --enable-libavcodec --enable-libavformat --enable-libavcodec_mpegaudio_hp --enable-mp3lib --disable-debug --disable-crash-debug --enable-alsa --disable-libfame --disable-mencoder --disable-gui --disable-largefiles --disable-linux-devfs --disable-termcap --disable-termios --disable-iconv --disable-langinfo --disable-lirc --disable-lircc --disable-joystick --disable-vm --disable-xf86keysym --disable-radio-capture --disable-radio-v4l2 --disable-tv --disable-tv-v4l1 --disable-tv-v4l2 --disable-tv-bsdbt848 --disable-pvr --disable-rtc --disable-winsock2 --disable-smb --disable-live --disable-dvdnav --disable-dvdread --disable-mpdvdkit --disable-cdparanoia --disable-bitmap-font --disable-freetype --disable-fontconfig --disable-unrarlib --disable-menu --disable-sortsub --disable-fribidi --disable-enca --disable-macosx --disable-maemo --disable-macosx-finder-support --disable-macosx-bundle --disable-inet6 --disable-gethostbyname2 --disable-vstream --disable-ass --disable-rpath --disable-gif --disable-png --disable-jpeg --disable-libcdio --disable-liblzo --disable-win32 --disable-qtx --disable-xanim --disable-real --disable-xvid --disable-x264 --disable-nut --disable-libpostproc --disable-libavutil_so --disable-libavcodec_so --disable-libavformat_so --disable-libpostproc_so --disable-tremor-internal --disable-tremor-low --disable-tremor-external --disable-libvorbis --disable-speex --disable-theora --disable-faad-external --disable-faad-internal --disable-faad-fixed --disable-faac --disable-ladspa --disable-libdv --enable-mad --disable-toolame --disable-twolame --disable-xmms --disable-liba52 --disable-libdts --disable-libmpeg2 --disable-musepack --disable-amr_nb --disable-amr_nb-fixed --disable-amr_wb --disable-vidix-internal --disable-vidix-external --disable-gl --disable-dga --disable-vesa --disable-svga --disable-sdl --disable-aa --disable-caca --disable-ggi --disable-ggiwmh --disable-directx --disable-dxr2 --disable-dxr3 --disable-ivtv --disable-dvb --disable-dvbhead --disable-mga --disable-xmga --disable-xv --disable-xvmc --disable-vm --disable-xinerama --disable-x11 --disable-xshape --disable-fbdev --disable-mlib --disable-3dfx --disable-tdfxfb --disable-s3fb --disable-directfb --disable-zr --disable-bl --disable-tdfxvid --disable-tga --disable-pnm --disable-md5sum --enable-ossaudio --disable-arts --disable-esd --disable-polyp --disable-jack --disable-openal --disable-nas --disable-sgiaudio --disable-sunaudio --disable-win32waveout --disable-select --disable-mmx --disable-mmxext --disable-3dnow --disable-3dnowext --disable-sse --disable-sse2 --disable-altivec --disable-fastmemcpy --disable-profile --disable-sighandler --disable-dynamic-plugins --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 --enable-ossaudio
##########################################end##################
其中,下面":"后面的路径是libmad的路径。
--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 \
还要记得 --enable-mad
还应该记得 --enable-ossaudio
3)移植结果及用法
1.查看音频输出的驱动
# ./mplayer -ao help
MPlayer 1.0rc1-3.3.2 (C) 2000-2006 MPlayer Team
CPU: ARM
Available audio output drivers:
oss OSS/ioctl audio output
mpegpes Mpeg-PES audio output
null Null audio output
pcm RAW PCM/WAVE file writer audio output
2.播放mp3文件
./mplayer -ac mad file.mp3
阅读(1606) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

Piggest2008-04-02 15:09:46

你用的内核版本是多少?我的是2.4的 为什么我编译通过了,也加载上mad库了可仍然报错 ========================================================================== Forced audio codec: mad Opening audio decoder: [libmad] libmad mpeg audio decoder AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400) Selected audio codec: [mad] afm:libmad (libMAD MPEG layer 1-2-3) ========================================================================== Checking audio filter chain for 44100Hz/2ch/s16le -> 44100Hz/2ch/s16le... AF_pre