diff --git a/apps/worker/video_processing/multi_track_mixer.py b/apps/worker/video_processing/multi_track_mixer.py index 52d54c9f1..b626d0a73 100755 --- a/apps/worker/video_processing/multi_track_mixer.py +++ b/apps/worker/video_processing/multi_track_mixer.py @@ -30,10 +30,10 @@ logger = logging.getLogger(__name__) # ── 常量 ────────────────────────────────────────────────────────────────────── -TRACK_TYPE_MAIN = "main" # 原音(视频原声) -TRACK_TYPE_BGM = "bgm" # 背景音乐 +TRACK_TYPE_MAIN = "main" # 原音(视频原声) +TRACK_TYPE_BGM = "bgm" # 背景音乐 TRACK_TYPE_VOICEOVER = "voiceover" # 配音(TTS/人声) -TRACK_TYPE_SFX = "sfx" # 音效 +TRACK_TYPE_SFX = "sfx" # 音效 TRACK_TYPE_AMBIENT = "ambient" # 环境音 # 各轨道默认音量(相对主音频) @@ -50,15 +50,15 @@ DEFAULT_VOLUMES = { class AudioTrack: """单条音频轨道配置.""" - track_id: str # 轨道唯一标识 - track_type: str # 轨道类型(main/bgm/voiceover/sfx/ambient) - audio_path: str # 音频文件路径 - volume: float = 1.0 # 音量 0.0 ~ 2.0 - fade_in: float = 0.0 # 淡入时长(秒) - fade_out: float = 0.0 # 淡出时长(秒) - start_time: float = 0.0 # 开始时间(相对于视频起点,秒) - duration: float = 0.0 # 持续时长(0表示到文件末尾) - enabled: bool = True # 是否启用 + track_id: str # 轨道唯一标识 + track_type: str # 轨道类型(main/bgm/voiceover/sfx/ambient) + audio_path: str # 音频文件路径 + volume: float = 1.0 # 音量 0.0 ~ 2.0 + fade_in: float = 0.0 # 淡入时长(秒) + fade_out: float = 0.0 # 淡出时长(秒) + start_time: float = 0.0 # 开始时间(相对于视频起点,秒) + duration: float = 0.0 # 持续时长(0表示到文件末尾) + enabled: bool = True # 是否启用 @classmethod def from_dict(cls, track: dict) -> "AudioTrack": @@ -110,9 +110,9 @@ class MultiTrackMixConfig: """多轨道混音配置.""" tracks: list[AudioTrack] = field(default_factory=list) - master_volume: float = 1.0 # 主输出音量 - normalize: bool = True # 是否自动归一化补偿 - max_output_volume: float = 1.5 # 最大输出音量(防止爆音) + master_volume: float = 1.0 # 主输出音量 + normalize: bool = True # 是否自动归一化补偿 + max_output_volume: float = 1.5 # 最大输出音量(防止爆音) @classmethod def from_config_dict(cls, config: dict | None) -> "MultiTrackMixConfig":