mplayer 不能播放 rmvb 格式影片的解决方法

开始在 /etc/portage/package.use 添加的是如下内容:

media-libs/win32codecs real
media-video/mplayer win32codecs aac

media-video/mplayer 不使用 USE real 的原因是因为我不想安装 realplayer,win32codecs 本身已带 real 解码器,只要添加 USE real 到 media-libs/win32codecs 即可。

但是在播放 rmvb 格式影片时却出现了错误:

要求的视频解码器族 [rv3040] (vfm=realvid) 不可用
在编译时开启它
要求的视频解码器族 [rv40] (vfm=realvid) 不可用
在编译时开启它
要求的视频解码器族 [rv40win] (vfm=realvid) 不可用
在编译时开启它
要求的视频解码器族 [rv40mac] (vfm=realvid) 不可用
在编译时开启它

难道是解码器没有正确安装?执行 mplayer -ac help | grep realvid

rv3040      realvid   working   Linux RealPlayer 10 RV30/40 decoder  [drvc.so]
rv3040win   realvid   working   Win32 RealPlayer 10 RV30/40 decoder  [drvc.dll]
rv40        realvid   working   Linux RealPlayer 9 RV40 decoder  [drv4.so.6.0]
rv40win     realvid   working   Win32 RealPlayer 9 RV40 decoder  [drv43260.dll]
rv40mac     realvid   working   Mac OS X RealPlayer 9 RV40 decoder  [drvc.bundle/Contents/MacOS/drvc]
rv30        realvid   working   Linux RealPlayer 8 RV30 decoder  [drv3.so.6.0]
rv30win     realvid   working   Win32 RealPlayer 8 RV30 decoder  [drv33260.dll]
rv30mac     realvid   working   Mac OS X RealPlayer 9 RV30 decoder  [drvc.bundle/Contents/MacOS/drvc]
rv20        realvid   working   Linux RealPlayer 8 RV20 decoder  [drv2.so.6.0]
rv20winrp10 realvid   working   Win32 RealPlayer 10 RV20 decoder  [drv2.dll]
rv20win     realvid   working   Win32 RealPlayer 8 RV20 decoder  [drv23260.dll]
rv20mac     realvid   working   Mac OS X RealPlayer 9 RV20 decoder  [drv2.bundle/Contents/MacOS/drv2]

结果表明,解码器正确安装了,但是 mplayer 编译时却没有找到它们正确的位置。

解决方法:

echo ‘PORTDIR_OVERLAY=”$PORTDIR_OVERLAY /usr/local/portage”‘ >> /etc/make.conf
mkdir -p  /usr/local/portage/media-video/mplayer
cd /usr/local/portage/media-video/mplayer
cp -R /usr/portage/media-video/mplayer/files .
cp /usr/portage/media-video/mplayer/mplayer-1.0_rc2_p26753-r1.ebuild .
#修改 mplayer-1.0_rc2_p26753-r1.ebuild
45,46c45
<                       real? ( media-libs/win32codecs
<                               media-video/realplayer )

>                       real? ( media-libs/win32codecs )
324c323
<                       myconf=”${myconf} –realcodecsdir=/opt/RealPlayer/codecs”

>                       myconf=”${myconf} –realcodecsdir=/usr/lib/win32″
#生成 digest 文件
ebuild mplayer-1.0_rc2_p26753-r1.ebuild digest
#修改 /etc/portage/package.use 如下
media-libs/win32codecs real
media-video/mplayer win32codecs real aac
#重新 emerge mplayer
emerge -uN mplayer

现在,可以正确播放了。

mplayer

Tags: ,

This entry was posted on Sunday, June 22nd, 2008 at 4:03 pm and is filed under linux. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Posts you may enjoy

Leave a Reply

Please copy the string 44d5Pq to the field below: