关于 MPV 在 Mac 上的颜色显示问题
本帖最后由 StarRingChild 于 2021-7-16 18:58 编辑显示器是 MacBook Pro 的屏幕,显示描述文件为 Color LCD,MPV 颜色相关的设置保持默认。
问题:使用 Preview 查看 MPV 的截图,与视频实际播放时的颜色明显不一致;但使用 MPV 查看这张截图,颜色仍然一致。
https://i.imgur.com/Ep7xbmb.jpg
另外我又试了下颜色描述文件为 sRGB 的图片,在 MPV 与 Preview 颜色依然不一致。将系统的显示描述文件切换到 sRGB 才会一致。
换句话说,同一张颜色描述文件为 sRGB 的图片,在不同的显示描述文件下,Preview 显示的颜色也会不同,MPV 则一直不变。
所以,到底是哪一个没有做好色彩管理呢?色彩管理指的又是什么呢?
尝试了以下设置的各种组合,均无法达到设想的显示、截图效果
## DISPLAY ##
# --icc-profile-auto
# icc-profile="/System/Library/ColorSync/Profiles/sRGB Profile.icc"
# icc-profile="/Library/ColorSync/Profiles/Displays/Color LCD-824732B6-14D6-8FA8-74CD-DD58BE6443B7.icc" #1
# gamma-factor=1.1218765935747068 #2
# vf=format=gamma=gamma2.2 #3
# tone-mapping=reinhard #4
# tscale=oversample #5
# video-sync=display-resample #6
# target-prim=bt.709
# target-trc=bt.1886
本帖最后由 孤雨独火 于 2021-7-16 00:21 编辑
mpv用自己的色彩管理
直接 --icc-profile-auto
默认设置下没有色彩管理,画面效果和ffplay一致
https://github.com/hooke007/MPV_lazy/blob/master/Temp/mpv-mac.md
之前在mbp上折腾mpv的经历,体验属实糟糕,m1的话估计还有的救
本帖最后由 StarRingChild 于 2021-7-16 13:16 编辑
孤雨独火 发表于 2021-7-16 00:12
mpv用自己的色彩管理
直接 --icc-profile-auto
默认设置下没有色彩管理,画面效果和ffplay一致
我这里加不加 -icc-profile-auto 显示效果都是一样的,都是指定的 /System/Library/ColorSync/Profiles/sRGB Profile.icc
而且默认设置的画面和 ffplay 不一致
本帖最后由 孤雨独火 于 2021-7-16 17:01 编辑
一测把我整懵了,,,似乎遭遇了icc二次映射的问题{:4_675:}
“我这里加不加 -icc-profile-auto 显示效果都是一样的”
这个问题大概率是你用的现成编译版0.33.1?我用git无法复现
本帖最后由 孤雨独火 于 2021-7-16 18:33 编辑
...我前面被你带沟里去了
首先系统设置切换color profile就是魔幻行为。mbp/a应该始终使用colorlcd
在这个基础上我进行了win、mac的双系统测试(color lcd的icc被我复制到win使用),同样 --no-config 无参启动程序
测试片源是普通的bt709 yuv420,视频色彩两边始终一致没有问题(win no 和 mac no ; win yes 和 mac yes色彩一致)
mac icc-profile-auto=no
mac icc-profile-auto=yes
win icc-profile-auto=no
win icc-profile-auto=yes
(用控制台指令cycle icc-profile-auto在运行时快速切换状态)
此外在mac上启用 icc-profile-auto 时,系统切换色彩配置文件(普通lcd 彩色lcd 之间mpv会有显著颜色变化)
关于图片的问题,mpv不是图片查看器,它走的流程也不是播放视频时的那一套处理框架,把他当作图片查看器有一些潜在的问题:
比如禁用icc的时候内嵌色彩描述文件会被直接忽略。。。
处理大体积图片会直接崩溃。。。
。。。
反正就是不推荐这玩意作为图片查看器
本帖最后由 StarRingChild 于 2021-7-16 18:35 编辑
孤雨独火 发表于 2021-7-16 18:07
...我前面被你带沟里去了
首先系统设置切换color profile就是魔幻行为。mbp/a应该始终使用colorlcd
首先,系统设置切换 color profile 不是魔幻行为,是测试行为,用来判断软件是否做了色彩管理,你可以参考这里;https://www.filmlight.ltd.uk/store/watch/product-tutorials/truelight-colour-spaces/?vimeography_gallery=19&vimeography_video=349868875
但是我对这个测试结论是有质疑的——我认为如果图片里的颜色描述文件为 sRGB 那么不管在何种 ICC 下都应当保持色彩不变;
然后是 cycle icc-profile-auto 使用命令 mpv --no-config --icc-profile-auto 打开视频后,控制台内输入第一次会产生颜色变化,但后面再切换 yes/no 却不变;
我使用 brew install mpv 版本是 0.33.1 指定 icc 后会报错
ICC profile detected contrast very high (>100000), falling back to contrast 1000 for sanity. Set the icc-contrast option to silence this warning.
https://i.imgur.com/S4UzhEN.jpg
本帖最后由 孤雨独火 于 2021-7-16 18:37 编辑
StarRingChild 发表于 2021-7-16 18:33
首先,系统设置切换 color profile 不是魔幻行为,是测试行为,用来判断软件是否做了色彩管理,你可以参考 ...
“我认为如果图片里的颜色描述文件为 sRGB 那不管在何种 ICC 下都应当保持色彩不变”
这个问题我回复过了,mpv不适合作为图片查看器。
此外brew install默认就是 0331,不需要指定。
这个icc报错不影响。
“控制台内输入第一次会产生颜色变化,但后面再切换 yes/no 却不变;”
这应该是0331的bug,请使用git版本测试
孤雨独火 发表于 2021-7-16 18:35
“我认为如果图片里的颜色描述文件为 sRGB 那不管在何种 ICC 下都应当保持色彩不变”
这个问题我回复过 ...
算了,你完全没有理解我在问什么,和我在回复什么,直接对我降维打击
StarRingChild 发表于 2021-7-16 18:36
算了,你完全没有理解我在问什么,和我在回复什么,直接对我降维打击
我也很遗憾居然不理解这么简单的逻辑...降维打击可还行
mpv作为图片查看器是原开发者都不赞同的做法。
即便你的逻辑正确,可事实就是它本身作为图片查看器不及格,所以以图片进行icc检验我觉得没什么意义
本帖最后由 StarRingChild 于 2021-7-16 18:46 编辑
孤雨独火 发表于 2021-7-16 18:40
我也很遗憾居然不理解这么简单的逻辑...降维打击可还行
mpv作为图片查看器是原开发者都不赞同的做法。
把上面的图片替换成视频也一样成立——不设置 -icc-profile-auto不管在哪种系统显示描述文件下,MPV 里的视频色彩依旧不变,这是有色彩管理还是没有呢?