From cfc7f2435d86ebb18b702e980f325430dcd8087b Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Wed, 29 Jul 2026 11:15:37 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20speed=5Fengine=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=90=91=E5=90=8E=E5=85=BC=E5=AE=B9=E7=9A=84=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E7=BA=A7=E5=AF=BC=E5=87=BA=EF=BC=88MAX=5FSPEED/MIN=5FSPEED/?= =?UTF-8?q?=E7=BA=AF=E5=87=BD=E6=95=B0=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/worker/video_processing/speed_engine.py | 34 ++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/apps/worker/video_processing/speed_engine.py b/apps/worker/video_processing/speed_engine.py index 5c2d92f4d..82100e284 100755 --- a/apps/worker/video_processing/speed_engine.py +++ b/apps/worker/video_processing/speed_engine.py @@ -15,6 +15,8 @@ from __future__ import annotations from packages.domain.speed_config import ( DEFAULT_SPEED, + MAX_SPEED, + MIN_SPEED, SpeedConfig, _split_atempo_stages, ) @@ -68,3 +70,35 @@ class SpeedEngine: ) -> float: """从 clip config 中解析 playback_speed,0 或缺失则使用全局速度.""" return _resolve_clip_speed_base(clip_config, global_speed) + + +# ── 向后兼容:模块级函数(重构前的 API) ───────────────────────── +def build_video_filter(config): + """向后兼容:模块级 build_video_filter.""" + return _build_video_filter_base(config) + + +def build_audio_filter(config): + """向后兼容:模块级 build_audio_filter.""" + return _build_audio_filter_base(config) + + +def adjust_duration(original_duration, config): + """向后兼容:模块级 adjust_duration.""" + return _adjust_duration_base(original_duration, config) + + +def resolve_clip_speed(clip_config, global_speed=DEFAULT_SPEED): + """向后兼容:模块级 resolve_clip_speed.""" + return _resolve_clip_speed_base(clip_config, global_speed) + + +def build_clip_speed_filter(speed, pitch_correct=True): + """向后兼容:模块级 build_clip_speed_filter.""" + config = SpeedConfig(speed=speed, pitch_correct=pitch_correct) + config.clamp() + return ( + build_video_filter(config), + build_audio_filter(config), + config, + )