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

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

49

主题

468

回帖

2581

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
1787471

崭露头角活跃达人新人登场渐入佳境

菜姬 发表于 2022-4-27 15:40:15 | 显示全部楼层
tonyhsie 发表于 2022-4-27 13:38
現在有些怪物級 ass 動輒幾十M
字幕特效太龐大,無法實時渲染

能直接生成sup 只要输出文件名是.sup后缀就会输出sup

点评

OK 我試試  发表于 2022-4-27 16:25
回复

使用道具 举报

69

主题

1438

回帖

1万

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
3161197

卓越贡献

tonyhsie 发表于 2022-4-27 19:14:26 | 显示全部楼层
菜姬 发表于 2022-4-27 15:40
能直接生成sup 只要输出文件名是.sup后缀就会输出sup

ass2bdnxml 用了感覺還不錯,雖然 27M 的 ass 轉出來變成 500M 的 sup 有點嚇人

不過至少可以即時正常播放了


回复

使用道具 举报

49

主题

468

回帖

2581

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
1787471

崭露头角活跃达人新人登场渐入佳境

菜姬 发表于 2022-4-27 19:33:14 | 显示全部楼层
tonyhsie 发表于 2022-4-27 19:14
ass2bdnxml 用了感覺還不錯,雖然 27M 的 ass 轉出來變成 500M 的 sup 有點嚇人

不過至少可以即時正常播 ...

像特效这种动的多的 每帧基本得一张图 感觉有点无解
回复

使用道具 举报

1

主题

102

回帖

0

VC币

高级会员

Rank: 4

积分
30552
b8b41e3c  楼主| 发表于 2022-4-27 20:20:08 | 显示全部楼层
本帖最后由 b8b41e3c 于 2022-4-27 20:46 编辑
菜姬 发表于 2022-4-27 19:33
像特效这种动的多的 每帧基本得一张图 感觉有点无解

暂时不冒风险了,参数也不完全兼容,我这个用到了

spp2pgs的-s -r -x参数而且他-r是支持向下取整的

不知道你这个怎么转换,而且你还在迭代吧,等比较稳定了再切换。

另外如果能在github提供linux版本的二进制就更好了 (

回复

使用道具 举报

49

主题

468

回帖

2581

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
1787471

崭露头角活跃达人新人登场渐入佳境

菜姬 发表于 2022-4-27 21:29:08 | 显示全部楼层
b8b41e3c 发表于 2022-4-27 20:20
暂时不冒风险了,参数也不完全兼容,我这个用到了

spp2pgs的-s -r -x参数而且他-r是支持向下取整的

https://github.com/Masaiki/ass2bdnxml/releases/tag/1.02
回复

使用道具 举报

1

主题

102

回帖

0

VC币

高级会员

Rank: 4

积分
30552
b8b41e3c  楼主| 发表于 2022-4-27 22:28:26 | 显示全部楼层
本帖最后由 b8b41e3c 于 2022-4-28 00:11 编辑

多谢提供,我已经决定开始适配了。

更新:v3.5.4已用ass2bdnxml替换原有的spp2pgs进行ass转pgs.


回复

使用道具 举报

1

主题

102

回帖

0

VC币

高级会员

Rank: 4

积分
30552
b8b41e3c  楼主| 发表于 2022-4-28 11:08:24 | 显示全部楼层
本帖最后由 b8b41e3c 于 2022-4-29 23:06 编辑
fuyouquan 发表于 2022-4-27 14:55
假设我的视频分辨率比是4:3,ass字幕脚本也是4:3,转成sup字幕会不会出现字幕定位超出画框的情况(ass字幕 ...

新版适配的ass2pgs支持手动设置分辨率了,你可以实际用用看。

更新:好像手动设置分辨率不起作用,会自动降到很低的分辨率,哪怕是1920*1080
再更新:问题已修复



回复

使用道具 举报

1

主题

102

回帖

0

VC币

高级会员

Rank: 4

积分
30552
b8b41e3c  楼主| 发表于 2022-4-28 15:38:18 | 显示全部楼层
本帖最后由 b8b41e3c 于 2022-4-28 16:00 编辑
  1. sscanf(video_format,"%d*%d", &s_info->i_width, &s_info->i_width)
复制代码

这里有问题,导致自定义分辨率工作不正常。

回复

使用道具 举报

49

主题

468

回帖

2581

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
1787471

崭露头角活跃达人新人登场渐入佳境

菜姬 发表于 2022-4-28 19:48:39 | 显示全部楼层
b8b41e3c 发表于 2022-4-28 15:38
这里有问题,导致自定义分辨率工作不正常。

(手残了 已经修了
回复

使用道具 举报

1

主题

102

回帖

0

VC币

高级会员

Rank: 4

积分
30552
b8b41e3c  楼主| 发表于 2022-4-28 19:51:51 | 显示全部楼层
本帖最后由 b8b41e3c 于 2022-4-28 22:56 编辑
菜姬 发表于 2022-4-28 19:48
(手残了 已经修了


ps:1.0.3的二进制问题依旧
原因是如下代码:
  1. p_param->i_height = ass->PlayResY;
  2. p_param->i_width = ass->PlayResX;

  3. if (!s_info->i_width || !s_info->i_height)
复制代码

当字幕里有PlayResY或PlayResX的时候,a*b的方式始终不起作用。

修复方法:将
  1.     if (!s_info->i_width || !s_info->i_height)
  2.     {
  3.         if (sscanf(video_format,"%d*%d", &s_info->i_width, &s_info->i_height) != 2){
  4.             fprintf(stderr, "Error: Invalid video_format (%s).\n", video_format);
  5.             return 1;
  6.         }
  7.     }
复制代码
改为
  1.     if (!(sscanf(video_format, "%d*%d", &s_info->i_width, &s_info->i_height) == 2 && s_info->i_width * s_info->i_height > 0)) {
  2.         fprintf(stderr, "Error: Invalid video_format (%s).\n", video_format);
  3.         return 1;
  4.     }
复制代码
另外,按照github上的方法编译不是静态的,,该如何生成静态编译的成品呢?


回复

使用道具 举报

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

本版积分规则

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