2小时直播回放切成20条竖屏切片:转写、选段、时间戳对齐的完整流程

视频视频切片FunASRfaster-whisper2026-09-21

上周帮一个做求职辅导的朋友处理他的直播回放。他每周三晚上开两小时直播讲简历和面试,回放挂在视频号里,平均播放四百出头。他自己试过切片:暂停、找那句话的开头、拖进度条、导出,一条三分钟的竖屏视频要花四十分钟。两小时里明明有十几个能单独发出去的回答,最后一条都没发出去。

问题不在剪辑软件,在时间戳。人耳能听出一句话从哪开始,程序不知道。所以整条链路的核心只有一件事:把「哪一秒到哪一秒」变成可靠的数据。这篇就按这条线走一遍,同时标出哪些环节省不掉人工。

什么样的片源值得走这条路

口播、访谈、课程录播、直播答疑,信息集中在语言上,适合自动化处理。Vlog、探店、手工过程、剧情短片,切点由画面情绪决定,自动切片大概率切在半句话上。

有个不用工具的判断方法:把声音关掉看 30 秒。如果你还能大概知道在发生什么,说明画面本身承载信息,这套流程帮不上什么忙;如果你只看到一个人在动嘴,那就可以往下走。

转写:词级时间戳比文字本身重要

先抽音轨。转写模型基本都吃 16kHz 单声道 PCM,直接用原视频喂进去会多一道隐式重采样。

ffmpeg -i live_0903.mp4 -vn -ac 1 -ar 16000 -c:a pcm_s16le audio.wav

转写方案按你手上有什么设备来选:

方案运行位置中文标点词级时间戳备注
FunASR Paraformer(阿里达摩院开源)本地 / 魔搭需搭配 ct-punc支持中文热词表好用,专有名词纠错方便
faster-whisper large-v3本地自带word_timestamps=True术语靠 initial_prompt 引导
剪映专业版智能字幕客户端自带字幕可导出 srt不用写代码,长视频上传和识别耗时较长
前两个是开源项目,本地跑不产生费用;剪映基础功能免费,部分高级功能需要会员,具体以客户端内显示的档位为准。

faster-whisper 的调用大致是这样:

from faster_whisper import WhisperModel

model = WhisperModel("large-v3", device="cuda", compute_type="float16") segments, info = model.transcribe( "audio.wav", language="zh", vad_filter=True, word_timestamps=True, initial_prompt="简历 面试 秋招 管培生 群面 单面 背调", )

vad_filter=True 会先做人声活动检测,把长时间静音切掉,后面选段时不会挑到空档。initial_prompt 里塞进这场直播会反复出现的词,能明显减少专有名词写错的情况——一个把「群面」写成「裙面」的转写结果,后面无论怎么处理都是废的。

FunASR 这条路多了一个标点模型,输出直接是带标点的整句,做选段时更省事:

from funasr import AutoModel

model = AutoModel( model="paraformer-zh", vad_model="fsmn-vad", punc_model="ct-punc", ) res = model.generate(input="audio.wav", batch_size_s=300)

跑完把结果整理成一个 JSON 数组,每条带 id、start、end、text,这是后面所有步骤的底稿。

选段:让模型只返回句子编号

选段这一步最容易被做坏。很多人直接把整篇转写丢给模型,让它挑金句、顺便给出时间戳。这里有两个坑:模型给的时间戳基本靠猜,偏差十几秒很正常;挑出来的所谓金句,单看那一句很漂亮,但没有前文根本不知道在说什么。

两个坑的解法都很直接。

时间戳不要让模型碰。你传进去的是带编号的分句,要求它只返回 start_id 和 end_id,真实秒数从你自己的转写结果里查。这样无论模型怎么发挥,切出来的时间都是准的。

选段标准从「精彩」换成「不依赖前文也能看懂」。给模型的约束里写清楚几条硬性条件:起始句不能以「那」「然后」「所以刚才」这类指代词开头;片段长度落在 20 到 60 秒;每段必须包含一个完整的问题加回答,或者一个完整结论;最多返回 12 段,按可独立观看的程度排序。

提示词可以照这个骨架改:

你是直播切片选段助手。输入是带编号的口播转写分句。
输出 JSON 数组,每项包含 start_id、end_id、title、reason。
硬性要求:
  • 起始句不能以「那」「然后」「所以」「刚才」开头;
  • 长度 20-60 秒;
  • 每段包含完整问答或完整结论;
  • 最多 12 段,按独立可看程度排序。
只输出 JSON,不要解释。

模型返回 12 段,我通常会删掉三到五成。删的理由集中在两类:一段话里反复出现「这个」「那个」却没有明确指代对象;另一类是结论对,但听众需要知道提问者的背景才能理解。这两类模型判断不了,得人来。

