2026-05-18-23-35-23 生成系统使用配音视频

This commit is contained in:
2026-05-18 23:58:10 +08:00
parent e5d31e4e6b
commit 8bf1ba0347
6 changed files with 135 additions and 0 deletions

View File

@@ -10,6 +10,7 @@ release_packages
packaging_build packaging_build
storage/jobs storage/jobs
storage/uploads storage/uploads
待配音视频
storage/**/*.raw.mp4 storage/**/*.raw.mp4
*.tar.gz *.tar.gz
*.zip *.zip

1
.gitignore vendored
View File

@@ -10,6 +10,7 @@ data/
storage/jobs/ storage/jobs/
storage/uploads/ storage/uploads/
storage/demos/ storage/demos/
待配音视频/
packaging_build/ packaging_build/
release_packages/ release_packages/
*.log *.log

View File

@@ -0,0 +1,35 @@
# 实现方案
开始时间2026-05-18-23-35-23
## 忽略策略
-`.gitignore` 中加入 `待配音视频/`,确保原始视频、配音音频、中间文件和最终成片都不会进入 Gitea。
-`.dockerignore` 中加入 `待配音视频`,避免后续 Docker 构建上下文夹带大视频素材。
## 配音稿
-`配音生成工作流-Agent.md` 要求创建 4 段式配音稿:
- 系统定位与价值。
- 上传样例和双视频预览。
- 运行分割、帧级结果和多方法对比。
- Docker/公网访问与总结。
- 文案控制在约 1 分钟可朗读长度。
## TTS 生成
- 优先检查讯飞环境变量与 PowerShell 可用性。
- 当前环境不满足讯飞脚本运行条件时,使用 Linux 可运行的中文 TTS 生成 mp3。
- 生成后使用 `ffprobe` 检查配音时长。
## 视频处理
- 将原始 85.6 秒视频按配音目标时长进行轻度变速,使最终成片约 60 秒。
- 使用 H.264/AAC、yuv420p 和 faststart 输出,保证浏览器和常见播放器兼容。
- 原始录屏音频静音,仅保留新配音,避免两路声音叠加。
## 输出路径
- 配音稿:`待配音视频/配音稿-ISISeg系统使用视频.md`
- 配音音频:`待配音视频/02_audio/...`
- 最终成片:`待配音视频/05_outputs/ISISeg-系统使用视频-配音版.mp4`

View File

@@ -0,0 +1,44 @@
# 测试方案
开始时间2026-05-18-23-35-23
## Git 忽略校验
- `git check-ignore -v 待配音视频/ISISeg-介入导丝视频分割工作台-使用展示.mp4`
- `git status --short` 确认 `待配音视频` 内容不出现在待提交列表。
- 检查 `.dockerignore` 包含 `待配音视频`
执行结果:
- `待配音视频/` 命中 `.gitignore` 第 13 行规则。
- `.dockerignore` 已加入 `待配音视频`
- 原始视频、旁白音频和最终成片均不会进入 Gitea 提交。
## 音视频校验
- `ffprobe` 检查原始视频时长、分辨率、编码。
- `ffprobe` 检查配音音频时长。
- `ffprobe` 检查最终视频时长、分辨率、视频编码和音频编码。
- 使用 `ffmpeg` 抽取最终视频首帧或关键帧,确认画面非空。
执行结果:
- 原始视频1920x1080、HEVC、50fps、约 85.636 秒。
- 旁白音频4 段中文配音合成为 64.272 秒。
- 视频变速系数:`1.332400`,将 85.636 秒录屏压缩到旁白时长。
- 最终视频1920x1080、H.264、30fps、AAC约 64.234 秒。
- 最终视频完整解码通过:`decode-ok`
- 音量检查:平均音量约 `-30.0 dB`,峰值约 `-5.4 dB`,音轨非静音。
- 已抽取中间帧查看,画面为系统工作台界面,非空白。
## 交付校验
- 最终视频存在于 `待配音视频/05_outputs`
- 最终视频时长约 1 分钟。
- Gitea 提交只包含 `.gitignore` 与工程分析文档,不包含 `待配音视频`
执行结果:
- 最终成片:`待配音视频/05_outputs/ISISeg-系统使用视频-配音版.mp4`
- 旁白音频:`待配音视频/02_audio/final_mix/ISISeg-系统使用视频-旁白.mp3`
- 配音稿:`待配音视频/配音稿-ISISeg系统使用视频.md`

