4K/HDR 播放

4K 性能建议

  • 只用 64 位视频播放器,并确保至少有 8 GB 内存
  • 支持 4K/HEVC 的硬件解码器必不可少(VLC 除外,见下文!)
  • 在兼容显卡(Turing 及更新)上通过 NVIDIA Optical Flow 启用完整硬件加速
  • mpv 或 VLC:关闭 SVP 菜单 → Application settings → Additional options → Allow output in 10-bit color depth(允许以 10 位色深输出)以节省 CPU 算力
  • 仅限 VLC:务必(!!!)关闭硬件视频解码器,或者干脆通过 SVP 主菜单启动 VLC

HDR 播放

Windows

在 SVP 下播放 HDR 的最佳选择是:DirectShow 播放器(MPC-HC)+ Avisynth(VapourSynth)Filter(AVSF)+ MPC Video Renderer。

madVR 渲染器也可以。

Dolby Vision 支持

正确播放 DoVi 仅支持于:

  • DirectShow 播放器(MPC-HC)+ Avisynth(VapourSynth)Filter + MPC Video Renderer,
  • SVP 预编译的 mpv。

macOS

IINA 1.3.1+ 支持在 HDR 屏幕上播放 HDR:

  1. macOS → 系统设置 → 显示器 → 高动态范围(High Dynamic Range)= 开
  2. IINA → Settings → Video/Audio → Enable HDR support = 开

mpv 从 0.40 起也支持 HDR:

  1. macOS → 系统设置 → 显示器 → 高动态范围(High Dynamic Range)= 开
  2. 在 mpv.conf 中加上 target-colorspace-hint 选项
  3. 不建议在显示器设置里关闭 HDR 的情况下使用 target-colorspace-hint

在 HDR 显示器上播放 HDR 视频

仅限 Windows 10/11:本节仅适用于配有 HDR 显示器的 Windows 10/11。

  • Avisynth Filter(或 VapourSynth Filter)+ MPC Video Renderer 是最佳选择。
  • mpv 可以在 vo=gpu + gpu-api=d3d11 模式(默认)下播放 HDR,但它不能把显示器切到 HDR 模式。注意:这在“vo=gpu-next”下不工作!
  • VLC 3.0 也能做到同样的事,不过 mpv 的性能更好;VLC 必须以“Direct3D11 video output”方式运行。

对 mpv 和 VLC 而言,你需要先在 Windows 显示设置里打开“使用 HDR”(Use HDR)或“播放 HDR 游戏和应用”(Play HDR games and apps)或“HDR 与 WCG”(HDR and WCG)开关(名称因 Windows 版本而异)。

Windows 显示设置中的 HDR 开关
Windows 显示设置里的 HDR 开关

在 SDR 显示器上播放 HDR 视频

需要一种叫做“HDR 色调映射”(HDR tone mapping)的特殊色彩处理,否则颜色会发白、灰蒙蒙的。

未做色调映射时颜色发白的画面
未做色调映射时,画面颜色发白

DirectShow 视频播放器

在 DirectShow 视频播放器(如 MPC-HC)里,只有两种渲染器能做色调映射:madVR 或 MPC Video Renderer。

如果你能用 Avisynth(VapourSynth)Filter + MPC Video Renderer —— 就用它!

如果出于某种原因你用不了 AviSynth(VapourSynth)Filter + MPC VR/madVR,还有一个兼容方案 —— SVP 自带的色调映射实现。它简单得多,但至少能让 HDR 电影可看。SVP 菜单 → Application settings → Additional options → Try to recover HDR colors(尝试还原 HDR 色彩)默认开启,所以应该“开箱即用”。

SVP 设置中的 Try to recover HDR colors 选项
「尝试还原 HDR 色彩」(Try to recover HDR colors)选项

这不是真正的 HDR 色调映射,但这是我们为挽救局面能做到的最好程度。

mpv 视频播放器

mpv 有大量色调映射选项,还支持 10 位视频,因此画质比任何带 SVP“色彩还原”的 DirectShow 播放器都准确得多。但它也需要多得多的 CPU 算力,尤其是在 10 位色深模式下(见 SVP 菜单 → Application settings → Additional options → Allow output in 10-bit color depth)。

这适用于所有基于 mpv 的播放器:Plex Media Player、IINA 等。

VLC

VLC 会自动做色调映射,但仅限 Direct3D11 视频输出模式。

注意:如果你从 SVP 菜单启动 VLC,它默认会被切到 Direct3D9 模式,因为 D3D9 模式流畅得多。要改掉这个行为,把 SVP「所有设置」(All settings)面板里的 main.setup.vlc.d3d9 设为“false”。

转码

目前只能对 10 位 HDR 源应用色调映射滤镜并转换成 8 位 SDR。有两种选择:

  1. 快速的 SVP 色调映射(与“Try to recover HDR colors”选项相同)—— 在所有转码模式下默认启用
  2. 慢但质量更高的 ffmpeg 滤镜色调映射:切换到「高级」(Advanced)模式并选择“tonemap”滤镜,它会把相应字符串加进 lavfi 字段:

同时把 depth 设为 8-bit。关于 tonemap 滤镜的更多选项见此。