fix(P0): 修复直通模式调速失效 + 音画不同步 #568
Reference in New Issue
Block a user
Delete Branch "fix/p1-pass-through-speed-audio"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
背景
P1-1验证发现直通模式调速存在问题,单clip场景下调速不生效。
根因(双Bug)
修复
CI全绿,自动审批通过。
CI全绿,自动审批通过。
🗑️ 预览环境已清理
PR #568 已关闭或合并,对应的预览环境已被清理。
代码审查结果 - PR #568
⚠️ 问题(1个需要修改)
try-except块捕获所有异常并仅记录警告,随后继续执行流程。由于代码逻辑已经判断出speed != 1.0(第1095行),这意味着视频部分必然进行了调速处理。如果此时音频调速滤镜应用失败(例如导入模块失败、参数错误等),生成的 FFmpeg 命令将缺失音频滤镜,导致输出视频中音频保持原速而视频变速,造成严重的音画不同步。try-except块,或者修改异常处理逻辑,在关键滤镜应用失败时抛出异常或终止任务,而不是静默跳过。音频调速属于逻辑强依赖,不同于降噪等锦上添花的功能。💡 建议(2个可选)
apps/worker/video_processing/unified_render_service.py 第813行、1106行:潜在的空指针风险。
ReverseConfig.from_dict(clip.config.get("reverse"))调用中,如果clip.config中没有 "reverse" 键,get方法返回 None。如果ReverseConfig.from_dict方法内部没有显式处理 None 输入,将会抛出异常。from_dict方法对 None 的处理能力,或者改为clip.config.get("reverse", {})提供默认空字典。apps/worker/video_processing/unified_render_service.py 第808行、1094行:重复计算。
UnifiedRenderService._clip_speed(clip)在can_use_direct_copy判断逻辑和命令构建逻辑中各调用了一次。同理,ReverseConfig.from_dict也被调用了两次。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能无明显问题
🤖 由 AI 代码审查机器人自动生成 | 2026-07-19 10:12:37 | 模型: