LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1290|回复: 11

编译mpaler svn已添加opencor-amr支持仍然无法播放amr文件

[复制链接]
发表于 2010-2-24 13:12:13 | 显示全部楼层 |阅读模式
郁闷了,编译了几次。已经安装了 opencore-amr,而且PKGBUILD中也添加了:
[PHP]--enable-libopencore_amrnb --enable-libopencore_amrwb[/PHP]
参数支持,编译也成功,但安装mplayer后还是无法播放amr文件

以下是播放amr文件的输出:
[PHP]MPlayer SVN-r30725-4.4.3 (C) 2000-2010 MPlayer Team
138 audio & 287 video codecs

Playing record.amr.
Seek failed
libavformat file format detected.
[amr @ 0x94a1590]max_analyze_duration reached
[amr @ 0x94a1590]Estimating duration from bitrate, this may be inaccurate
[lavf] Audio stream found, -aid 0
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
Cannot find codec 'libamr_nb' in libavcodec...
ADecoder init failed
ADecoder init failed
Cannot find codec for audio format 0x726D6173.
Audio: no sound
Video: no video


Exiting... (End of file)[/PHP]

大家帮看看哪儿有问题
 楼主| 发表于 2010-2-25 18:09:32 | 显示全部楼层
顶一下                字数补丁
回复 支持 反对

使用道具 举报

发表于 2010-2-27 13:53:39 | 显示全部楼层
我的mplayer可以播放amr文件,用的是最新的mplayer for windows的code,这个code包比发行版自带的那个要全,播放amr没有问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-27 15:06:55 | 显示全部楼层
Post by jiangkero;2072085
我的mplayer可以播放amr文件,用的是最新的mplayer for windows的code,这个code包比发行版自带的那个要全,播放amr没有问题

请问具体是什么codec?能否把你播放amr文件时的输出贴一下。我的mplayer一直是自己编译的,加了n多参数,对付常用视频、音频都没什么问题,不过没安装那个codecs包。
回复 支持 反对

使用道具 举报

发表于 2010-2-27 15:41:13 | 显示全部楼层
一直使用libamr。如无特殊需求,仅仅只为播放,还是推荐libamr。

amrnb、amrwb编译十分简单,而且已为mplayer的configure默认参数。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-27 15:55:57 | 显示全部楼层
libamr已经被废止了,编译无此参数了,现在只支持 opencore-amr
回复 支持 反对

使用道具 举报

发表于 2010-2-27 22:30:50 | 显示全部楼层
把准备编译版本的 ./configure --help 贴上来看看。报错信息里,解码器明明还是指向libamr,咋就不支持了呢?
回复 支持 反对

使用道具 举报

发表于 2010-2-27 22:50:37 | 显示全部楼层
只要安装了opencore-amr...
mplayer就会自己把amr支持编译进去

MPlayer SVN-r30725-4.4.3 (C) 2000-2010 MPlayer Team
149 audio & 335 video codecs

Playing Sound clip.amr.
libavformat file format detected.
[amr @ 0xa2dd560]max_analyze_duration reached
[amr @ 0xa2dd560]Estimating duration from bitrate, this may be inaccurate
[lavf] Audio stream found, -aid 0
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 8000 Hz, 1 ch, s16le, 0.0 kbit/0.00% (ratio: 0->16000)
Selected audio codec: [ffamrnb] afm: ffmpeg (AMR Narrowband)
==========================================================================
AO: [alsa] 48000Hz 1ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:  60.8 (01:00.7) of 0.0 (unknown)  0.8%

Exiting... (End of file)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-28 01:25:00 | 显示全部楼层
SVN 30725
./configure --help 节选(太长了,只贴相关的),也是搜索amr的结果:
[PHP]--disable-libopencore_amrnb disable libopencore_amr narrowband [autodetect]
--disable-libopencore_amrwb disable libopencore_amr wideband [autodetect][/PHP]

再把我的PKGBUILD贴上来吧:
[PHP]# $Id$
# Maintainer: Hugo Doria <hugo@archlinux.org>

pkgname=mplayer
pkgver=30725
pkgrel=1
pkgdesc="A movie player for linux"
arch=('i686' 'x86_64')
depends=('libxxf86dga' 'opencore-amr' 'libxv')
makedepends=('subversion')
license=('GPL')
url="http://www.mplayerhq.hu/"
source=()
md5sums=()

_svnmod="mplayer"
_svntrunk=svn://svn.mplayerhq.hu/mplayer/trunk/

build() {
  cd $srcdir
  if [ -d $_svnmod/.svn ]; then
    cd $_svnmod
    svn up -r $pkgver
  else
    svn co $_svntrunk --config-dir . -r $pkgver $_svnmod
  fi
  msg "SVN checkout done or server timeout"

  cd $srcdir
  cp -r $_svnmod $_svnmod-build
  cd $_svnmod-build

  msg "Building the package..."
  unset CFLAGS LDFLAGS
  # Custom CFLAGS break the mplayer build
  #unset CFLAGS

  # Needed to compile using gcc 4.4.0
  #patch -p0 < ${srcdir}/liba52_gcc_bug.patch || return 1

  #cd ${srcdir}/${pkgname}

  ./configure --prefix=/usr --confdir=/etc/mplayer --enable-runtime-cpudetection   \
    --disable-mencoder --disable-gl --disable-smb  --disable-dvdnav \
    --enable-debug=3 --extra-cflags=-fno-strict-aliasing \
    --enable-libopencore_amrnb --enable-libopencore_amrwb \
    --disable-lirc --disable-lircc \
    --disable-tv --disable-tv-v4l1 --disable-tv-v4l2 --disable-radio-v4l2 --disable-radio-bsdbt848 \
    --disable-tv-bsdbt848 --disable-cddb --disable-inet6 \
    --disable-joystick --disable-theora \
    --disable-cdparanoia --disable-live \
    --disable-fribidi  --disable-ossaudio  --disable-arts  --disable-esd \
    --disable-openal --disable-jack  --disable-pulse \
    --disable-vidix --disable-vidix-pcidb \
    --disable-dhahelper --disable-svgalib_helper \
    --disable-dga2 --disable-dga1 \
    --disable-vesa --disable-svga \
    --disable-sdl --disable-aa  --disable-caca \
    --disable-ggi --disable-ggiwmh \
    --disable-directx --disable-faac \
    --disable-dxr2 --disable-dxr3 \
    --disable-ivtv  --disable-v4l2 \
    --disable-dvb --disable-dvbhead \
    --disable-mga --disable-xmga \
    --disable-vm --disable-xinerama  --disable-xshape \
    --disable-xss  --disable-fbdev  --disable-directfb \
    --disable-zr --disable-tga  --disable-pnm \
    --disable-md5sum --disable-yuv4mpeg \
    --disable-gif  --disable-png  --disable-mng  --disable-jpeg \
    --disable-libcdio  --disable-liblzo \
    --disable-xvid --disable-x264 \
    --disable-tremor --disable-libvorbis  --disable-speex \
    --disable-ladspa --disable-libdv --disable-mad \
    --disable-mp3lame  --disable-toolame  --disable-twolame \
    --disable-libdca  --disable-nemesi  || return 1

  #[ "$CARCH" = "i686" ] &&  sed 's|-march=i486|-march=i686|g' -i config.mak

  make || return 1
  make -j1 DESTDIR=${pkgdir} install || return 1
  install -Dm644 etc/{codecs.conf,input.conf,example.conf} ${pkgdir}/etc/mplayer/ || return 1
# install -dm755 ${pkgdir}/usr/share/mplayer/
# ln -s /usr/share/fonts/TTF/DejaVuSans.ttf ${pkgdir}/usr/share/mplayer/subfont.ttf || return 1
# rm -rf ${pkgdir}/usr/share/mplayer/font
}[/PHP]
回复 支持 反对

使用道具 举报

发表于 2010-2-28 01:51:46 | 显示全部楼层
既然在configure中默认为【autodetect】或【enable】,就应该在编译时去掉此项参数。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表