隨著高清視頻的逐漸流行,對於 H264 解碼器的性能要求也越來越高。 由於缺乏廠商支持,FFmpeg 中的 ffh264 解碼器由於解碼效率不高,使得一些 CPU 配置較低的機子無法播放高清視頻。如果你為此困擾,請參看Linux 下使用 MPlayer 觀看高清電影的三種解決方案 一文。本文將介紹如何將介紹其中的第三種: CoreAVC for Linux 。
如果您的顯卡不支持 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 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/'