mpv在hlg下怎么设置出正确画面
potplayer吧
全部回复
仅看楼主
level 1
GnedFLº 楼主
设置成hlg后高光过曝,暗部死黑,是映射曲线设置的不对吗,还是大家都是用pq的
2025年08月02日 17点08分 1
level 11
hlg是真正现场HDR拍摄模式,通常用于直播或纪录片,现实中高光爆掉的现象很少见吗?大白天你中午到外面走一圈看看吧!
mpv对于任何格式的HDR,包括各种封装的杜比视界或HLG,只需要一行代码target-colorspace-hint=yes,就能进行各自正确的处理。
而对于HLG真实还原现实场景中的高亮内容,如果超出你的显示器的亮度能力范围,你就用target-peak=来进行调整,你不设置,那么就自动调用WIN系统HDR显示设备默认的亮度值1499nit,这个肯定超过你显示器的真实能力,那么高光肯定就爆掉了,但HLG死黑就不正常了,你的mpv代码肯定是画蛇添足写错了!
2025年08月03日 09点08分 2
我设置1000尼特还是过曝,而且设置的越高就越不会过曝
2025年08月03日 13点08分
重新下了个懒人包的配置文件还是一样过曝和死黑
2025年08月03日 16点08分
所以播放hdr电影用pq才是对的?
2025年08月03日 17点08分
但是hlg确实一眼好过pq,无论是色彩还是对比度亮度
2025年08月03日 17点08分
level 11
另外强调一点:目前最新的mpv是必须强开WIN系统的HDR开关才能正确播放各种HDR视频!
2025年08月03日 09点08分 3
大湿,mpv不能调用显卡api来激活hdr吗,只能走win系统的hdr
2025年08月03日 23点08分
@七毛钱 目前最新的显卡驱动自动激活显卡api都受到了限制,动一下鼠标或者窗口模式都是不能正确输送HDR信号,我不都早就录屏展示过了!按照WIN的官方说明,目前是禁止显卡驱动通过显卡api来自动激活HDR!
2025年08月04日 01点08分
level 12
你这个问题问得非常到位,涉及到 MPV 播放器如何触发 HDR 输出路径 这一底层机制。
---
✅ 简短回答:
> 是的,MPV 目前不能直接调用显卡 API 激活 HDR 模式。它**只能依赖 Windows 系统层面的 HDR 开关(即“系统 HDR 模式”)**来输出 HDR 视频。
换句话说:
MPV 本身不会主动让显示器进入 HDR 模式
你必须在 Windows 中手动开启 HDR(或用脚本调用)
否则输出的就是 SDR 信号,即使源是 HDR
---
📌 对比 madVR 的做法:
项目madVRMPV
是否主动触发 HDR 模式✅ 是(通过 D3D11 + EDID + HDR Metadata)❌ 否
是否可在 SDR 模式下 Tone Mapping✅ 可以,且画质出众✅ 也支持(通过 GPU shader)
是否调用显卡 HDR API(如 DXGI / DXVA HDR metadata)✅ 会传输 HDR10 元数据❌ 完全不调用
显示器自动切 HDR✅ 自动❌ 手动(系统 HDR 打开才能出效果)
---
🔧 MPV HDR 原理简析:
MPV 不使用 Windows 的 DXGI HDR 元数据通道(即 madVR 用来告知显示器“我要输出 HDR”的机制),它只是在系统已经 HDR 模式开启的前提下,输出 BT.2020 + PQ 的 YUV 图像。
换句话说,MPV:
不负责通知显卡或显示器“切 HDR 模式”
也不写入 HDR Metadata(如 MaxCLL/MaxFALL)
完全交由操作系统的“桌面 HDR”环境来解释这个 HDR 视频流
---
🛠 如何让 MPV 正常输出 HDR(两种方式)
✅ 方法 1:打开系统 HDR
Win10/Win11 设置 → 系统 → 显示 → 打开 “使用 HDR”
显示器支持 HDR,并已开启 HDR 模式
MPV 会把 HDR 视频输出为 PQ 色域 + BT.2020 + 10bit,显示器自行解释
✅ 方法 2:使用 tone mapping 输出 SDR
如果你不想全局打开 HDR,也可以让 MPV 对 HDR 视频做 tone mapping,类似 madVR:
MPV 配置示例(mpv.conf ):
vo=gpu
gpu-api=d3d11
tone-mapping=bt.2390
target-trc=srgb
target-prim=bt.709
效果:
HDR → SDR 映射,自动亮度压缩
不需要开启系统 HDR
输出是标准 SDR,画面亮度控制良好
---
💬 对开发现状的理解
MPV 的开发哲学是“纯开源 + 跨平台 + 最少系统依赖”,所以它:
避免直接调用平台专属 API(如 Windows DXGI HDR metadata)
不使用 madVR 那种闭源、深耦合的显卡级 HDR 调用机制
更强调跨平台兼容(如 Linux、macOS 也能播放 HDR)
因此,它没有 HDR 模式切换控制权,是一个“被动 HDR 输出者”。
---
✅ 总结
问题答案
MPV 能否自动激活显示器 HDR 模式?❌ 不能,只能靠系统 HDR 打开
能否像 madVR 一样自动 passthrough HDR?❌ 不行
可以通过 tone mapping 正常播放 HDR 视频吗?✅ 可以,配置正确后效果也不错
想自动 HDR → 建议用什么播放器?✅ madVR(如 MPC-HC/BE + madVR),或 VLC 3.0 以后支持部分 HDR 元数据传递
---
如果你愿意,我可以为你生成一份完整的 网页链接 HDR 播放配置,适配 SDR 显示器 or HDR 显示器两种情况,你直接拷进去就能用。是否需要?
2025年08月03日 23点08分 4
level 11
另外我这帖子你再好好看看:https://tieba.baidu.com/p/9362427336,色调映射可以是播放器端来做,但不要忘了显示设备也是会强制再做一次色调映射的哦!
所以在PC端做高级动态色调映射的前提是:显示设备不能再做哦!假定视频某一帧的高亮画面是峰值4000nit,你在PC端用高级色调映射算法将其峰值亮度压缩到1000nit,但是如果显示设备再对峰值亮度进行压缩或用低劣的色调映射算法,那么你在PC端的任何努力实际是在做无用功!
2025年08月04日 03点08分 5
level 11
随便找部高亮制作的HLG纪录片,用低端国补手机抓拍几张:
mpv没有用任何色调映射算法,局部高光爆掉很正常,但暗部可也绝对不会死黑的!
2025年08月04日 12点08分 6
暗部死黑的问题解决了,target-contrast=1000000
2025年08月04日 13点08分
@GnedFLº 即便是OLED显示器且做过校色,target-contrast设置成100W,那也铁定暗部变死黑啊!我建议你还是先把配置文件备份一下,然后删光里面所有内容,然后逐条加入代码,否则我估计你的配置还是有潜在的问题哦!
2025年08月05日 02点08分
@PC_Hi-End 这个我试了是设置的越高暗部就越亮
2025年08月05日 02点08分
@GnedFLº 不可能的,对比度越高当然是暗部越暗,你肯定又是哪里搞错了!还有,你玩的不会是懒人版本的HDR转SDR吧?不管是target-peak还是target-contrast,你都是和正常的HDR直通播放相反的啊!
2025年08月05日 02点08分
1