fix(P0): legacy渲染引擎5项normalize补全 + ffmpeg错误日志增强 #511
Reference in New Issue
Block a user
Delete Branch "fix/p0-legacy-normalize-and-error-log"
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?
问题:one_take模式用横屏+不同编码/采样率的素材渲染exit=234崩溃,错误日志里只有ffmpeg版本号,看不到真正的报错原因。
根因:
修复:
format=yuv420p,放在pad之后fps之前5项normalize完整清单(legacy路径):
测试:新增3个单测,42个相关单测全过
关联:#406
🚀 预览环境已部署
📊 审查概览
❌ 需修改的问题(严重)
无
💡 改进建议(一般)
[apps/worker/worker_app/tasks/edit_plan_generation.py: 381] 日志敏感信息泄露风险
cmd_preview)记录到日志并可能传递给下游(如_mark_plan_failed)。如果输入文件路径包含敏感信息(如带签名的 S3 URL、内网路径结构或临时 Token),直接记录可能会导致信息泄露。[apps/api/app/services/video_compose_service.py: 638] 硬编码音频参数限制灵活性
aformat滤镜硬编码了sample_rates=48000和channel_layouts=stereo。虽然这解决了concat因格式不一致导致失败的问题,但强制重采样和混音会降低音频质量(如将 5.1 声道下混为立体声,或 44.1kHz 升频至 48kHz)。✅ 良好实践
edit_plan_generation.py中,详细捕获了stderr并截取尾部信息,同时记录了完整的命令行,极大地提升了 FFmpeg 执行失败时的排查效率。video_compose_service.py中增加format=yuv420p和音频aformat归一化,有效解决了因输入源格式不一致(像素格式、采样率、声道布局)导致的concat滤镜报错问题。✅ 格式检查通过 | ✅ 逻辑审查通过 | ✅ 性能无明显隐患
🤖 由 AI 代码审查机器人自动生成 | 2026-07-18 15:04:38 | 模型:
CI全绿,自动审批通过。
CI全绿,自动审批通过。
🗑️ 预览环境已清理
PR #511 已关闭或合并,对应的预览环境已被清理。