AI 转写做成字幕后删掉了几段视频,怎样让字幕跟着剪辑表一起移动

2026-10-24

剪掉视频片段后,应将每条字幕与保留区间求交,再减去之前删掉的时长,得到新时间轴。跨剪口的字幕可能被拆成多段,但复制原句并不能保证剪后语言自然,需要明确标记人工重写。

用半开区间描述保留内容

附件保留原片[0,3)与[5,9),中间3至5秒被删除,新片长度为7秒。区间采用左闭右开,交界处不会重复计算同一个时刻。原字幕c1覆盖1至6秒,c2覆盖6至8秒。输入顺序必须升序且不重叠;否则简单累积偏移会产生重复片段或倒退时间,不能只排序一下就假装原计划含义未变。

对每个交集独立换算

c1与第一保留段相交得到1至3秒,映射后仍为1至3;与第二段相交得到5至6秒,映射到新片3至4秒。c2的6至8秒映射成4至6秒。计算时用该保留段在新片的起点加原时间减段起点,不对整条字幕只减一个固定值。cue结束恰好落在剪口时,零长度交集应丢弃,避免生成不可见字幕。

导出谱系而不只给新文件

edited.vtt可以由支持WebVTT的播放器加载,lineage.csv逐段保留原cue_id、原交集起止、新起止与文字处理状态。c1的两个片段都标review_text,提示它们来自被切断的原句;c2完整保留,标unchanged。原始VTT继续存在,方便人工回看上下文。如果真实cue含多行或样式标记,还需确认解析器保留其语法,不能用这个最小文本示例覆盖全部WebVTT功能。

剪辑正确不代表字幕语言正确

失败命令用乱序保留区间,程序拒绝映射。实际字幕跨剪口时,前半句可能已失去主语,后半句可能接错对象,必须按剪后画面回看并改写;没有逐词时间不能自动知道删掉了哪几个字。此包不处理音视频编码,也不调用ASR或模型重写,只完成时间交集与谱系交付。使用自己的文件前,先核对源视频时长、字幕时间基准和剪辑表来自同一版本,再逐个检查剪口附近。

字幕完成时间映射后,可先只检查每个保留段的开始和结束附近,再完整播放一遍。多条cue在新时间轴相邻不等于语义连贯;审核记录应说明哪些仅改时间、哪些改了文字,以免后续人工误把自动复制的片段视为已审定台词。

下载与复现

下载完整样例包,解压到一个新文件夹;也可查看全部文件清单和主脚本。使用Python 3.10或更新版本,在解压目录运行。此脚本只使用标准库,无需安装额外包。

python -B run.py
python -B run.py --negative

先查看主要结果,再修改输入重跑;已有输入会保留,结果写回同目录。边界命令可能故意非零退出,也可能输出明确的不适用状态,按正文说明判断,不把所有非零退出都当成安装故障。

依据与延伸阅读

资料核对日期为2026年10月24日。一手资料1:WebVTT定义cue时间与文本语法;剪辑映射和人工改写状态是本文的本地实现。

继续阅读:长音频怎么切:切分点选错会吃掉哪些字;ASR 转写里标出了要隐去的词,怎样把时间段变成音频静音副本;AI 字幕开头对齐、越往后越偏,怎样用两个同步点区分固定偏移和速度漂移。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。

加微信,把这一页存到手机上

扫码加站长企业微信,会自动把这一页的链接发给你,方便在手机上接着看。AI 落地卡住了,也可以直接问。

去留微信

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。