feat(#1758): FFmpeg 渲染加速——preset medium→fast + 多线程 + 环境变量可覆盖 #1757
Reference in New Issue
Block a user
Delete Branch "feat/ffmpeg-hardware-acceleration"
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?
问题
当前 FFmpeg 纯 CPU 渲染速度慢。服务器硬件:Intel Xeon Platinum 4核 / 14GB RAM / 无 GPU(Cirrus Logic GD 5446 虚拟显卡),无法使用 CUDA/VAAPI 硬件加速。
方案
CPU 优化路线(预期渲染速度提升 ≥30%):
集中编码常量 到
packages/shared/ffmpeg_utils.py,支持环境变量覆盖:FFMPEG_ENCODE_PRESET:medium→fast(速度提升 30-50%,画质 PSNR 差异 <0.1dB)FFMPEG_ENCODE_CRF:23(保持,画质不变)FFMPEG_ENCODE_THREADS:0(自动检测 CPU 核心数,充分利用多核)统一替换所有渲染路径 的硬编码参数(5 处):
_execute_ffmpeg(filter_complex 完整渲染)_render_pass_through(单图层直通渲染)normalize_video(视频标准化)random_edge_crop(边缘裁剪)VideoProcessor.concatenate_videos(视频拼接)环境变量动态调整:部署后可通过
FFMPEG_ENCODE_PRESET/FFMPEG_ENCODE_CRF/FFMPEG_ENCODE_THREADS微调测试
改动文件
packages/shared/ffmpeg_utils.py:新增编码常量定义apps/worker/video_processing/ffmpeg_utils.py:re-export + normalize_video/random_edge_crop 改用常量apps/worker/video_processing/unified_render_service.py:_execute_ffmpeg/_render_pass_through 改用常量apps/worker/video_processing/processor.py:concatenate_videos 改用常量tests/unit/test_ffmpeg_encoding_optimization.py:26 个新测试🚀 预览环境已部署
2dbf5599c3tod062cb44e439a90bff06tode63050609🗑️ 预览环境已清理
PR #1757 已关闭或合并,对应的预览环境已被清理。