okmijnuhb2C1 发表于 2022-8-4 01:07:45

xySubFilter 无视字幕"YCbCr Matrix"

本帖最后由 okmijnuhb2C1 于 2022-8-4 12:23 编辑

我發現原來在使用MPC-HC + xySubFilter 時可能出現 无视字幕"YCbCr Matrix"情況如TV.601/TV.709, 繼而根據BD像素估計出TV.709(不肯定)
(上方為TV.709, 異常顯示 / 下方為 TV.601, 正常顯示)


根據MediaInfo所看到的, xySubFilter 能否正常顯示主要的分別在於影片自身有沒有Matrix coefficients metadata , 如Matrix coefficients: BT.709
影片有metadata時則會被正確顯示
另外 改用 xy-VSFilter 則可以正常顯示字幕的"YCbCr Matrix"

附上能正常顯示字幕的"YCbCr Matrix"及不正常顯示字幕的"YCbCr Matrix"影片及字幕, 及 xySubFilter 版本


於 xySubFilter 設定強制色域也未見有效
請問有解決方法嗎?




孤雨独火 发表于 2022-8-4 10:34:33

cc @菜姬

苏辰汐 发表于 2022-8-4 15:51:49

有没有用madvr?怎么感觉是evr的锅

顺便mpc-hc自带的字幕渲染器其实兼容性比xysub高

okmijnuhb2C1 发表于 2022-8-4 17:32:02

本帖最后由 okmijnuhb2C1 于 2022-8-4 17:37 编辑

苏辰汐 发表于 2022-8-4 15:51
有没有用madvr?怎么感觉是evr的锅

顺便mpc-hc自带的字幕渲染器其实兼容性比xysub高 ...
謝謝回覆
的確madVR沒問題, 但EVR的問題又出在哪了...

感覺上 mpc-hc 自带的字幕渲染器其實和 xy-VSFilter 差不多, 應該都是具常規功能的 VSFilter , 不常規的會是 VSFilterMod (壓字幕用) 及 xySubFilter(看片用)

苏辰汐 发表于 2022-8-4 17:47:21

本帖最后由 苏辰汐 于 2022-8-4 17:48 编辑

okmijnuhb2C1 发表于 2022-8-4 17:32
謝謝回覆
的確madVR沒問題, 但EVR的問題又出在哪了...


EVR本身渲染方面就很垃圾,字幕色彩显示错误算是典型例子了。不止文本字幕会这样,图形字幕也会呈现错误的色彩
如无必要不要使用EVR,可以选择使用mpcvr或madvr

之所以说mpc-hc的字幕渲染器兼容性更好,一个是它的webvtt字幕样式支持的较好,xysub也有移植这方面的代码;另一个则是xysub+madvr渲染图形字幕时当视频比例和字幕比例不一致时字幕会被拉伸压扁,而mpc-hc/be自带的字幕渲染器不会出现此问题,xysub+mpcvr时图形字幕渲染也正常,这本质是个xysub和madvr间的兼容性问题。此外xysub不支持加载外挂图形字幕

okmijnuhb2C1 发表于 2022-8-4 18:30:30

苏辰汐 发表于 2022-8-4 17:47
EVR本身渲染方面就很垃圾,字幕色彩显示错误算是典型例子了。不止文本字幕会这样,图形字幕也会呈现错误的 ...

謝謝解答   長知識了

菜姬 发表于 2022-8-4 23:45:04

xysubfilter为什么无视 YCbCr Matrix:
xysubfilter丢给播放器的是RGB格式的字幕图 ASS的颜色本身也是RGB 所以它本身是不做任何的颜色转换的 能不能显示正确就看播放器/渲染器了
xy-VSFilter为什么显示正确:
xy-VSFilter是接受视频流,混入字幕,再丢回去这么个流程,在渲染的时候会先将RGB转为YUV,根据内部记录的matrix和range 如果字幕滤镜指定了matrix和range 就用这个,如果字幕文件指定了,就用字幕文件的,否则就根据视频提供的或者根据视频分辨率进行推测 至于具体为什么显示正确了,我只能说 错回去了……

boday 发表于 2022-8-5 03:29:33

菜姬 发表于 2022-8-4 23:45
xysubfilter为什么无视 YCbCr Matrix:
xysubfilter丢给播放器的是RGB格式的字幕图 ASS的颜色本身也是RGB...

> 在渲染的时候会先将RGB转为YUV

这个转换是无条件的吗?我以为如果检查了 tag 一致那么直接用就好了啊,不需要再 RGB-YUV-RGB 绕一圈。


菜姬 发表于 2022-8-5 09:06:30

boday 发表于 2022-8-5 03:29
> 在渲染的时候会先将RGB转为YUV

这个转换是无条件的吗?我以为如果检查了 tag 一致那么直接用就好了啊 ...

确实如果视频流本身是RGB的话就不用转 xysubfilter就是用一个spd“假装”视频就是RGB的
页: [1]
查看完整版本: xySubFilter 无视字幕"YCbCr Matrix"