知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

CoreAVC for Linux 安装指南

发布时间:2011-07-24 09:50:43作者:知识屋

 

   随着高清视频的逐渐流行,对于 H264 解码器的性能要求也越来越高。 由于缺乏厂商支持,FFmpeg 中的 ffh264 解码器由于解码效率不高,使得一些 CPU 配置较低的机子无法进行高清回放。如果你为此困扰,请参看 Linux 下高清视频回放 一文。本文将介绍如何将以 CoreAVC for Linux 应用到 MPlayer 中。

    如果您的显卡不支持 nVidia 显卡独有的 GPU 解码 VDPAU(或者由于各种错误无法使用,如本人),而且 FFmpeg-mt 的 git 慢如牛速(怨念……还是本人……),此时 CoreAVC for Linux 成为了唯一的选择。全文将以 CoreAVC for Linux 维基为基础, 以Fedora 10 i386 系统为例介绍如何在 Linux 下使用 CoreAVC 解码器(亦可用于 X86_64 架构)。

    需求条件:
    1. CoreAVC 1.7 以上专业版及注册码
    需要在 CoreAVC 购买,花费$15,可以拜托有 PayPal 的朋友代购……
    2.Mplayer 的近期 SVN 版本,1.0rc2 不行。
    推荐下载 MPlayer 每日更新的 SVN export 版本,速度比 svn 快。
    3.必要的工具和开发包
    su -c 'yum install subversion gcc make p7zip-plugins libXv-devel pulseaudio-libs-devel alsa-libs-devel libogg-devel ccache'
    最后的 ccache 不是必须,但强烈推荐!

    假设与该过程有关的 CoreAVC 安装文件和 MPlayer 源代码包都放在一个目录下,比如用户主目录下的 Build 目录下:
    mkdir -pv $HOME/Build
    其他目录也可以,只要自己别找不到东西了~

    1.在 Build 目录下使用 svn 获得最新的 CoreAVC for Linux :
    svn checkout linux.googlecode.com/svn/trunk/ coreavc-for-linux

    2.上一步完成后会在当前目录下生成一个名为 coreavc-for-linux 的目录,进入它:
    cd coreavc-for-linux

    3.安装 dshowserver。

    i386 平台可以直接:
    make -C dshowserver
    如果没有提示错误的话就可以安装:
    su -c 'cp -v dshowserver/dshowserver /usr/local/bin'
    su -c 'cp -v dshowserver/registercodec /usr/local/bin'

    X86_64 平台的建议从这里下载已经编译好的,解压缩后同样使用上面的命令复制到 /usr/local/bin 下。

    4.安装 CoreAVCDecoder.ax 解码器。
    返回 Build 目录,假设 CoreAVC 安装文件保存在此目录下:
    cd $HOME/Build
    使用 7z 解压 CoreAVC 安装文件
    7z x coreavc_professional_edition-setup.exe CoreAVCDecoder.ax
    无错误的话可以在当前目录下找到名为 CoreAVCDecoder.ax 的文件。
    现在 MPlayer 等播放器对于附件的二进制编码器的默认安装目录是 codecs,为了和官方维基尽量保持一致,在此创建由 codecs 指向 win32 的符号联结:
    su -c 'ln -vs /usr/lib/codecs /usr/lib/win32'
    复制 CoreAVCDecoder.ax 到此目录。
    su -c 'cp -v CoreAVCDecoder.ax /usr/lib/win32/'

    5.注册 CoreAVCDecoder.ax
    如果之前没有使用过 MPlayer 的话,需要创建用户配置文件目录,使用过的话可以跳过:
    mkdir-pv $HOME/.mplayer
    将保存 MPlayer 配置信息的 $HOME/.mplayer 目录关联为注册表:
    export REGISTRY=$HOME/.mplayer/registry32
    输入注册码,用你获得的注册码替代下面命令中的 55555-55555-CORE-55555-55555,注意双引号需要保留:
    registercodec -r $REGISTRY -k "HKLMSoftwareCoreCodecCoreAVC ProSerial" -v "55555-55555-CORE-55555-55555"

 

 6.用 dshowserver 测试是否注册成功:
    dshowserver -c CoreAVCDecoder.ax -s 1280x720 -g 09571a4b-f1fe-4c60-9760de6d310c7c31 -b 12 -f 0x34363248 -o 0x30323449
    得到的输出结果应该是:
    No id specified, assuming test mode
    Opening device
    len: 992
    ProductVersion: 1.7.0
    Decoder supports the following YUV formats: YUY2 UYVY YV12 I420
    Decoder is capable of YUV output (flags 0x2b)
    Setting fmt
    Starting
    Initialization is complete

    如果使用的是 1.9.0 版本的 CoreAVC 的话,输出结果应该是:
    No id specified, assuming test mode
    Opening device
    Called unk_IsDebuggerPresent
    len: 992
&n

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