StarRingChild 发表于 2021-7-15 23:12:30

关于 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:12:57

本帖最后由 孤雨独火 于 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:04:34

本帖最后由 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 16:41:39

本帖最后由 孤雨独火 于 2021-7-16 17:01 编辑

一测把我整懵了,,,似乎遭遇了icc二次映射的问题{:4_675:}
“我这里加不加 -icc-profile-auto 显示效果都是一样的”

这个问题大概率是你用的现成编译版0.33.1?我用git无法复现

孤雨独火 发表于 2021-7-16 18:07:21

本帖最后由 孤雨独火 于 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:33:15

本帖最后由 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:35:34

本帖最后由 孤雨独火 于 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版本测试

StarRingChild 发表于 2021-7-16 18:36:55

孤雨独火 发表于 2021-7-16 18:35
“我认为如果图片里的颜色描述文件为 sRGB 那不管在何种 ICC 下都应当保持色彩不变”

这个问题我回复过 ...

算了,你完全没有理解我在问什么,和我在回复什么,直接对我降维打击

孤雨独火 发表于 2021-7-16 18:40:14

StarRingChild 发表于 2021-7-16 18:36
算了,你完全没有理解我在问什么,和我在回复什么,直接对我降维打击

我也很遗憾居然不理解这么简单的逻辑...降维打击可还行

mpv作为图片查看器是原开发者都不赞同的做法。
即便你的逻辑正确,可事实就是它本身作为图片查看器不及格,所以以图片进行icc检验我觉得没什么意义

StarRingChild 发表于 2021-7-16 18:43:56

本帖最后由 StarRingChild 于 2021-7-16 18:46 编辑

孤雨独火 发表于 2021-7-16 18:40
我也很遗憾居然不理解这么简单的逻辑...降维打击可还行

mpv作为图片查看器是原开发者都不赞同的做法。

把上面的图片替换成视频也一样成立——不设置 -icc-profile-auto不管在哪种系统显示描述文件下,MPV 里的视频色彩依旧不变,这是有色彩管理还是没有呢?

页: [1] 2 3
查看完整版本: 关于 MPV 在 Mac 上的颜色显示问题