我知道 mac 上有很多能播放原生 hdr 的播放器,所以本文不适合这部分用户看,纯给喜欢折腾或者坚守 mpv ,又苦于不能播放原生 hdr 很久的人
1 、我电脑里也装过很多播放器,比如 vidhub 、movist 、iina 之类的,vidhub 现在还用,但是生命在于折腾,还是觉得 mpv 很帅很优雅,但是这些年就是没法开启原生 hdr 播放,让我很苦恼,每隔几个月我都要在网上搜一搜怎么开启,但是就是没有,注意是 mac 平台啊,windows 能搜出一堆
2 、说一下我的实现,我也是在最新版出来后,某人提交的 bug 里发现了怎么开启 hdr ,具体参数我也不是很懂,欢迎大家改进。
mpv.conf 添加如下配置:
vo=libmpv
profile=gpu-hq
hwdec=auto
#实现 HDR 视频播放(下面的配置最好放在配置文件的最后)
[hdr on]
cocoa-cb-output-csp=bt.2100-pq
target-prim=bt.2020
target-trc=pq
在~/.config/mpv/scripts 目录下新建一个 hdr.lua 的文件,文件里写入内容如下:
local hdr_enabled = false
function toggle_hdr_settings()
if hdr_enabled then
mp.set_property("cocoa-cb-output-csp", "auto")
mp.set_property("target-prim", "auto")
mp.set_property("target-trc", "auto")
mp.set_property("screenshot-sw", "no")
mp.msg.info("HDR 关闭")
else
mp.set_property("cocoa-cb-output-csp", "bt.2100-pq")
mp.set_property("target-prim", "bt.2020")
mp.set_property("target-trc", "pq")
mp.set_property("screenshot-sw", "yes")
mp.msg.info("HDR 开启")
end
hdr_enabled = not hdr_enabled
end
mp.add_key_binding("H", "toggle-hdr-settings", toggle_hdr_settings)
配置好上述内容,当播放 hdr 视频时就可以按 shift+h 开启 hdr ,平时播放视频还是正常的。
由于我没找到怎么让 mpv 自适应 hdr 播放,所以只能弄了这么一个取巧的办法,因为如果一直开着 hdr ,普通视频也会整体高亮播放,其实看着并不舒服。
如果哪位大神能找到 mpv 自己判断 hdr 视频就自动开启 hdr 播放的方法,也请不吝赐教。
附上 arm 版 mpv 的下载地址:
https://laboratory.stolendata.net/~djinn/mpv_osx/