最近,MPlayer 官方網站刊載了一篇名為《Video Acceleration and You》的文章,該文簡述了使用 MPlayer 來觀看 1080 H.264 高清電影的幾種方案,茲摘錄如下,並加以說明。
VDPAU 即 Video Decode and Presentation API for Unix 的簡稱,它是由 NVIDIA 針對 GeForce 8 及更新的系列所設計的一套 API,既有解碼,也有解碼後處理,可以大幅降低 CPU 的占用率。
目前,MPlayer 的 SVN 版本已經提供了針對 VDPAU 的支持,你將需要通過 Subversion 版本控制工具來獲取其源代碼並自行編譯。同時,在播放時需指定 -vo vdpau -vc ffh264vdpau
選項和參數。
FFmpeg-mt 是一個包含多線程實驗性功能的 FFmpeg 新分支,它可以充分利用多核或多個 CPU 的優勢,從而加快視頻解碼過程。
FFmpeg-mt 的源代碼可由 Git 取得,編譯及安裝可使用以下命令:
git clone git://repo.or.cz/mplayer && cd mplayer && git checkout origin/mt && git submodule init && git submodule update && ./configure && make && make install
同樣,播放時需指定相應選項和參數:-lavdopts threads=N
,其中 N 即線程數。
CoreAVC 據說是 Windows 平台下最好的 H.264 解碼器,包含多線程、多核(專業版)等支持,其最大的特色是快。通過 CoreAVC for Linux 可以在 Linux 下使用 CoreAVC。之前,該項目曾被 CoreAVC 的開發商要求關閉,後來經過溝通在 Google Code 上得已重新開放。
關於 CoreAVC for MPlayer 的安裝,可以參考這篇安裝指南。
得益於好友 Dark 的幫助,我目前使用的即是這種方案。我的體驗是,1080P 的片子可以流暢播放,CPU 占用率在 40%~70% 之間徘徊(我的是 Intel Pentium Dual-Core E2140 CPU);720P 的更低一些,大約在 10%~40%。
綜上,第一種方案針對顯卡的要求要高一些,我的 GeForce 7300GT 目前便無福消受;第三種呢,CoreAVC 需要額外花錢購買,專業版要 15 刀;第二種方案倒是非常值得一試。
本文來自http://linuxtoy.org/archives/play-hd-movies-with-mplayer.html