Media PlayerまたはVLCでビデオ、mkv、mp4などを開くと、すべてが次のように表示されます。
これは以前は正常に機能していましたが、LinuxバージョンのShadowを機能させるために何かを台無しにしたのではないかと心配しています。
vlcは次を出力します:avcodec decoder: Using G3DVL VDPAU Driver Shared Library version 1.0 for hardware decoding.
VDPAU_DRIVER=vdpau
を設定すると、エラーFailed to open VDPAU backend libvdpau_vdpau.so: cannot open shared object file: No such file or directory
が表示されますが、その後ビデオは完全に正常に再生されます。これを修正する方法についてのアイデアはありますか?
編集:mesa-vdpau-driverをアンインストールし、VLCは動作しますが、VA-APIがデフォルトになっていると思われますが、Media Playerは引き続き問題です。なぜこれが始まったのかまだわかりません。
Sudo lshw -c video
*-display
description: VGA compatible controller
product: Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:01:00.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
configuration: driver=radeon latency=0
resources: irq:46 memory:c0000000-cfffffff memory:dfe00000-dfe3ffff ioport:e000(size=256) memory:c0000-dffff
その理由は、アクセラレーションバックエンドが適切に機能していないためです。 AMD/Intelチップは、VA-API HWアクセラレーションをネイティブでサポートします。
ただし、ほとんどのプレーヤーは、NVIDIA標準であるVDPAUのみをサポートしています。
解決策は、VA-APIバックエンドを使用してVDPAUを高速化することです。
まず、あなたが持っているものを確認してください:
Sudo apt install vdpauinfo vainfo
vainfo
vdpauinfo
vainfoは次のような結果を返します。
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.39 (libva 1.7.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 1.7.0
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointEncSlice
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
(動作中)vdpauinfoは次のように表示されます:
Decoder capabilities:
name level macbs width height
----------------------------------------------------
MPEG1 --- not supported ---
MPEG2_SIMPLE --- not supported ---
MPEG2_MAIN --- not supported ---
H264_BASELINE 51 16384 2048 2048
H264_MAIN 51 16384 2048 2048
H264_HIGH 51 16384 2048 2048
VC1_SIMPLE --- not supported ---
VC1_MAIN --- not supported ---
VC1_ADVANCED --- not supported ---
MPEG4_PART2_SP --- not supported ---
MPEG4_PART2_ASP --- not supported ---
DIVX4_QMOBILE --- not supported ---
DIVX4_MOBILE --- not supported ---
DIVX4_HOME_THEATER --- not supported ---
DIVX4_HD_1080P --- not supported ---
DIVX5_QMOBILE --- not supported ---
DIVX5_MOBILE --- not supported ---
DIVX5_HOME_THEATER --- not supported ---
DIVX5_HD_1080P --- not supported ---
H264_CONSTRAINED_BASELINE 51 16384 2048 2048
H264_EXTENDED --- not supported ---
H264_PROGRESSIVE_HIGH --- not supported ---
H264_CONSTRAINED_HIGH --- not supported ---
H264_HIGH_444_PREDICTIVE --- not supported ---
HEVC_MAIN --- not supported ---
HEVC_MAIN_10 --- not supported ---
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 --- not supported ---
HEVC_MAIN_444 --- not supported ---
これは私のシステムの(正しい)出力です。 VA-APIとVDPAUの両方が高速化を提供します。問題は、VDPAUバックエンドが正しいアクセラレーションを提供していないことです。そのため、VDPAUを無効にすると(VDPAU_DRIVER = vdpau設定)、正しい出力が得られますが、加速は得られません。
したがって、VA-APIが正しくセットアップされていると仮定して、VDPAUのVA-APIバックエンドをインストールします。これを行う:
apt install libvdpau-va-gl1
そしてVDPAU_DRIVER = va_glで試してください
また、VA-APIの上でVDPAUを使用しているため、中間者をカットし、(VLCでは)VA-API hw accelを直接使用します(VLCはそれをサポートします)。
また、mpvを使用できます(これは、VA-APIをネイティブにサポートする優れたプレーヤーです)。
Radeon(AMD/ATI)グラフィックスカードがあるため、Radeonドライバーをインストールする必要があります。 2つのvdpau「フレーバー」があります。1つはインテル(カーネルが提供)、もう1つはAMD(ソースが近いradeonドライバーが提供)です。エラーは、間違ったVDPAUドライバーがアドレス指定されたことを説明できます。