菜姬 发表于 2021-5-3 12:00:32

苏辰汐 发表于 2021-5-3 11:47
我知道0.15.1合并按需请求字体的pr了,不过好像还是不支持那个按需加载字体的hook轮子?https://bbs.vcb-s ...

我倒是没试 不过大佬提那个PR的一个原因之一就是这个轮子 所以按理说应该是能用的

苏辰汐 发表于 2021-5-3 12:12:31

菜姬 发表于 2021-5-3 12:00
我倒是没试 不过大佬提那个PR的一个原因之一就是这个轮子 所以按理说应该是能用的
...

有空可以测试看看,我昨天用最新编译的mpv就没有实现按需加载字体,今天用这个libass的xysub测试也没有成功,不清楚什么原因。另外我刚才提的内封ass阴影边框不正常也需要排查下,mpv里是写sub-ass-force-style=ScaledBorderAndShadow=no 的参数之后无论内封外挂ass都正常了,libass应该是ScaledBorderAndShadow=0?

菜姬 发表于 2021-5-3 12:24:51

苏辰汐 发表于 2021-5-3 12:12
有空可以测试看看,我昨天用最新编译的mpv就没有实现按需加载字体,今天用这个libass的xysub测试也没有成 ...

你这个字幕里就是
ScaledBorderAndShadow: yes
啊…

苏辰汐 发表于 2021-5-3 13:07:48

菜姬 发表于 2021-5-3 12:24
你这个字幕里就是
ScaledBorderAndShadow: yes
啊…

我发的那个字幕是外挂的啊,是用来测试字体是否能够按需加载的,它的阴影边框显示没问题(,我两个楼说的不同的问题{:4_675:},18#才说的阴影边框问题,你应该知道有些人做字幕不指定ScaledBorderAndShadow值(特别老字幕遗留问题,VSFilter对此默认不缩放,libass默认缩放,也就导致了libass下重墨风格,比如11#提到的就是。现在比较迷惑的就是libass版xysub加载11#那个字幕时它的阴影边框模仿了VSFilter系行为不缩放,我又测试了个内封字幕后发现又是ibass默认缩放行为,这两种不同的行为给搞糊涂了。把内封字幕抽出来看下果然也没指定ScaledBorderAndShadow值,然而这字幕外挂下还是ibass默认缩放的重墨风。这种本质是制作字幕时的不规范导致的问题,然而手动一个个去改字幕或者内封抽出来改掉再封是不太现实的,工作量也大,实际在xysub里加个ScaledBorderAndShadow的开关选项更为合理方便,像mpv就可以写sub-ass-force-style=ScaledBorderAndShadow=no 参数来处理对应情况,不然libass遇到这种字幕就抓瞎了(尤其老字幕这种遗留问题还挺常见的。

菜姬 发表于 2021-5-3 13:22:30

苏辰汐 发表于 2021-5-3 13:07
我发的那个字幕是外挂的啊,是用来测试字体是否能够按需加载的,它的阴影边框显示没问题(,我两个楼说的 ...

Default ScaledBorderAndShadow to 0 (like VSFilter), except for subtitles that were produced by old FFmpeg/Libav0.15.0 已经设置默认的ScaledBorderAndShadow为0了,只是检测到是老版本FFmpeg/Libav生成的才会默认设置为1

苏辰汐 发表于 2021-5-3 13:32:32

本帖最后由 苏辰汐 于 2021-5-3 13:50 编辑

菜姬 发表于 2021-5-3 13:22
0.15.0 已经设置默认的ScaledBorderAndShadow为0了,只是检测到是老版本FFmpeg/Libav生成的才会默认设置 ...
Release里是这么写的,但实际测试中这种会被缩放导致阴影边框不正常的情况较为频繁,毕竟高发区本身就是不规范的老字幕,ScaledBorderAndShadow=0并不会生效(值为1),还是要手动指定ScaledBorderAndShadow值才能决定缩放行为,mpv下之前就有过相应issue反馈,这个一度困扰了我很久,还是前不久在vcb论坛的那个mpv教程里找到的解决方案。

PS:懂了,你是说导致两种不同缩放行为的原因,把这茬给忘了(

Apache553 发表于 2021-5-3 13:34:06

苏辰汐 发表于 2021-5-3 11:47
我知道0.15.1合并按需请求字体的pr了,不过好像还是不支持那个按需加载字体的hook轮子?https://bbs.vcb-s ...

因为只hook了CreateFont*那一套函数 libass用的是directwrite那一套 并没有hook到

苏辰汐 发表于 2021-5-3 13:40:02

Apache553 发表于 2021-5-3 13:34
因为只hook了CreateFont*那一套函数 libass用的是directwrite那一套 并没有hook到

原来如此,怪不得测试libass 0.15.1版本也没法使用大佬的那个按需加载字体的轮子,残念,多谢解惑。

lanchuyu 发表于 2021-5-3 13:54:49


佩服大佬,下载来测试下。

LzNO_Hentai 发表于 2021-5-3 16:57:26

当初知道这个字幕渲染滤镜还是因为某个特效字幕xy subfilters性能不够才尝试的,确实性能更高,不过原作者很久没更新了也有一些bug所以后来放弃了,有人接手帮大忙了
页: 1 2 [3] 4 5 6 7 8 9 10 11 12
查看完整版本: AssFilterMod: 基于libass的DirectShow滤镜