sillonae 发表于 2023-5-20 09:34:45

问一下,如果一个视频文件使用多个字幕组字幕并且对数个字幕文件单独子集化后统一混流是否会出现问题

wyzdwdz 发表于 2023-5-26 00:29:03

本帖最后由 wyzdwdz 于 2023-5-26 00:31 编辑

sillonae 发表于 2023-5-20 09:34
问一下,如果一个视频文件使用多个字幕组字幕并且对数个字幕文件单独子集化后统一混流是否会出现问题 ...
根据 @charlieego 的反馈,使用 libass 做字体渲染的播放器应该可以正确识别,但是 xysubfilter 不可以,相同名称的字体文件会重叠。

想解决这个问题就必须像 AssFontSubset 做的那样给每一个子集化后的字体改一个临时的字体名
这个功能预计下个大版本会更新

sillonae 发表于 2023-5-26 09:07:13

wyzdwdz 发表于 2023-5-26 00:29
根据 @charlieego 的反馈,使用 libass 做字体渲染的播放器应该可以正确识别,但是 xysubfilter 不可以, ...

这个问题我暂时是通过字体名加上对应相关字幕组名后缀来解决的

wyzdwdz 发表于 2023-5-26 20:42:21

本帖最后由 wyzdwdz 于 2023-5-26 21:42 编辑

sillonae 发表于 2023-5-26 09:07
这个问题我暂时是通过字体名加上对应相关字幕组名后缀来解决的
只改字体文件的名字应该是没有用的,需要改的字体内部的 fullname 和 family name,系统在查找字体的时候是通过这两个参数来判断的

所以不仅要改字体的 fullname ,还要去改字幕文件中的字体名使其与之匹配,这样就能保证字幕和字体一一对应了

sillonae 发表于 2023-5-26 21:42:55

wyzdwdz 发表于 2023-5-26 20:42
该字体文件的名字应该是没有用的,需要改的字体内部的 fullname 和 family name,系统在查找字体的时候是 ...

那这样的话子集化工具除了生成字体之外还要另行修改字幕文件,不知道只生成子集化字体然后通过mkvmerge完成子集化并且混流行不行

wyzdwdz 发表于 2023-5-26 23:54:25

sillonae 发表于 2023-5-26 21:42
那这样的话子集化工具除了生成字体之外还要另行修改字幕文件,不知道只生成子集化字体然后通过mkvmerge完 ...
这样的话有一个问题就是如果有两个字幕需要用到相同的字体,在字幕文件中他们指向的名字是同一个。如果不子集化,那只需要把这一个字体混进来就可以了;如果做子集化,这两个字幕子集化后得到的是两个不同的字体,但是这两个字体的名称(fullname)确是相同的,这样的话播放器就无法判断该用哪个字体了。

libass 对于嵌入字体文件的字幕能够正确的处理,即先加载字幕然后再加载字幕中的字体,如果切换到别的字幕,也会同时卸载上一个字幕的字体。这是对于内置字体字幕的正确解析方式,但有些字幕渲染引擎做不到这一点。

sillonae 发表于 2023-5-27 08:43:30

wyzdwdz 发表于 2023-5-26 23:54
这样的话有一个问题就是如果有两个字幕需要用到相同的字体,在字幕文件中他们指向的名字是同一个。如果不 ...

未来的版本更新会不会加入子集化字体同时更改其fullname的功能,但是这样还有一个问题,原字幕文件没有相关修改,能否识别修改fullname后的子集化字体

wyzdwdz 发表于 2023-5-29 21:04:10

sillonae 发表于 2023-5-27 08:43
未来的版本更新会不会加入子集化字体同时更改其fullname的功能,但是这样还有一个问题,原字幕文件没有相 ...
不能的,修改的话字幕文件与字体是一一对应的,相同的原字幕每一次运行都会生成不同名字的字体,这个是随机生成的。

咸鱼超人9527 发表于 2023-6-4 21:27:33

只能识别ttf文件啊

咸鱼超人9527 发表于 2023-6-4 21:45:10

咸鱼超人9527 发表于 2023-6-4 21:27
只能识别ttf文件啊

看岔了
页: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19
查看完整版本: assfonts: 字体文件子集化工具,提供嵌入字幕功能(更新v0.7.3)