From 9c19da3c34704eae8a1066baa383d21eebf1133e Mon Sep 17 00:00:00 2001 From: CI Bot Date: Tue, 14 Jul 2026 09:37:16 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20rebase=E5=88=B0develop=20+=20=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/worker/video_processing/render_audio.py | 5 +++-- apps/worker/video_processing/speed_engine.py | 1 - apps/worker/video_processing/unified_render_service.py | 2 -- tests/unit/test_speed_engine.py | 1 - 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/apps/worker/video_processing/render_audio.py b/apps/worker/video_processing/render_audio.py index f86deda78..d61a59325 100755 --- a/apps/worker/video_processing/render_audio.py +++ b/apps/worker/video_processing/render_audio.py @@ -16,14 +16,13 @@ import subprocess from dataclasses import dataclass, field from pathlib import Path -from video_processing.speed_engine import SpeedEngine - # 延迟导入避免循环依赖:unified_render_service 定义 ResolvedClip / RenderLayer, # 本模块提供音频函数供 unified_render_service 调用。 # 使用 from __future__ import annotations + TYPE_CHECKING 解决类型引用。 from typing import TYPE_CHECKING from video_processing.ffmpeg_utils import FFMPEG_BIN, probe_has_audio, run_ffmpeg +from video_processing.speed_engine import SpeedEngine if TYPE_CHECKING: from video_processing.unified_render_service import RenderLayer, ResolvedClip @@ -178,6 +177,7 @@ def concat_main_audio( else: # 有调速:用 filter_complex + atempo from video_processing.speed_engine import SpeedConfig + speed_engine = SpeedEngine() config = SpeedConfig(speed=float(speed)) config.clamp() @@ -237,6 +237,7 @@ def concat_main_audio( # 音频调速 — atempo 多级串联 if abs(speed - 1.0) >= 1e-6: from video_processing.speed_engine import SpeedConfig + config = SpeedConfig(speed=float(speed)) config.clamp() atempo_filter = speed_engine.build_audio_filter(config) diff --git a/apps/worker/video_processing/speed_engine.py b/apps/worker/video_processing/speed_engine.py index ea21f6616..1ab365b17 100755 --- a/apps/worker/video_processing/speed_engine.py +++ b/apps/worker/video_processing/speed_engine.py @@ -11,7 +11,6 @@ from dataclasses import dataclass from typing import Optional - # ─── 常量 ─────────────────────────────────────────────── MIN_SPEED = 0.25 MAX_SPEED = 4.0 diff --git a/apps/worker/video_processing/unified_render_service.py b/apps/worker/video_processing/unified_render_service.py index 66ae7076f..cfe87ba50 100755 --- a/apps/worker/video_processing/unified_render_service.py +++ b/apps/worker/video_processing/unified_render_service.py @@ -1131,7 +1131,6 @@ class UnifiedRenderService: return min(clip.duration, clip.actual_duration) if clip.actual_duration > 0 else clip.duration return clip.actual_duration if clip.actual_duration > 0 else 0.0 - @staticmethod def _clip_speed(clip: ResolvedClip) -> float: """获取 clip 的播放速度,无效值回退到 1.0.""" @@ -1148,4 +1147,3 @@ class UnifiedRenderService: if abs(speed - 1.0) < 1e-6: return base return base / speed - diff --git a/tests/unit/test_speed_engine.py b/tests/unit/test_speed_engine.py index cce4ff4cb..6da62ef06 100755 --- a/tests/unit/test_speed_engine.py +++ b/tests/unit/test_speed_engine.py @@ -8,7 +8,6 @@ from video_processing.speed_engine import ( SpeedEngine, ) - # ─── SpeedConfig 解析与校验 ──────────────────────────────────