关于尚观
最新课程体系
企业服务
零起点咨询
开放课程
报名咨询
免费资源申请
授权加盟
学员专区&薪资
认证课程
  • 尚观首页
  • 尚观简介
  • 师资力量
  • 尚观文化
  • 尚观动态
  • 加入尚观
  • 联系我们
  • 珍贵瞬间
  • Linux系统与集群
  • 数据库集群架构师
  • 嵌入式内核驱动开发
  • 服务器开发架构师
  • 研发型测试架构师
  • RHCE/LPI认证体系
  • Oracle OCP认证
  • 企业高级技术培训
  • 批量人才供应及研发团队建设
  • 软件外包及研发项目合作
  • 人力外包及人力供应
  • 猎头服务
  • 开启职业生涯
  • 如何入门
  • Unix/Linux职业方向
  • 嵌入式职业方向
  • 集群(Cluster)Oracle(DBA)方向
  • 新手专栏
  • Unix/Linux新手专栏
  • Unix/Linux管理
  • 嵌入式及POSIX开发
  • Linux开源文化及市场
  • 最近网络课堂
  • P2P教学视频
  • 精彩Linux培训视频
  • 零起点数据库集群(长期)
  • 嵌入式驱动(长期)
  • Linux金牌三证(RHCE级)
  • Linux架构师(RHCA级)
  • 嵌入式/驱动加速课程
  • 其他咨询
  • Linux免费网络安全公开课
  • 免费Linux资料申请
  • 免费Linux安全&DDOS防御课程
  • 免费嵌入式Linux开发课程
  • 免费Linux网络安全机制
  • 授权加盟&报名点申请
  • 如何加盟
  • 我们的优势
  • 成功案例
  • 行业市场分析
  • 授权加盟中心
  • 学员毕业薪资(不断更新中)
  • 加入尚观猎头服务(仅限老学员)
  • 学员交流论坛
  • OCP认证
  • Intel认证
  • RHCE认证
  • RHCE+OCP
  • RHCE+LPI


    您现在的位置:尚观Linux培训 - 嵌入式Linux培训专家尚观Linux培训 » Unix/Linux管理 » CoreAVC for Linux 安装指南

CoreAVC for Linux 安装指南

 
咨询热线
  • 免费咨询电话:
    400-700-0056
    800-810-0056

    教学就业监督电话:
    400-810-3016

  • QQ在线咨询:

    在线咨询

免费资源
  • -4月24日
  • [沈阳]Linux嵌入式-4月24日
  • [上海]DDos攻防-4月24日
  • [上海]Linux嵌入式-4月24日
  • [深圳]DDos攻防-4月24日
  • [深圳]Linux嵌入式-4月24日
  • [北京]DDos攻防-4月24日
  • 就业课程
  • 免费课程
  • 五万年薪就业保证课程

  • ULP-S 尚观王者IT集群课程
  • UEA-嵌入式内核驱动开发者
  • UGA-4G游戏与应用开发架构师
  • ULA-Linux系统与集群架构师
  • UOA-Oracle数据库集群架构
  • 八万年薪就业保证课程

  • UOM- Oracle集群大师
  • UEM-嵌入式开发大师
  • OCM考试指南全国免费公开课—全面解析及经验分享 7月17日
  • Linux网络攻击威胁分析以及Linux安全技巧 7月27日
  • 零基础轻松快速掌握嵌入式开发技术 7月14日
  • 4G手机游戏与应用高级开发实战课 8月31日
  • iPhone游戏及应用开发高级课程 7月12日
Linux培训●最新开班
  • [大连]ULA课程6月班热招!
  • [沈阳]UEA课程6月班热招!
  • [沈阳]ULA课程6月班热招!
  • [北京]UEA课程6月班热报!
  • [北京]UOA/ULA课程6月班!
  • [上海]UEA课程5月班热招!
  • [上海]ULA/UOA课程6月班!
  • [深圳]UEA课程6月班热招!
 
