diff --git a/.dockerignore b/.dockerignore index f4b54ce..d66701b 100644 --- a/.dockerignore +++ b/.dockerignore @@ -10,6 +10,7 @@ release_packages packaging_build storage/jobs storage/uploads +待配音视频 storage/**/*.raw.mp4 *.tar.gz *.zip diff --git a/.gitignore b/.gitignore index a4ec699..0d39625 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ data/ storage/jobs/ storage/uploads/ storage/demos/ +待配音视频/ packaging_build/ release_packages/ *.log diff --git a/工程分析/实现方案-2026-05-18-23-35-23.md b/工程分析/实现方案-2026-05-18-23-35-23.md new file mode 100644 index 0000000..618ad80 --- /dev/null +++ b/工程分析/实现方案-2026-05-18-23-35-23.md @@ -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` diff --git a/工程分析/测试方案-2026-05-18-23-35-23.md b/工程分析/测试方案-2026-05-18-23-35-23.md new file mode 100644 index 0000000..c67c443 --- /dev/null +++ b/工程分析/测试方案-2026-05-18-23-35-23.md @@ -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`。 diff --git a/工程分析/经验记录.md b/工程分析/经验记录.md index 01870eb..b6de4dc 100644 --- a/工程分析/经验记录.md +++ b/工程分析/经验记录.md @@ -207,3 +207,35 @@ B. 产生问题原因:自动化测试和 Docker 构建前已运行 Python 代 C. 解决问题方案:重新打包时排除 `__pycache__`、`.pyc`、临时目录和发布目录,并新增 `.gitignore` 避免后续误提交。 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. 后续如何避免问题:合成介绍视频时先确定旁白时长,再用可接受的变速范围调整画面;如果变速超过自然范围,应优先重新剪辑画面而不是强行加速。 diff --git a/工程分析/需求分析-2026-05-18-23-35-23.md b/工程分析/需求分析-2026-05-18-23-35-23.md new file mode 100644 index 0000000..dfca04a --- /dev/null +++ b/工程分析/需求分析-2026-05-18-23-35-23.md @@ -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 的内容只包含忽略规则和工程分析文档,不包含 `待配音视频` 中的素材和成片。