AI 影视解说工作流
本文档详细介绍 SceneFab AI 影视解说的全流程工作原理,帮助你理解每个环节的原理,从而更好地掌控输出质量。
完整工作流
视频输入
│
▼
Step 1 · 语义拆条(Qwen2.5-VL)
│ 抽帧 → 视觉理解 → 场景边界检测 → 语义聚类
▼
Step 2 · 情感峰值选段
│ 视觉信息密度 + 音频语调变化 → 综合评分排序
▼
Step 3 · 解说生成(DeepSeek-V4)
│ 情节理解 → 第一人称视角 → 情感风格 → 多版本
▼
Step 4 · 配音合成(Edge-TTS / F5-TTS)
│ 文字→语音 → 语速/音调调节 → 词级时间戳
▼
Step 5 · 字幕对齐(TTS Word-level Timing)
│ ASS/SRT 格式 → 逐字同步(50ms 精度)
▼
Step 6 · 视频合成(FFmpeg)
│ 配音+字幕+原片 → H.264/H.265 编码
▼
输出(MP4 / 剪映草稿 JSON)Step 1 — 语义拆条
核心能力
传统剪辑软件需要手动打点,SceneFab 通过 Qwen2.5-VL 自动理解视频语义:
| 传统方式 | SceneFab |
|---|---|
| 手动逐帧观看 | AI 逐帧视觉理解 |
| 凭感觉判断切点 | 语义相似度自动计算 |
| 纯主观选段 | 情感评分量化排序 |
抽帧策略
| 参数 | 默认值 | 说明 |
|---|---|---|
| 抽帧间隔 | 1 秒 | 每隔 N 秒取一帧分析 |
| 最小场景长度 | 5 秒 | 短于此长度的场景合并 |
| 置信度阈值 | 0.6 | 低于此值的帧不计入场景 |
场景边界检测
场景边界 = 连续帧间语义相似度 < 阈值Qwen2.5-VL 将每帧编码为向量,帧间向量余弦相似度骤降即为场景切换点。
Step 2 — 情感峰值选段
评分公式
情感得分 = 视觉信息密度 × 0.6 + 音频语调变化 × 0.4视觉信息密度
评估每一帧包含的信息量:
- 画面变化率(镜头运动、特效、剪辑节奏)
- 人物表情/动作强度
- 场景重要性(叙事核心/背景)
音频语调变化
- 语速变化(对话节奏、旁白密度)
- 音量起伏(高潮/低谷)
- 背景音乐情绪变化
选段策略
- 叙事完整优先:保证"起-承-转-合"结构完整
- 情感峰值加权:高光时刻优先保留
- 时长平衡:总时长控制在目标范围内
Step 3 — 解说生成
情感风格
| 风格 | 适用内容 | 解说语气 |
|---|---|---|
| 治愈 | 旅行、自然风光、生活记录 | 温暖、放松、随性 |
| 悬疑 | 惊悚、探秘、推理向内容 | 低沉、留白、制造紧张感 |
| 励志 | 挑战、成长、努力过程 | 坚定、有力、积极 |
| 怀旧 | 回忆、老物件、时光流逝 | 柔和、感慨、余韵悠长 |
| 浪漫 | 情感、约会、美好时刻 | 细腻、温柔、充满画面感 |
| 幽默 | 喜剧、日常、趣味片段 | 轻松、俏皮、节奏明快 |
| 纪录片 | 纪实、科普、人物专题 | 客观、沉稳、信息丰富 |
Prompt 工程
SceneFab 内部构建的解说 Prompt(用户可自定义角色设定):
你是视频中的主角,用"我"的视角描述正在发生的一切。
语气:[情感风格]
主角特征:[外貌描述]
场景:[场景描述]
要求:
- 使用第一人称"我"
- 自然流畅,像真实的人在说话
- 不重复画面已有信息,而是补充画面背后的情感和想法
- 长度:[根据目标时长自动调整]Step 4 — 配音合成
Edge-TTS(默认,免费)
微软主流 TTS 引擎,无需 API Key。
F5-TTS 音色克隆
只需 15–30 秒参考音频,克隆任意音色:
- 准备参考音频(MP3/WAV,15–30 秒,说话清晰)
- 设置 → 配音配置 → F5-TTS → 上传参考音频
- 选择克隆音色作为配音
⚠️ F5-TTS 需要独立安装,完全本地运行。
语速与音调
| 参数 | 范围 | 默认 | 说明 |
|---|---|---|---|
| 语速 | 0.5x – 2.0x | 1.0x | 低于 1.0 放慢,高于 1.0 加快 |
| 音调 | -50% – +50% | 0 | 负值降低音调,正值提高 |
Step 5 — 字幕对齐
TTS Word-level Timing
Edge-TTS 提供逐词时间戳(word-level timing),精确到每个字的起止时间。
字幕样式
| 样式 | 效果 |
|---|---|
| 电影黑底白字(默认) | 底部居中,黑底白字,带淡淡描边 |
| 透明覆盖 | 底部居中,无背景,文字描边 |
| 卡片式 | 全宽底栏,半透明背景 |
| 顶部字幕 | 用于说明画面外事件 |
Step 6 — 视频合成
FFmpeg 管线
bash
ffmpeg -i input.mp4 -i narration.wav -vf "ass=subtitle.ass" \
-c:v libx264 -c:a aac output.mp4编码选择
| 编码 | 兼容性 | 体积 | 推荐场景 |
|---|---|---|---|
| H.264 | 所有设备 | 中 | 通用输出,微信/B站直接上传 |
| H.265 | iOS 15+/Android 10+ | 小约 40% | 存档,高质量输出 |
音频混合
| 模式 | 说明 |
|---|---|
| 仅配音(默认) | 完全替换为 AI 旁白 |
| 配音+原音 | 背景音乐/环境音保留,配音覆盖人声 |
| 静音 | 仅保留画面,导出纯视频 |
质量优化技巧
| 问题 | 解决方案 |
|---|---|
| 解说稿不够自然 | 切换情感风格或调整解说长度 |
| 音画不同步 | 检查视频帧率是否正常,降低抽帧间隔 |
| 字幕时间轴不准 | 使用 Edge-TTS(非 F5-TTS),确认 TTS word-level timing 可用 |
| 视频体积过大 | 切换 H.265 编码或降低分辨率 |
| 配音机械感 | 切换至 F5-TTS 克隆音色,或尝试其他 Edge-TTS 音色 |