切、竖起来、配字幕

切点前后各留一点气口

切片的第一句前面留 0.3 秒,结尾多留 0.5 秒。别把换气声剪得太干净,听起来像被掐断。

ffmpeg -ss 00:12:31.480 -i live_0903.mp4 -t 42.5 \
  -c:v libx264 -preset medium -crf 20 \
  -c:a aac -b:a 192k clip_07.mp4

-ss 放在 -i 前面是快速定位,速度快但会落到最近的关键帧上,可能有零点几秒误差;要精确到帧就把 -ss 挪到 -i 后面,代价是解码变慢。竖屏短视频这零点几秒影响不大,但如果你要从中间切掉一段再拼接,就得用精确模式。

竖屏两种做法

单人口播,用带人脸跟随的自动裁切就够了,剪映专业版的智能裁剪、腾讯智影里都有类似功能,画面会跟着人物在 9:16 画框里移动。如果原片机位本身比较正,也可以直接在 FFmpeg 里做中心裁切:

ffmpeg -i clip_07.mp4 -vf crop=ih*9/16:ih -c:a copy clip_07_vertical.mp4

双人访谈就不适合跟人了,画面来回跳。改用上下分屏,或者主画面加右上角小窗,把提问者和回答者同时放进竖屏框里。这种情况下人物位置固定,一次排好版就能批量套用。

字幕时间戳必须整体平移

这是最容易被忽略的一步。切片是从 12 分 31 秒开始的,但导出的视频从 0 秒开始,字幕文件里的时间还是原片的。直接挂上去,字幕会全部错位。

做法是把落在切片范围内的分句挑出来,每条的 start 和 end 都减去切片起点,再输出 srt 或 ass。切点不在句首时,第一句的时间可能变成负数,记得钳到 0。

烧录:

ffmpeg -i clip_07_vertical.mp4 -vf subtitles=clip_07.ass -c:a copy final_07.mp4

批量导出前的检查清单

  • 前 3 秒有没有把这段的结论或冲突说出口
  • 字幕单行不超过 16 字,最多两行
  • 切片首尾没有半句话
  • 响度统一,用 loudnorm 归到 -14 LUFS 附近
  • 竖版封面文字落在安全区内,不被平台按钮遮挡
  • 素材里的背景音乐、嘉宾画面有使用依据
  • 文件名带日期和序号,方便后面翻找
响度统一可以单独跑一遍,视频流直接复制不重新编码:
ffmpeg -i final_07.mp4 -af loudnorm=I=-14:TP=-1.5:LRA=11 \
  -c:v copy final_07_norm.mp4

四个容易翻车的环节

降噪引入延迟。 如果你先做降噪再转写,而导出时用的还是原始音轨,某些降噪插件会引入 100 到 300 毫秒的延迟,字幕整体偏。稳妥做法是转写和导出用同一份处理过的音频,省得来回对。

删静音后时间戳失效。 用 auto-editor 这类工具自动去掉停顿,成片比原片短,转写时间戳必须按删除区间重新映射,否则字幕全乱。第一次用建议先拿一段十分钟的素材试,对一遍再上长视频。

显存不够。 large-v3 用 float16 大概要 10GB 显存,跑不动就换 compute_type="int8",或者退到 medium 模型。中文口播场景下,两者的差距主要体现在专有名词上,日常对话内容差别没那么大。

版权。 直播时的背景音乐、连麦嘉宾的画面、转载素材,都要有使用依据。BGM 换成平台自带的曲库最省事。

另外,同一条切片不要原样发到所有平台。竖版平台要 9:16 带字幕,横版平台可以多留一点上下文,尤其当这个结论依赖前面铺垫时。

学习资源

FunASR 由阿里达摩院语音实验室开源,Paraformer、FSMN-VAD、CT-Transformer 标点模型的讲解和演示,可以在 B 站「魔搭ModelScope」账号的官方视频里看到。

剪映专业版的智能字幕和智能裁剪操作演示,可以在 B 站「剪映」官方账号查看;在 B 站或抖音搜索「剪映专业版 智能字幕」,也能找到大量创作者录制的分步教程。

视频来源网络,仅供学习参考,如有侵权请联系删除。

先做一件事

挑一条你手上时长超过 30 分钟的视频,只做第一步:抽出 16kHz 单声道音轨,跑一遍转写,把输出的文本导出来读一遍。重点看专有名词错了多少——如果错得比较多,先把热词表补齐,再谈自动选段。选段准不准,很大程度上取决于转写稿里那个人名和术语是不是对的。

PREMIUM

需要完整版教程?

包含详细步骤、视频演示、提示词模板和可下载资料包。微信支付即时获取。

购买完整版 ¥29.90