发新话题
打印

奋战将近一天,重编译成功mplayer

奋战将近一天,重编译成功mplayer

这是最艰苦的一次编译了,说它艰苦,实在是走了不少弯路。

编译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编译方法是这样的写的:
引用:
wget http://www.3gpp.org/ftp/Specs/ar ... 6.204/26204-510.zip
解压以后把里面的文件都拷贝到libavcodec/amrwb_float
            wget http://www.3gpp.org/ftp/Specs/ar ... 6.104/26104-510.zip
解压以后把里面的文件都拷贝到libavcodec/amr_float
我们编译mplayer,应该是一样的。
继续make,成功了。
用最新的mplayer播放波导D609录制的手机视频,听到声音了。
累死了,终于解决了。

[ 本帖最后由 cncn 于 2007-12-31 16:22 编辑 ]
女口果人尔能看日月白这段言舌,那言兑日月人尔白勺目艮目青有严重白勺散光。

TOP

看来all****tar.bz2那一堆codecs ,并不是全部,还有一些外加的解码器,
在实际中有时是有用的,虽然不常见。
女口果人尔能看日月白这段言舌,那言兑日月人尔白勺目艮目青有严重白勺散光。

TOP

还是不行呢?

D609是自持MPLAYER吗?
  要先下栽那个解码器啊

TOP

波导D609录像用的音频编码是libamr_nb,
所以编译mplayer时要加上这个。

到mplayer源码包里libavcodec目录下,新建目录amrwb_float和amr_float,

http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/
下载最新的压缩包,解压以后把里面的文件都拷贝到libavcodec/amrwb_float

http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/
下载最新的压缩包,解压以后把里面的文件都拷贝到libavcodec/amr_float

编译mplayer加参数: --enable-libamr_nb --enable-libamr_wb
女口果人尔能看日月白这段言舌,那言兑日月人尔白勺目艮目青有严重白勺散光。

TOP

amr的支持,大家可以看这里,有最新的依赖包地址:

http://www.linuxfromscratch.org/ ... imedia/mplayer.html
女口果人尔能看日月白这段言舌,那言兑日月人尔白勺目艮目青有严重白勺散光。

TOP

今天又在Centos5上编译,提示cannot find -lamrnb
是没有libamr_nb和libamr_wb库,
从下面下载最新的amrnb和amrwb,编译一下,
http://www.debian-multimedia.org/pool/main/a/amrwb/
http://www.debian-multimedia.org/pool/main/a/amrnb/

解决了

编译mplayer 如果用默认参数是很顺利的,就是加一些不常用的参数时,编译很痛苦,
有时还要自己修改源码,真是晕死了,不过这个播放器功能强大,实在是魅力无穷啊。
女口果人尔能看日月白这段言舌,那言兑日月人尔白勺目艮目青有严重白勺散光。

TOP

还有很多库要先装上,建议先参照ffmpeg编译大全那文章,把常用的库先装上吧

TOP

mplayer似乎越来越BT,以前的ALL那个包包括了所有解码器,现在除了下ALL×××××,还要下win-all*****那个包,补充之。
大概是版权问题吧

TOP

发新话题