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, + )