免责声明:抱歉,这是 VLC 的答案,而不是 mpv 播放器的答案。我相信 mpv 播放器存在错误或缺乏支持,因为在我的设置中,虽然 VLC 在 CPU 较低的情况下工作正常,但 mpv 播放器却不能。您可能会遇到 FFmpeg 多线程问题(请参阅第 4 点)。
我真的很难让它发挥作用,而且与 AMD 相比,我对 NVIDIA GTX 10*0 (Pascal) HEVC 支持有限感到有点失望。
编辑:自 450.51+ 版本起,NVIDIA VDPAU 驱动程序现在支持 Linux 上的 HEVC Main 10 配置文件
检查媒体文件 HEVC 配置文件:您可以通过右键单击文件 > Properties
>Audio/Video
选项卡 > Video
>来检查文件 HEVC 配置文件Codec
。
检查驱动程序 HEVC 配置文件支持:切换到 NVIDIA 专有驱动程序(见下文)并运行:
$ vdpauinfo
Information string: NVIDIA VDPAU Driver Shared Library 367.57 [crop]
Decoder capabilities:
name level macbs width height
----------------------------------------------------
[crop]
HEVC_MAIN 153 262144 8192 8192
HEVC_MAIN_10 --- not supported ---
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 --- not supported ---
HEVC_MAIN_444 --- not supported ---
$ vdpauinfo
Information string: NVIDIA VDPAU Driver Shared Library 450.80.02 [crop]
Decoder capabilities:
name level macbs width height
----------------------------------------------------
[crop]
HEVC_MAIN 153 262144 8192 8192
HEVC_MAIN_10 153 262144 8192 8192
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 153 262144 8192 8192
HEVC_MAIN_444 --- not supported ---
Run Code Online (Sandbox Code Playgroud)
您至少需要 R367 版本 ( nvidia-367
)。
software-properties-gtk &
Run Code Online (Sandbox Code Playgroud)
转到Additional drivers
选项卡,检查NVIDIA binary driver
并Apply
更改。
当然,你必须在VLC中启用硬件加速Tools
>> Preferences
( Simple
) Input / Codecs
>> Hardware-acceleration decoding
= Auto
。对于 NVIDIA,您可以VDPAU video decoder
明确选择。
VLC 2.2.2 (Ubuntu 16.04) 中有几个错误,在更高版本中已修复(请参阅:更改日志),这些错误会导致此误导性错误:
$ vlc --version
VLC media player 2.2.2 Weatherwax
$ vlc <file>
[crop]
[00007fa4b42cc5d8] vdpau_avcodec generic error: unsupported codec 1211250229 or profile 1
Run Code Online (Sandbox Code Playgroud)
这显然是一个误导性且有缺陷的错误。很难说,但1211250229
确实意味着AV_CODEC_ID_HEVC
(可以通过用rustc
这个生锈的代码编译来检查)。我们可以看到vdpauinfo
HEVC 配置文件1
( =Main
) 是受支持的。
目前,官方 VLC PPA 尚未提供 VLC 2.2.4(请在此处查看稳定版本)。因此,从 master 分支升级到 VLC 3.0(在此处检查 master 版本),但请记住它是夜间版本:
$ sudo add-apt-repository ppa:videolan/master-daily
$ sudo apt update
$ sudo apt install vlc
$ vlc --version
[crop]
VLC version 3.0.0-git Vetinari
Run Code Online (Sandbox Code Playgroud)
由于这还不够,您现在可能会面临这个问题:
$ vlc <file> --verbose
[crop]
[00007f6bc4ccc688] avcodec decoder warning: thread type 1: disabling hardware acceleration
Run Code Online (Sandbox Code Playgroud)
VLC 论坛对此主题的解释:
这意味着您正在使用 FFmpeg,它不再允许同时启用硬件加速和线程。你需要使用 libav [但是]这是在编译 VLC 时决定的。您无法在运行时更改它。
在同一线程上,有一个解决方法:在 VLC > 工具 > 首选项(全部) > 输入/编解码器 > 视频编解码器 > FFmpeg 中,将值Threads
从0
(auto) 更改为1
。
你就完成了!
但这是一个手动解决方法:请记住,要观看非 GPU 加速的视频,您应该重置 VLC FFmpegThreads
设置以使用所有 CPU 核心...或使用 libav 从源代码编译 VLC。
归档时间: |
|
查看次数: |
19013 次 |
最近记录: |