Article

让 AI 帮我从横屏视频里裁出竖屏素材

assess

做播客二创内容,遇到一个很头疼的问题。

横屏访谈视频很好找,但平台要的是竖屏。

手动裁剪的话,得逐帧判断谁在说话,调整裁切框位置跟着主讲人移动,一条 3 分钟的视频至少要花半小时。

我需要一个工具:自动识别谁在说话,自动裁切成 1080x1920 竖屏,直接输出可用的视频素材。


问题在哪

横屏视频通常是访谈、对谈、播客录制——多人同框,镜头固定。

做短视频二创时,需要:

识别主讲者——某个时刻,谁在说话。

裁切并跟踪——把主讲者裁到画面中心,镜头跟着人走。

输出竖屏素材——1080x1920,符合抖音、小红书、视频号的规格。

如果手动做,就是:

  • 播放视频,看谁在说话
  • 标记时间点
  • 调整裁切框位置
  • 导出片段
  • 重复以上步骤几十次

这是纯体力活,没有任何创造性,但非常耗时。


思路:视听同步检测

要判断谁在说话,光看画面不够——得结合音频。

这个问题在学术界叫 Active Speaker Detection(ASD),核心思路是:

人脸检测与追踪——找到画面中所有的人脸,逐帧追踪。

音频-视觉同步打分——对每张脸,计算「嘴部动作」和「音频波形」的同步程度。得分越高,越可能是说话的人。

主讲者切换逻辑——设置保持时间,避免频繁跳跃。比如主讲者 A 说完后停顿 1 秒,镜头不会立刻跳走,而是等 B 连续说话超过阈值才切换。

这套流程跑通了,就能自动输出「谁在哪个时间段说话」的标注,进而自动裁切、生成竖屏视频。


用的什么模型

我找到一个开源实现——LR-ASD(Low-Resource Active Speaker Detection)。

这是一个轻量化的 ASD 模型,不需要大显卡,能在普通笔记本上跑。

它做三件事:

  1. 人脸检测:找出画面中的所有人脸
  2. 音视频编码:分别提取音频特征和人脸视觉特征
  3. 同步打分:用一个小的融合网络,判断每张脸和音频的匹配度

输出是一个时间轴标注文件——每帧标记哪个人脸在说话。


怎么接进 pi

我把这套流程封装成一个 pi 工具 detect_active_speaker

使用方式很简单,直接在 pi 里说:

「识别这个视频里谁在说话,裁成竖屏素材」

工具会自动拉起 ASD 服务(如果没在跑),跑完检测,直接输出竖屏视频到 ~/Documents/pi-output/clips/ 目录。


多人访谈的抖动问题

接好之后,拿了一段 5 人访谈视频测试。

出来的竖屏视频,切人是准的,但画面有抖动——镜头跟着说话人的脸位置走,而人脸检测结果本身每帧都有微小偏差,累积起来就是肉眼可见的抖动感。

多人访谈还有一个额外的问题:5 个人同框,ASD 模型评分有时会在相邻帧之间短暂误判,产生几帧「切到旁边的人又切回来」的闪烁。


用两步离线平滑解决

在线(因果)滤波治标不治本——它只能看到过去,修不掉向前的跳变。

对于录播视频,可以做离线预处理:先把整段检测结果拿出来,软化之后再送去渲染。

我在渲染前加了两个步骤:

第一步:短段合并

把持续时间不足 40 帧(约 1.6 秒)的说话人切换,直接归并进相邻更长的段。

这解决的是「眨眼式误判」——ASD 评分偶尔抖动,产生 0.5 秒的错误切人,这类噪声全部过滤掉。

第二步:Savitzky-Golay 平滑

对每个说话人段内的人脸位置,做离线 SG 滤波。

SG 滤波保形(不会把运动拖成糊的),而且没有时延——因为它是离线计算,能同时看过去和未来的数据。窗口设 61 帧(约 2.4 秒),人脸轨迹的细碎抖动就被消掉了。

两步都在渲染之前跑完,渲染器拿到的已经是干净的轨迹。


实测结果

拿同一段 5 人访谈视频,处理 10:00-11:00 这一分钟:

处理前:镜头跟人走,但能明显感觉到细碎抖动。

处理后:镜头移动流畅,说话人切换干净,没有闪烁。

从横屏到竖屏,全程自动,输出直接可用。


现在的工具合集

工具做什么
transcribe_audio本地语音转录(SenseVoice)
generate_xiaohongshu_card小红书配图生成
dub_narration声音克隆配音 + 字幕视频
vision_analyze本地视觉理解(Qwen3-VL)
manage_services后台服务调度,释放内存
extract_subtitles硬字幕提取(GLM-OCR)
disk_scan硬盘空间扫描
detect_active_speaker主讲者检测与竖屏裁切

八个工具,各管一块。


做内容的时候,很多时间花在「格式转换」上——

横屏转竖屏,长视频切片段,找出主讲者片段。

这些是机械劳动,不需要创意,但必须做。

AI 应该把这些事接走。

让人去做真正需要判断的部分——选题、角度、节奏、情绪。

这是我一直在做的事。


本系列持续更新,记录把各种工具接进 AI 助手 pi 的完整过程。