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

mkvtool:一个ass字幕子集化/mkv文件处理一条龙工具

20

主题

164

回帖

20

VC币

至尊会员

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

积分
244783
op200 发表于 2024-11-30 18:50:12 | 显示全部楼层
b8b41e3c 发表于 2024-11-30 17:13
听上去貌似是字体本身的问题,你可以试试看用自带的ass转pgs功能看看生成的pgs有没有正确地显示,因为也是基 ...

我刚才试了下,用自带的ass转pgs,pgs是正常的
回复

使用道具 举报

1

主题

102

回帖

0

VC币

高级会员

Rank: 4

积分
30552
b8b41e3c  楼主| 发表于 2024-12-3 11:10:50 | 显示全部楼层
op200 发表于 2024-11-30 18:50
我刚才试了下,用自带的ass转pgs,pgs是正常的

那就是播放器有问题.
回复

使用道具 举报

0

主题

1

回帖

0

VC币

新手上路

Rank: 1

积分
265
yaoxiaohua16 发表于 2024-12-3 20:02:26 | 显示全部楼层
打开mkvtool.exe跳出这个鼠标完全点不了
回复

使用道具 举报

1

主题

102

回帖

0

VC币

高级会员

Rank: 4

积分
30552
b8b41e3c  楼主| 发表于 2024-12-3 20:18:36 | 显示全部楼层
yaoxiaohua16 发表于 2024-12-3 20:02
打开mkvtool.exe跳出这个鼠标完全点不了

这是个命令行工具,需要gui可以下载gui版本.

回复

使用道具 举报

20

主题

164

回帖

20

VC币

至尊会员

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

积分
244783
op200 发表于 2024-12-5 23:29:13 | 显示全部楼层
b8b41e3c 发表于 2024-12-3 11:10
那就是播放器有问题.

经过我的测试,大概率不是播放器的问题

potplayer、mpcbe、mpchc,在不使用libass时可以正常渲染内封的子集化的字体,使用libass时则不行


回复

使用道具 举报

1

主题

102

回帖

0

VC币

高级会员

Rank: 4

积分
30552
b8b41e3c  楼主| 发表于 2024-12-6 10:44:40 | 显示全部楼层
op200 发表于 2024-12-5 23:29
经过我的测试,大概率不是播放器的问题

potplayer、mpcbe、mpchc,在不使用libass时可以正常渲染内封的 ...

哦我说错了,是ass渲染器的问题.但内置的ass转pgs也是基于libass的,却没有问题,这不是很奇怪吗?

回复

使用道具 举报

20

主题

164

回帖

20

VC币

至尊会员

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

积分
244783
op200 发表于 2024-12-6 13:54:03 | 显示全部楼层
b8b41e3c 发表于 2024-12-6 10:44
哦我说错了,是ass渲染器的问题.但内置的ass转pgs也是基于libass的,却没有问题,这不是很奇怪吗?

...

因为:
  • 不子集化直接封装是可以的
  • 所有ttf字幕是可以的
  • 我发现好几个otf字幕都有这个问题
  • 出问题的子集化otf字幕转ttf是可以的

总觉得子集化otf时会导致一些奇怪的问题


再结合你说的“内置的pgs渲染器也是libass的”,所以我觉得或许可以通过修改跟子集化相关的代码解决这个问题



还有一个不利于节省空间的解决方法:
在子集化时强制将所有otf转为ttf



回复

使用道具 举报

1

主题

102

回帖

0

VC币

高级会员

Rank: 4

积分
30552
b8b41e3c  楼主| 发表于 2024-12-6 19:21:23 | 显示全部楼层
op200 发表于 2024-12-6 13:54
因为:
  • 不子集化直接封装是可以的

  • 在子集化时强制将所有otf转为ttf

    不能无损转换且要借助外部工具(既然如此,那你何不事先预处理一下?)
    至于内置的ass转pgs没有问题的根本原因应该是libass的版本比较新吧?


    回复

    使用道具 举报

    20

    主题

    164

    回帖

    20

    VC币

    至尊会员

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

    积分
    244783
    op200 发表于 2024-12-6 22:18:55 | 显示全部楼层
    本帖最后由 op200 于 2024-12-6 22:25 编辑
    b8b41e3c 发表于 2024-12-6 19:21
    在子集化时强制将所有otf转为ttf

    不能无损转换且要借助外部工具(既然如此,那你何不事先预处理一下?)

    mpchc内置的libass是最新版本的,也是存在这个问题


    其他播放器的libass我用的是XySubFilter with libass version 20240526

    回复

    使用道具 举报

    1

    主题

    102

    回帖

    0

    VC币

    高级会员

    Rank: 4

    积分
    30552
    b8b41e3c  楼主| 发表于 2024-12-7 00:26:30 | 显示全部楼层
    op200 发表于 2024-12-6 22:18
    mpchc内置的libass是最新版本的,也是存在这个问题

    总之内置otf转ttf貌似不现实,其次好像也不是所有的otf都会出问题吧?
    目前的方案如果你已经确定只要是ttf格式的就不会有问题的话,你可以考虑重新收集ttf的字体,或者自己预先把otf转换成ttf再子集化.
    注意otf转ttf不是无损的,关于这点我很早就考虑过要不要做输出格式的一致性,但也是因为这个原因放弃了.


    回复

    使用道具 举报

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

    本版积分规则

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