这是最艰苦的一次编译了,说它艰苦,实在是走了不少弯路。
编译mplayer应该是不难的,但今天,让我耗了不少力气。
新买了一部手机,波导D609,录了几段视频,MP4格式,放到电脑上看,发现只能看到图像,不能听到声音,奇怪了!我的mplayer播放器以前播放3gp和mp4时都是有声音的,mplayer号称万能播放器啊。
用mencoder转换成avi,自然也是有像无声。windows和linux下都这样。
难道是电脑的问题,我在windows下装了一个XMedia,中文名叫什么“掌中影音伴侣”,惊异地发现它可以把这种mp4转换成avi,而且有声音,难道比mencoder还牛?ffmpeg也不行,也是无声!
不相信有软件能比mencoder和ffmpeg还强,其实很多转换软件都是学习或基于这两种软件的,虽然这俩家伙用起来要用命令,很不方便。
重新编译mplayer吧,下载了mplayer 1.0rc2,最新的稳定源码,把all-***tar.bz2那些codecs拷贝到/usr/lib/mplayer/codecs下,开始编译:
./configure --enable-gui --codecsdir=/usr/lib/mplayer/codecs --enable-largefiles --enable-libamr_nb --enable-libamr_wb --prefix=/usr --enable-menu --language=zh_CN --enable-dynamic-plugins --enable-xshape
然后,make !
通不过,什么原因呢?难道是升级后的gcc4的问题,网上说只有mplayer 1.0pre7才有gcc4的问题,而且有补丁,以后的版本不应该是这个问题了。
在网上查啊查,找amr_nb和amr_wb,找了半天,下了一大堆文件,无果,编译总是通不过,有些灰心了,难道是slackware的问题?
还是到BLFS文档里找答案吧,原来,我这里,对mplayer这种不常见的编译,需要一些“可选的依赖”,
MPlayer Dependencies
Optional Input Drivers and Libraries
我把
LIVE555 Streaming Media 按文档装好, 把
AMR narrowband (floating point) or
AMR naarrowband (fixed point),
AMR wideband,解压开,到mplayer源码包里libavcodec目录下,新建目录amrwb_float和amr_float,把刚才解压得到的AMR****分别拷贝到其中,这是参考ffmpeg的编译方法。
因为ffmpeg编译方法是这样的写的:
我们编译mplayer,应该是一样的。
继续make,成功了。
用最新的mplayer播放波导D609录制的手机视频,听到声音了。
累死了,终于解决了。
[
本帖最后由 cncn 于 2007-12-31 16:22 编辑 ]