文章内容
  • 随着高清视频的逐渐流行,对于 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/">http://coreavc-for-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 "HKLM\\Software\\CoreCodec\\CoreAVC Pro\\Serial" -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
        ProductVersion: 1.9.0
        Win32 LoadLibrary failed to load: nvcuvid.dll, /usr/lib/win32/nvcuvid.dll, /usr/local/lib/win32/nvcuvid.dll
        Decoder supports the following YUV formats: YUY2 UYVY YV12 I420
        Decoder is capable of YUV output (flags 0x2b)
        Setting fmt
        Starting
        Initialization is complete
        此时你可以选择在这里下载它提示缺失的 nvcuvid.dll,然后复制到 /usr/lib/win32 目录下
        7z x dgmpgdecnv100b.zip nvcuvid.dll
        su -c 'cp -v nvcuvid.dll /usr/lib/win32/'
        不过经个人测试这个 dll 文件没什么用处:它是 CoreAVC 1.9 在 Windows 平台下利用 CUDPA GPU 计算加快解码速度的接口,在 Linux 平台下不会起什么作用的……

        7.编译并安装 MPlayer
        首先当然是解压缩源代码包:
        tar xf mplayer-export-snapshot.tar.bz2
        之后进入所在MPlayer 源代码目录:
        cd mplayer-export-*
        生成编译配置文件:
        ./configure --disable-x264 --disable-x264-lavc --language=zh_CN
        如果没有提示错误的话,就打上 CoreAVC for Linux 的补丁:
        patch -p0 ../coreavc-for-linux/mplayer/dshowserver.patch
        如果没有提示错误的话,就可以开始编译了,首次编译大概需要15分钟左右,以后源代码包更新时有 ccache 帮助就会快很多:
        make
        如果没有提示错误的话,就可以安装了:
        su -c 'make install'

        8.配置解码器预置文件
        将默认配置文件复制到MPlayer用户配置文件目录下,注意是 etc/codec.conf(也就是当前MPlayer 源代码下的 etc 目录),而不是 /etc/codec.conf (这个是系统etc目录):
        cp -v etc/codecs.conf $HOME/.mplayer/
        使用任意文本编辑器修改此文件,比如 gedit:
        gedit $HOME/.mplayer/codecs.conf
        之后将以下内容
        videocodec coreserve
        info "CoreAVC DShow H264 decoder 1.3 for x86 - http://corecodec.org/"
        status working
        format 0x10000005
        fourcc H264,h264 H264
        fourcc X264,x264
        fourcc avc1,AVC1 AVC1
        fourcc davc,DAVC
        fourcc VSSH
        driver dshowserver
        dll "CoreAVCDecoder.ax"
        guid 0x09571a4b, 0xf1fe, 0x4c60, 0x97, 0x60, 0xde, 0x6d, 0x31, 0x0c, 0x7c, 0x31
        out YV12,IYUV,I420,YUY2
        添加到
        ;=============================================================================
        ; VIDEO CODECS
        ;=============================================================================
        之后,并且与下一个 videocodec 之间空一行。保存退出。

        至此, CoreAVC for Linux 应用于 MPlayer 的过程结束

        9.(可选)配置 SMPlayer
        (1)确定使用正确的 MPlayer 版本:
        “选项“-”首选项“-“常规”,在“常规”选项卡的“选择 MPlayer 的可执行文件“中输入
        /usr/local/bin/mplayer
        (2)取消 Draw video using slices:
        “选项“-”首选项“-“常规”,在“视频“选项卡中取消”Draw video using slices”。
        (3)取消 CoreAVC 不支持的反拉丝,并让 CoreAVC 自己决定后期处理级别:
        “选项“-”首选项“-“常规”,在“视频“选项卡中将反拉丝设为“无“,取消“为所有视频启用后期处理”。
        (4)关闭会导致错误的 Correct PTS 选项:
        “选项“-”首选项“-“高级”,在“高级“选项卡中取消“Correct PTS“。
        点击“确定“保存退出。

        当播放高清视频时点击“信息“后,若是显示在“视频“-”选择编码器“中显示”coreserve“,恭喜你,成功了!

        ffh264 与 CoreAVC 解码效率对比:
        根据 MPlayer man 手册的建议,对手头的 辐射3官方720P 宣传片进行测试。

        使用 ffh264 时:
        mplayer -benchmark -vo null -nosound -vc ffh264 fallout3_HD.mp4
        原始输出:
        MPlayer SVN-r28764-snapshot-4.3.2 (C) 2000-2009 MPlayer Team
        137 audio & 297 video codecs
        mplayer: could not connect to socket
        mplayer: No such file or directory
        Failed to open LIRC support. You will not be able to use your remote control.
        Playing fallout3_HD.mp4.
        libavformat file format detected.
        [lavf] Audio stream found, -aid 0
        [lavf] Video stream found, -vid 1
        VIDEO: [avc1] 1280×720 24bpp 29.970 fps 0.0 kbps ( 0.0 kbyte/s)
        Clip info:
        name: Fallout 3 Official Trailer
        ==========================================================================
        Forced video codec: ffh264
        Opening video decoder: [ffmpeg] FFmpeg’s libavcodec codec family
        Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
        ==========================================================================
        Audio: no sound
        Starting playback…
        VDec: vo config request - 1280 x 720 (preferred colorspace: Planar YV12)
        VDec: using Planar YV12 as output csp (no 0)
        Movie-Aspect is undefined - no prescaling applied.
        VO: [null] 1280×720 => 1280×720 Planar YV12
        V: 193.7 0/ 0 41% 0% 0.0% 0 0
        BENCHMARKs: VC: 80.627s VO: 0.023s A: 0.000s Sys: 1.091s = 81.741s
        BENCHMARK%: VC: 98.6373% VO: 0.0278% A: 0.0000% Sys: 1.3349% = 100.0000%
        Exiting… (End of file)

        使用 CoreAVC 时:
        mplayer -benchmark -vo null -nosound -vc coreserve fallout3_HD.mp4
        原始输出:
        MPlayer SVN-r28764-snapshot-4.3.2 (C) 2000-2009 MPlayer Team
        137 audio & 297 video codecs
        mplayer: could not connect to socket
        mplayer: No such file or directory
        Failed to open LIRC support. You will not be able to use your remote control.
        Playing fallout3_HD.mp4.
        libavformat file format detected.
        [lavf] Audio stream found, -aid 0
        [lavf] Video stream found, -vid 1
        VIDEO: [avc1] 1280×720 24bpp 29.970 fps 0.0 kbps ( 0.0 kbyte/s)
        Clip info:
        name: Fallout 3 Official Trailer
        ==========================================================================
        Forced video codec: coreserve
        Opening video decoder: [dshowserver] DirectShowServer video codecs
        Opening device
        Called unk_IsDebuggerPresent
        len: 992
        ProductVersion: 1.9.0
        Decoder supports the following YUV formats: YUY2 UYVY YV12 I420
        Decoder is capable of YUV output (flags 0×2b)
        Setting fmt
        Starting
        Initialization is complete
        VDec: vo config request - 1280 x 720 (preferred colorspace: Packed YUY2)
        [PP] Using codec’s postprocessing, max q = 4.
        VDec: using Planar YV12 as output csp (no 0)
        Movie-Aspect is undefined - no prescaling applied.
        VO: [null] 1280×720 => 1280×720 Planar YV12
        Found DirectShow filterSelected video codec: [coreserve] vfm: dshowserver (CoreAVC DShow H264 decoder 1.3 for x86 - http://corecodec.org/)
        ==========================================================================
        Audio: no sound
        Starting playback…
        Dshowserver Connected to host
        pts value < previous ??% ??,?% 0 0
        V: 193.6 0/ 0 22% 0% 0.0% 0 0
        BENCHMARKs: VC: 43.521s VO: 0.024s A: 0.000s Sys: 1.697s = 45.241s
        BENCHMARK%: VC: 96.1975% VO: 0.0525% A: 0.0000% Sys: 3.7499% = 100.0000%
        Destroying filter
        Exiting… (End of file)

        根据此文中对各项结果的说明,可以看出使用 CoreAVC 可以使用户空间上解码所用时间从 ffh264 的 80.627s 下降到 43.521s,也就是说速度提升了46%((80.627-43.521)/80.627)!只是在内核空间上有小幅度的提升,从ffh264 的 1.091s 升高到1.697s。据此可见 CoreAVC 的解码效率还是相当惊人的。

        总结
        个人使用了一些 720P 的片子测试,做为一款需要掏钱的解码器,画面效果相当出色,也没有跳帧的现象发生,但是 CPU 占有率并没有明显下降,是由于 CoreAVC 会在能保持流畅的时候使用剩余 CPU 资源去做画质后处理。在本人 Turion 64 X2 TL-58 /DDR2 800 2*2GB / GeForce 8400M G 128M 的机子上 CPU 占有率在 40% 至 90% 间浮动。没有 1080P 的资源,不知道此时的 CPU 占有率如何。

        如果你的 CPU 性能不错但是显卡不被 VDPAU 支持,并且无法忍受 ffmpeg-mt git 1b/s 的下载速度,那么 CoreAVC 的确是目前在 Linux 播放高清视频的最佳选择。

        附:如何在 Windows 平台上的 SMPlayer 中使用 CoreAVC
        1.到这里下载带有 CoreAVC 支持的 MPlayer 可执行文件。
        2.用上面下载的 mplayer.exe 覆盖掉 SMPlayer for Windows 安装时附带的 mplayer.exe。
        3.将 CoreAVC 安装目录下的 CoreAVCDecoder.ax 文件复制到 SMlayer 目录下的 codec 目录中。
        4.执行上文 SMPlayer 配置中(2)(3)(4)。
        5.在 SMPlayer 的 “选项“-”首选项“-“高级”,在“MPlayer选项“选项卡中的“选项“处填入-vc coreavc,,注意不要漏掉最后的逗号!

    原文链接:http://linuxtoy.org/archives/coreavc-for-linux-installation-guide.html




    精彩Linux视频,免费先学!

    查看:尚观Linux培训学员最新就业薪资待遇统计报告!

    查看:UTA-高级研发型测试架构师大纲
    查看:UDA-Linux服务器开发架构师大纲
    查看:UEA-嵌入式内核驱动开发者大纲
    查看:UOA-Oracle数据库集群架构大纲
    查看:ULA-Linux系统与集群架构师大纲

    填表获取 Linux、嵌入式、Oracle 技术资料

  • 姓    名:
  • 固    话:
  • 手    机:
  • E-Mail :
  • 所在地:
  •         

北京(Beijing)

电子地图
电话:(010)62113016/17 68949060
地址:北京海淀区中关村南大街 甲10号 银海大厦南区410-418

上海(Shanghai)

电子地图
电话:(021)64859996 64859889
地址:上海徐汇区钦江路333号漕河泾开发区38号楼申能科技3楼

深圳(Shenzhen)

电子地图
电话:(0755)82995128 82995168
地址:深圳福田区 彩田路 中深花园B2005室

沈阳(Shenyang)

电子地图
电话:(024)31500816 31500817
地址:沈阳和平区三好街54号物产科贸大厦2号楼201室

大连(Dalian)

电子地图
电话:(0411)84336822 84326822
地址:大连沙河口区西安路86号行政大厦(罗斯福广场对面)17楼1705室

成都(Chengdu)

电子地图
电话:(028)66677820 66677828 66677829
地址:成都青羊区上西顺城街252号顺吉大厦8楼A3

2005-2009高新技术企业

LPI授权培训考试中心

CSDN战略伙伴

51Job战略伙伴

Oracle WDP授权培训与考试中心

Intel软件服务培训供应商

Redhat授权培训与考试中心

国家高新技术企业认证
 

友情链接(联系QQ:87865954):   LPI  RedHat  CSDN  ChinaUnix  ITPub  Eygle.Com  PHP中国  网易教育  Linux培训  嵌入式培训 
Linux联盟  21CN教育  Unix爱好者家园  ZOL服务器  广告联盟  Linux  嵌入式技术网  股票入门  大功率LED网   搜电网   网页制作
杭州写字楼网  时尚论坛  医药营销联盟  Linux技术中心  泉州人才网  广州招聘网  天天健康  上海商铺  北京赶集网  畅享网  SVN中文技术网 
网罗天下  工具软件下载  Oracle培训  北京法律咨询  天津赶集网  嵌入式资讯网  天极导航  Fedora中文爱好者  oklinux  沸点100网  Linux公社 
深圳本地宝  IT英才网  教培英才网  个人简历模板  中国二手车城  连锁加盟  天极网南京站

COPYRIGHT © 2000-2009 北京尚观科技有限公司 - Linux培训及嵌入式培训专家 ALL RIGHTS RESERVED

咨询热线:400-700-0056    800-810-0056
京ICP备05058027号 | Linux就业信息 | 免责声明 |