找回密码
 立即注册
楼主: wyzdwdz

assfonts: 字体文件子集化工具,提供嵌入字幕功能(更新v0.7.3)

8

主题

151

回帖

765

VC币

荣誉会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分
104874

崭露头角

sillonae 发表于 2023-5-20 09:34:45 | 显示全部楼层
问一下,如果一个视频文件使用多个字幕组字幕并且对数个字幕文件单独子集化后统一混流是否会出现问题
回复

使用道具 举报

2

主题

104

回帖

0

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
153751
wyzdwdz  楼主| 发表于 2023-5-26 00:29:03 | 显示全部楼层
本帖最后由 wyzdwdz 于 2023-5-26 00:31 编辑
sillonae 发表于 2023-5-20 09:34
问一下,如果一个视频文件使用多个字幕组字幕并且对数个字幕文件单独子集化后统一混流是否会出现问题 ...

根据 @charlieego 的反馈,使用 libass 做字体渲染的播放器应该可以正确识别,但是 xysubfilter 不可以,相同名称的字体文件会重叠。

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

使用道具 举报

8

主题

151

回帖

765

VC币

荣誉会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分
104874

崭露头角

sillonae 发表于 2023-5-26 09:07:13 | 显示全部楼层
wyzdwdz 发表于 2023-5-26 00:29
根据 @charlieego 的反馈,使用 libass 做字体渲染的播放器应该可以正确识别,但是 xysubfilter 不可以, ...

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

使用道具 举报

2

主题

104

回帖

0

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
153751
wyzdwdz  楼主| 发表于 2023-5-26 20:42:21 | 显示全部楼层
本帖最后由 wyzdwdz 于 2023-5-26 21:42 编辑
sillonae 发表于 2023-5-26 09:07
这个问题我暂时是通过字体名加上对应相关字幕组名后缀来解决的

只改字体文件的名字应该是没有用的,需要改的字体内部的 fullname 和 family name,系统在查找字体的时候是通过这两个参数来判断的

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

使用道具 举报

8

主题

151

回帖

765

VC币

荣誉会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分
104874

崭露头角

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

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

使用道具 举报

2

主题

104

回帖

0

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
153751
wyzdwdz  楼主| 发表于 2023-5-26 23:54:25 | 显示全部楼层
sillonae 发表于 2023-5-26 21:42
那这样的话子集化工具除了生成字体之外还要另行修改字幕文件,不知道只生成子集化字体然后通过mkvmerge完 ...

这样的话有一个问题就是如果有两个字幕需要用到相同的字体,在字幕文件中他们指向的名字是同一个。如果不子集化,那只需要把这一个字体混进来就可以了;如果做子集化,这两个字幕子集化后得到的是两个不同的字体,但是这两个字体的名称(fullname)确是相同的,这样的话播放器就无法判断该用哪个字体了。

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

使用道具 举报

8

主题

151

回帖

765

VC币

荣誉会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分
104874

崭露头角

sillonae 发表于 2023-5-27 08:43:30 | 显示全部楼层
wyzdwdz 发表于 2023-5-26 23:54
这样的话有一个问题就是如果有两个字幕需要用到相同的字体,在字幕文件中他们指向的名字是同一个。如果不 ...

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

使用道具 举报

2

主题

104

回帖

0

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
153751
wyzdwdz  楼主| 发表于 2023-5-29 21:04:10 | 显示全部楼层
sillonae 发表于 2023-5-27 08:43
未来的版本更新会不会加入子集化字体同时更改其fullname的功能,但是这样还有一个问题,原字幕文件没有相 ...

不能的,修改的话字幕文件与字体是一一对应的,相同的原字幕每一次运行都会生成不同名字的字体,这个是随机生成的。
回复

使用道具 举报

3

主题

52

回帖

152

VC币

中级会员

Rank: 3Rank: 3

积分
5535

崭露头角

咸鱼超人9527 发表于 2023-6-4 21:27:33 | 显示全部楼层
只能识别ttf文件啊
回复

使用道具 举报

3

主题

52

回帖

152

VC币

中级会员

Rank: 3Rank: 3

积分
5535

崭露头角

咸鱼超人9527 发表于 2023-6-4 21:45:10 | 显示全部楼层

看岔了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表