From 3077eb4e4529f244c8e3069f4e2ceb588fe01c7b Mon Sep 17 00:00:00 2001 From: "CI Bot (saas-backend-agent)" Date: Sun, 27 Sep 2026 13:49:14 +0800 Subject: [PATCH] perf(worker): change default ffmpeg encode preset from fast to veryfast Benchmark on staging 4vCPU Xeon (60s 1280x720 testsrc, CRF=23): - preset=fast: 31.7s (1.89x) - preset=veryfast: 19.5s (3.07x) <- new default - preset=ultrafast(mezzanine): 11.3s (5.29x) ~38% speedup on CPU encode with negligible quality loss at CRF=23. Preset can still be overridden via FFMPEG_ENCODE_PRESET env var. --- packages/shared/ffmpeg_utils.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/shared/ffmpeg_utils.py b/packages/shared/ffmpeg_utils.py index 7e6ee3b21..5e91b850f 100755 --- a/packages/shared/ffmpeg_utils.py +++ b/packages/shared/ffmpeg_utils.py @@ -25,9 +25,9 @@ FFPROBE_BIN: str = shutil.which("ffprobe") or "ffprobe" DEFAULT_FFMPEG_TIMEOUT = 1800 # ── 编码参数(集中配置,支持环境变量覆盖)──────────────────────────────────── -# preset 从 medium → fast,渲染速度提升 30%+,画质几乎无损(CRF 相同时 PSNR 差异 <0.1dB) -# 可通过环境变量 FFMPEG_ENCODE_PRESET 覆盖(如 ultrafast 追求极致速度,veryslow 追求极致压缩) -FFMPEG_ENCODE_PRESET: str = os.environ.get("FFMPEG_ENCODE_PRESET", "fast") +# preset 默认 veryfast,相比 fast 再提速 ~40%(4 核 Xeon 60s 720p: 32s→20s),CRF=23 画质可接受 +# 可通过环境变量 FFMPEG_ENCODE_PRESET 覆盖(如 fast/medium 追求质量,ultrafast 追求极致速度) +FFMPEG_ENCODE_PRESET: str = os.environ.get("FFMPEG_ENCODE_PRESET", "veryfast") # CRF 保持 23(libx264 默认质量),可通过 FFMPEG_ENCODE_CRF 覆盖 FFMPEG_ENCODE_CRF: str = os.environ.get("FFMPEG_ENCODE_CRF", "23") # 编码线程数:0 = 自动检测 CPU 核心数,充分利用多核