请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
楼主: b8b41e3c

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

  • TA的每日心情
    慵懒
    2019-6-5 17:57
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    49

    主题

    488

    帖子

    2581

    VC币

    星辰大海

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

    积分
    1702598

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

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

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

    点评

    OK 我試試  发表于 2022-4-27 16:25
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-12-31 01:33
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    67

    主题

    1237

    帖子

    9894

    VC币

    星辰大海

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

    积分
    1928255

    卓越贡献

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

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

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


    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-6-5 17:57
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    49

    主题

    488

    帖子

    2581

    VC币

    星辰大海

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

    积分
    1702598

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

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

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

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

    使用道具 举报

    该用户从未签到

    1

    主题

    48

    帖子

    0

    VC币

    高级会员

    Rank: 4

    积分
    26978
    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版本的二进制就更好了 (

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-6-5 17:57
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    49

    主题

    488

    帖子

    2581

    VC币

    星辰大海

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

    积分
    1702598

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

    菜姬 发表于 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

    主题

    48

    帖子

    0

    VC币

    高级会员

    Rank: 4

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

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

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


    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    48

    帖子

    0

    VC币

    高级会员

    Rank: 4

    积分
    26978
    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

    主题

    48

    帖子

    0

    VC币

    高级会员

    Rank: 4

    积分
    26978
    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)
    复制代码

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

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-6-5 17:57
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    49

    主题

    488

    帖子

    2581

    VC币

    星辰大海

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

    积分
    1702598

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

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

    (手残了 已经修了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    48

    帖子

    0

    VC币

    高级会员

    Rank: 4

    积分
    26978
    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上的方法编译不是静态的,,该如何生成静态编译的成品呢?


    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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