我知道 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/
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/1085803
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.