找回密码
 立即注册
查看: 585|回复: 3

关于一条字幕结束时间的问题

  • TA的每日心情
    无聊
    20 小时前
  • 签到天数: 128 天

    [LV.7]常住居民III

    23

    主题

    58

    回帖

    1066

    VC币

    至尊会员

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

    积分
    207673

    崭露头角新人登场

    月夜残星 发表于 2024-1-11 16:43:58 | 显示全部楼层 |阅读模式
    本帖最后由 月夜残星 于 2024-1-11 16:47 编辑

    如图所示,“我们也绝不会妥协”这一行字幕应于0:11:53.713结束,下一帧开始的时间为0:11:53.755,而Aegisub的时间轴调整只能到小数点后两位,所以按理说,这里的结束时间设定为0:11:53.72~0:11:53.75都是没有问题的,实际上在Aegisub里面,设定成72、73、74、75在实际效果上是完全一样的。但是,这就出现了一个问题,就是用其他的播放器观看的时候,就会出现字幕时间不同。就拿Pot Player来说,还是以这一条字幕为例,当把时间设定成72和73的时候,字幕是在这一帧也就是在画面切换之前结束的,而把时间设定为74、75的时候,字幕则会在下一帧结束,也就是会在0:11:53.755这个下一个画面上出现一下再结束,导致了闪屏。还有一种情况就是,有时候如果把假如0.713结束的字幕,结束时间设定为72的话,Pot Player甚至会提前结束,同样导致闪屏,这个时候就又要把时间多延后到73才行。也就是说出现这种情况似乎并没有什么规律,有没有办法解决这一问题呢?

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    20 小时前
  • 签到天数: 857 天

    [LV.10]以坛为家III

    14

    主题

    356

    回帖

    9144

    VC币

    星辰大海

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

    积分
    864951
    tmdtmdtmdqq 发表于 2024-1-11 22:39:57 | 显示全部楼层
    本帖最后由 tmdtmdtmdqq 于 2024-1-12 01:39 编辑

    想对帧操作的话,只需将右边的 时间 改为 帧



    可以用帧方式输入来测试一下:

    结束时间类似,只是把当前行下一帧的开始时间当成当前行的结束时间
    所以结束时间只要当成帧数+1的开始时间去处理即可




    测试结果:



    这就说明,时间的千分位X
    对于开始时间
    X<5,就减(20+X),比如画面显示的时间小数点后尾数为 [530、531、...、534],那就设置为510,即行时间的小数部分为51
    X==5,就减25或15,比如画面显示的时间小数点后尾数为 535,那就设置为510或520,即行时间的小数部分为51或52
    X>5,就减(10+X),比如画面显示的时间小数点后尾数为 [536、537、...、539],那就设置为520,即行时间的小数部分为52

    对于结束时间
    X<4,就加(20-X),比如画面显示的时间小数点后尾数为 [530、531、...、534],那就设置为550,即行时间的小数部分为55
    X>4,就加(30-X),比如画面显示的时间小数点后尾数为 [535、536、...、539],那就设置为560,即行时间的小数部分为56

    因为数值5有误差,按我平时制作来说,我都将容差再放大一点,直接用7(或8)作为分界,对于开始时间
    X<7,就减(20+X)【减大于等于20,凑整】
    X>=7,就减(10+X)【减超过10不超过20,凑整】

    防止结束时间因误差导致下一帧出现(宁可早结束也不要多显示),所以对结束时间为中间数的,结束时间给短一点,对于结束时间,我会:
    X<7,就加(20-X)【加超过10不超过20,凑整】
    X>=7,就加(30-X)【加大于20,凑整】


    当然,如果音频图上有关键帧的线,优先对齐关键帧的线(前提是关键帧的线是准的【有些视频不准,要用工具重新生成再“视频->打开关键帧”】)



    关键帧的重新生成,可以用MIR大佬的脚本(隔壁帖附件有给)。如果不想装vapoursynth环境,也可以用我参考unanimated配置的这个:



    ffmpeg需要另外下载
    需要系统环境变量配置ffmpeg修改启动脚本 set "ffmpeg_exe=ffmpeg" 等号后面的ffmpeg 为ffmpeg的exe文件路径
    把单个视频文件拖到bat里执行即可(有些视频有特殊字符或名字过长的,可能要改一下文件名才行)



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    无聊
    2023-3-18 18:33
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    20

    主题

    304

    回帖

    1056

    VC币

    星辰大海

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

    积分
    403853
    Lambholl 发表于 2024-1-13 15:59:07 | 显示全部楼层
    potplayer自带的字幕滤镜时间本来就不准,如果要测试还是上XySubFilter with libass或者mpv吧
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    无聊
    20 小时前
  • 签到天数: 128 天

    [LV.7]常住居民III

    23

    主题

    58

    回帖

    1066

    VC币

    至尊会员

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

    积分
    207673

    崭露头角新人登场

    月夜残星  楼主| 发表于 2024-1-13 22:28:48 | 显示全部楼层
    Lambholl 发表于 2024-1-13 15:59
    potplayer自带的字幕滤镜时间本来就不准,如果要测试还是上XySubFilter with libass或者mpv吧 ...

    只是拿potplayer举个例子,用其他播放器也有这个问题
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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