0bfff35301
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 1m17s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m21s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m40s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 4m23s
三个渲染能力后端实现: 1. 多轨道混音(multi_track_mixer.py) - 支持任意数量音频轨道(原音/BGM/配音/音效/环境音) - 每轨独立音量、淡入淡出、时间偏移 - 主输出音量控制 + 归一化补偿 - 降级:单轨失败自动跳过,混音失败回退主音频 2. 字幕渲染引擎(subtitle_render_engine.py) - 统一 SubtitleStyle 配置:字体/颜色/描边/阴影/背景框/位置 - 9宫格位置 + 自定义边距 - 多源字幕合并:标题/静态字幕/ASR时间轴/手动字幕 - 淡入淡出动画效果 - 长文本自动换行 - 便捷函数 build_subtitles_from_plan + build_subtitle_filter 3. 视频拼接引擎(concat_engine.py) - 两种模式:concat demuxer(stream copy,最快)+ concat filter(重新编码) - 自动选择最优模式,参数不一致时智能降级 - 支持每段独立裁剪(start_time + duration) - 支持输出分辨率/帧率指定,自动缩放+pad补齐 - 降级:某段失败跳过,不阻断整体拼接 接入: - render_audio.py: mix_audio 新增 audio_tracks_config 参数 - unified_render_service.py: 从 plan.config.audio_tracks 读取配置 52个新增单测 + 2014个全套测试全绿,零回归