View File

@@ -207,3 +207,35 @@ B. 产生问题原因:自动化测试和 Docker 构建前已运行 Python 代
C. 解决问题方案:重新打包时排除 `__pycache__``.pyc`、临时目录和发布目录,并新增 `.gitignore` 避免后续误提交。 C. 解决问题方案:重新打包时排除 `__pycache__``.pyc`、临时目录和发布目录,并新增 `.gitignore` 避免后续误提交。
D. 后续如何避免问题:发布包生成后必须执行包内文件检查,至少确认无缓存、无临时目录、无本地数据和无敏感配置外泄。 D. 后续如何避免问题:发布包生成后必须执行包内文件检查,至少确认无缓存、无临时目录、无本地数据和无敏感配置外泄。
## 2026-05-18-23-35-23 使用视频配音与成片
### 1. 待配音素材不能进入 Gitea
A. 具体问题:`待配音视频` 下包含原始录屏、配音音频、中间文件和最终成片,文件体积较大且属于交付素材,不应上传到源码仓库。
B. 产生问题原因:该目录不在原 `.gitignore` 中,后续如果手动 `git add .` 容易误提交视频素材。
C. 解决问题方案:在 `.gitignore` 中加入 `待配音视频/`,并用 `git check-ignore` 校验原始视频、旁白音频和最终成片均被忽略。
D. 后续如何避免问题:所有录屏、配音、导出视频和临时剪辑目录都应先加入忽略规则,再生成大文件,提交前必须查看 `git status --short`
### 2. 讯飞配音脚本运行条件不满足
A. 具体问题:配音工作流文档默认使用讯飞 PowerShell 脚本,但当前环境未设置讯飞三项环境变量,也没有 PowerShell 运行时。
B. 产生问题原因:该工作流来自 Windows/讯飞环境,当前执行环境是 Linux缺少对应账号环境与脚本运行时。
C. 解决问题方案保留工作流中的四段式配音稿、TTS、时长检查和视频合成步骤TTS 引擎替换为当前环境可运行的中文神经配音工具,并记录实际声音和时长。
D. 后续如何避免问题:配音工作流应预先区分“讯飞凭证可用”和“本地/在线替代 TTS”两条路径任务开始时先检查环境变量和运行时避免到合成阶段才发现不可用。
### 3. 原视频时长与旁白时长不一致
A. 具体问题:原始录屏约 85.6 秒,目标视频约 1 分钟,直接换音轨会出现画面比旁白长的问题。
B. 产生问题原因:录屏展示节奏偏慢,而旁白文案按介绍视频压缩到了约 64 秒。
C. 解决问题方案:用 `ffprobe` 计算原视频和旁白时长,按 `85.636 / 64.272 = 1.332400` 对视频做轻度变速,原始音频静音并替换为新旁白,输出 H.264/AAC 兼容格式。
D. 后续如何避免问题:合成介绍视频时先确定旁白时长,再用可接受的变速范围调整画面;如果变速超过自然范围,应优先重新剪辑画面而不是强行加速。

View File

@@ -0,0 +1,22 @@
# 需求分析
开始时间2026-05-18-23-35-23
## 用户需求
1. `待配音视频` 文件夹不需要上传到 Gitea。
2. 将待配音视频处理为约 1 分钟左右。
3. 参考 `待配音视频/配音生成工作流-Agent.md`,生成系统介绍配音,并合成为完整的系统使用视频。
## 约束与现状
- 原始素材:`待配音视频/ISISeg-介入导丝视频分割工作台-使用展示.mp4`
- 原始视频信息1920x1080、50fps、HEVC、总时长约 85.6 秒,含 AAC 音频。
- 配音工作流文档使用讯飞 TTS PowerShell 脚本,但当前 Linux 环境未配置 `XF_APPID``XF_APIKEY``XF_APISECRET`,且无 PowerShell 运行时。
- 为保证任务可落地沿用工作流的分段稿件、TTS、时长检查、视频合成步骤TTS 引擎使用当前环境可执行的中文配音工具替代。
## 输出目标
-`待配音视频` 下生成约 1 分钟的最终成片。
- 最终视频包含系统介绍旁白,并与画面时长匹配。
- 提交到 Gitea 的内容只包含忽略规则和工程分析文档,不包含 `待配音视频` 中的素材和成片。