はじめに
Nvidiaからカードを入手したとき、ビデオの再生に問題はありませんでした。mplayerWebサイトから最新のスナップショットをダウンロードし、独自のドライバーをインストールし、vdpauサポートでビルドし、適切なコーデックと出力デバイスを追加すると、すべてが機能しますディストリビューションサポートvdpauは既にmplayerにあります)。
少し前、AMD Radeonを入手しました。ビデオカードを選択するときに、ハードウェアデコードの設定に関連するものなど、Radeonを使用するための精神的な障壁が存在しました。 しかし、彼らは問題の財政面でうまく壊れたので、UVD3でAMD Radeon HDを手に入れました。
この記事は、「ビデオカードでビデオをデコードする方法+将来のメモとして保存する」というトピックに関する検索の結果として登場しました。 それでは始めましょう。
注:コメントでは、これは廃止されたメソッドであることが示されました。新しいメソッドは参照によって説明され、完成したスクリプトはこちらです。
用語について少し
ユニファイドビデオデコーダー(Rus。ユニファイドビデオデコーダー、以前はUniversal Video Decoderと呼ばれていた-Rus。ユニバーサルビデオデコーダー、略称UVD)-ビデオコーデックによって圧縮されたビデオデータビットストリームのハードウェアデコード用に設計された、アメリカ企業AMDによって製造されたGPUのハードウェアコンポーネント(ブロック) H.264、VC-1、およびMPEG-2 [1]
X-Video Bitstream Acceleration(XvBA)、X Window Systemに相当するDXVA、MPEG-2、H.264、VC-1をサポート[2]
Xvba
Linuxでは、NVIDIA-vdpau、AMD-XvBAなど、さまざまなテクノロジーがビデオのデコードに使用されます。 この記事では、XvBAのインストール方法について説明します。 ソースまたはバイナリから配信できます。 必要なものはすべてサイトにあります: http : //www.splitted-desktop.com/~gbeauchesne/ 以下では、まずバイナリパッケージからのインストール例を示し、次にソースコードからのインストール例を示します。 Ubuntu 11.04(natty)、64ビットで実行したすべてのアクションに注意してください。
バイナリパッケージからのインストール
注1:64ビットバージョンのOSを使用しているため、次の手順は64ビット用です。 32ビットOSの場合、これらのパッケージの対応するバージョンがあります。 (例:libva1_0.32.0-1 + sds2_amd64.debの代わりにlibva1_0.32.0-1 + sds2_i386.deb)
注2:このサイトでは、32ビットOS用に組み立てられたmplayerを紹介しています(現在、最新バージョンはmplayer-vaapi-20110127.i686.tar.bz2です )。 したがって、mplayerをビルドしない場合は、これを利用できますが、いくつかのパッケージをインストールする必要がある可能性があります。
1.パッケージをダウンロードする
wget www.splitted-desktop.com/~gbeauchesne/xvba-video/xvba-video_0.8.0-1_amd64.deb www.splitted-desktop.com/~gbeauchesne/libva/pkgs/amd64/libva1_0.32.0-1+sds2_amd64.deb www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-latest-FULL.tar.bz2 www.splitted-desktop.com/~gbeauchesne/libva/pkgs/amd64/libva-dev_0.32.0-1+sds2_amd64.deb
注:mplayerをビルドしない場合、mplayer-vaapi-latest-FULL.tar.bz2ファイルだけでなく、devパッケージも必要ありません。
2.インストール
sudo apt-get install libdrm-dev #
sudo dpkg -i libva1_0.32.0-1+sds2_amd64.deb xvba-video_0.8.0-1_amd64.deb libva-dev_0.32.0-1+sds2_amd64.deb
vainfoコマンドを実行して、xvbaの状態を確認できます。
$ vainfo
libva: libva version 0.32.0-sds2
Xlib: extension "XFree86-DRI" missing on display ":0.0".
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA API version: 0.32
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0
vainfo: Supported profile and entrypoints
VAProfileH264High : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
次に、MPlayerを配置します。
注:既にアセンブルされたものを使用する場合、それを解凍し、bashがそれを見つけることができるフォルダーにコピーするだけで十分です。そのため、mplayerコマンドを呼び出して、パス全体を指定することはできません(たとえば、/ usr / local / bin、cp mplayerなど) / usr / local / bin)、彼はライブラリも必要になります。ldd$コマンド(mplayer)でその可用性を確認し、必要に応じてインストールできます。
sudo apt-get build-dep mplayer # ,
sudo apt-get install yasm # - c build-dep
tar xf mplayer-vaapi-latest-FULL.tar.bz2 #
cd mplayer-vaapi-20110127 # . -
sh checkout-patch-build.sh #
cd mplayer-vaapi #
sudo make install #
これで、VAAPIをサポートしたmplayerが動作するようになりました!
ソースコードビルド
wget www.splitted-desktop.com/~gbeauchesne/xvba-video/xvba-video-0.8.0.tar.gz www.splitted-desktop.com/~gbeauchesne/libva/libva_0.32.0-1+sds2.tar.gz www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-latest-FULL.tar.bz2 #
sudo apt-get build-dep mplayer # ,
sudo apt-get install autoconf libtool libxfixes-dev yasm #
tar xf libva_0.32.0-1+sds2.tar.gz # libva
cd libva-0.32.0/
for p in debian/patches/*.patch; do patch -p1 < $p; done #
autoreconf -vif #
./configure #
make #
sudo make install #
cd .. #
wget developer.amd.com/downloads/xvba-sdk-0.74-404001.tar.gz # xvba-video
tar xf xvba-sdk-0.74-404001.tar.gz include/amdxvba.h #
sudo cp include/amdxvba.h /usr/local/include #
sudo ln -s /usr/lib/fglrx/libXvBAW.so.1 /usr/local/lib/libXvBAW.so #
tar xf xvba-video-0.8.0.tar.gz #
cd xvba-video-0.8.0/
./configure
make
sudo make install #
cd ..
tar xf mplayer-vaapi-latest-FULL.tar.bz2 # MPlayer
cd mplayer-vaapi-20110127/
sed -i 's\/usr/include/va/va.h\/usr/local/include/va/va.h\g' checkout-patch-build.sh # libva /usr/local/include, /usr/include
sh checkout-patch-build.sh #
cd mplayer-vaapi
sudo make install #
さらに
行
LIBVA_DRIVER_NAME="fglrx"
を/ etc /
LIBVA_DRIVER_NAME="fglrx"
追加するか、〜/ .bashrcに追加できます:export LIBVA_DRIVER_NAME = fglrx(この変数がないと、mplayerは起動しません)
コマンドラインで毎回パラメーターを入力しないようにするには、それらを〜/ .mplayer / configに入れます:
va=vaapi
vo=vaapi
GLを使用するには:vo = vaapi:gl
おわりに
この記事では、おそらくテストだけが欠けているので、次の図を考えてみましょう。CPUを使用した同じビデオの場合、負荷の割合は80%に達し、メモリ消費は最大28.2 MB、GPUの場合、CPU負荷は6%、まれに8% (シーンに関係なく安定)、メモリ消費量68-69mb。 GPUをロードしています...うーん...そしてロードしませんでした!
将来的には、Ubuntu XvBAサポートの将来のリリースですぐに使えることを期待しています。