一场直播结束后,怎么从几十分钟回放里找到值得剪的片段?可以先让语音识别给出带时间的文字,再让 AI 按句子编号提候选,最后自己回听确认,并用代码把切点挪到停顿附近。这里提供完整脚本和一段可下载的练习素材,按步骤能在本机复现。

先下载素材

下载直播切片工具包并解压。包内有切片与句子编号转换脚本、AI 提示词、转写和选段样例、合成练习录音、三个输出视频以及使用说明。脚本本体就在解压目录里,不依赖作者电脑上的项目路径。

练习录音是 AI 写稿后用 macOS 中文语音合成的虚构咖啡直播,不是真人或真实门店录音。包里的 asr.json 是这段音频的 FunASR 输出,live_truth.json 是合成时保留的台词与时间点,用来核对本次练习结果。

1. 从转写里挑候选,不让模型猜时间

安装 FunASR 后,可以把自己的录音转成带时间戳的句子。素材包里的 s239_asr.py 是可直接查看和运行的脚本;它使用 Paraformer 中文识别、标点、VAD 和说话人模型。首次运行会下载模型,长录音耗时和结果会因设备、音质和模型版本变化。

python3 -m pip install funasr
python3 s239_asr.py 录音.wav asr.json

把 asr.json 和下面提示词交给你常用的文字 AI。让它只返回起止句编号、候选标题和选择理由,不要让它编时间点;再试听原录音,确认片段没有从半句话开始或在关键内容前结束。

根据这些带编号的直播转写,选出 3 段适合回看的候选片段。每段约 25–75 秒,内容完整。
只输出 JSON 数组,每项包含 from(起始句编号)、to(结束句编号)、title、why。
转写可能有错字;不要补充转写里没有的事实、价格、效果或承诺。

将 AI 的候选保存为 picks.json。其中 from 和 to 是从 0 开始的句子编号。工具包里的 picks.json 就是本文练习样例。

2. 把句号编号换成时间范围

运行 s239_prepare_clips.py,它会把每段的编号映射到 ASR 时间戳,并检查越界、重叠和 25–75 秒时长:

python3 s239_prepare_clips.py asr.json picks.json clips.json

脚本不判断片段是否有价值,也不确认转写是否准确。先逐段回听,并在 clips.json 里修正 AI 写错的标题或选段理由。要替换字幕时,将人工核对后的文字放进对应片段的 text_fixed 字段;切片脚本会显示这段文字,但不会替你判断它是否忠于原音。练习样例从 158 段转写里选出三段,初选区间分别约 52 秒、41 秒和 31 秒。

3. 按停顿微调切点并导出

准备一个支持中文的字体文件,并使用 PyAV 文档当前支持的 Python 3.12+ 环境安装依赖:

python3.12 -m pip install av pillow numpy
python3.12 s239_cut_clips.py audio/live.wav asr.json clips.json out 0.5 /字体文件路径/中文字体.otf

切片脚本按音频静音段寻找附近切点,默认把至少 0.5 秒的停顿视为候选,并最多移动 8 秒。这个阈值不是通用值:先抽听自己的录音,比较句间和句内停顿,再调整命令里的 0.5。脚本输出 1080×1920 的 MP4、字幕预览和 clips_snapped.json。样例运行切出三段约 60 秒、47 秒和 35 秒的视频;这只说明本次合成录音的结果。

切片画面预览 第二段示例
三段切片画面预览三段切片画面预览 第二段切片示例

练习素材没有真实直播画面,所以示例视频是标题、字幕和合成声音。真实使用时,将脚本产生的起止时间用于自己的视频剪辑软件,再把字幕逐句对齐;当前脚本用等时长显示字幕,不是逐字识别时间。

4. 发布前人工复核

自动转写会错字、错数字,也可能把一句话切成多个片段。AI 修改字幕时,限定它只改错字和标点;对照原音确认人名、价格、日期、规格和承诺,没有听清的内容应回听或删除,不要让模型补齐。数字检查和词语扫描只能提示人工检查,不能代替核实。

样例第三段的转写含有“绝对好喝”。工具会把“绝对”等词作为复核提醒,去掉标点再查是为了避免 ASR 把词拆开后漏检。它不能仅凭一个词判断是否违法:广告法第九条第三项列举“国家级”“最高级”“最佳”等用语;市场监管总局执法指南要求结合广告内容、具体语境和实际情况判断。剪辑发布前应核验商品宣传事实;有疑问时删除或改成有依据、可验证的表达,并咨询专业人士。

样例预告素材中的店名、主播、活动和日期均为虚构。teaser.json 里的日期只用于演示,不能直接当作真实开播通知;使用时按实际安排重新填写,并检查日期、时间、价格及活动是否准确。

工具和边界

  • 直播切片工具包:含脚本源码、提示词、合成录音、转写、候选片段和输出样例。也可以在仓库源码目录查看 s239_asr.py、s239_prepare_clips.py 和 s239_cut_clips.py。
  • FunASR 首次运行会下载模型;PyAV 安装包包含音视频编解码库,按官方安装说明选择支持的 Python 版本。
  • 脚本不自动发布、不判断商业宣传是否合法,也不代替对原音、画面、价格或授权的人工确认。