新增音訊處理: 音量增益 / 強制壓限 / 低通(命名參考 Adobe PR)

- volume_boost: 音量增益(對應 PR 增益/音量),預設開,幅度 volume_boost_percent 預設 +30%(x1.3)
- hard_limiter: 強制壓限(PR Hard Limiter),拉大音量後把峰值壓在 0dB 以下避免破音
- lowpass: 低通(PR Lowpass),濾掉高頻刺耳聲;截止頻率 lowpass_hz 預設 15000Hz
- 處理順序: 音量增益 -> 低通 -> 強制壓限(壓限擺最後當煞車)
- 套用在重編路徑(轉場/xfade)的 acrossfade 之後;單一片段時畫面照樣無損複製只重編音訊
- transition=false(無損)時音訊不處理並提示;已實測同段處理後平均 +2.7dB
- 同步更新 README 參數說明

本次調整由 Claude Opus 4.8 (1M context) 協助開發與處理。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-02 19:29:44 +08:00
parent cebe6e3bd5
commit be5f4a60b8
3 changed files with 66 additions and 5 deletions
+10
View File
@@ -96,6 +96,11 @@ python auto_remove_redlight.py 01.MOV 03.MOV 05.MOV
| `transition` | `true` | 剪接點是否加轉場(淡出淡入 + 恆定功率交叉淡化)。**開啟會強制重新編碼**,有 NVIDIA 顯卡時自動用 NVENC 加速 |
| `transition_duration` | `0.5` | 轉場長度(秒),畫面與聲音共用以維持同步 |
| `video_transition` | `fadeblack` | 畫面轉場類型:`fadeblack`=淡出到黑再淡入;`fade`=交叉溶接;其餘見 FFmpeg `xfade` 文件 |
| `volume_boost` | `true` | **音量增益**(Adobe PR「增益/音量」):是否放大音量 |
| `volume_boost_percent` | `30` | 音量增加幅度(%),`30` = 放大成 130%(×1.3 ≈ +2.3dB |
| `hard_limiter` | `true` | **強制壓限**Adobe PR「強制壓限/Hard Limiter」):拉大音量後把峰值壓在 0dB 以下,避免破音 |
| `lowpass` | `true` | **低通**Adobe PR「低通/Lowpass」):濾掉高頻刺耳聲(風切/嘶聲) |
| `lowpass_hz` | `15000` | 低通截止頻率(Hz |
| `base_dir` | `E:\\videos` | 影片根目錄 |
> 參數優先順序:**命令列參數 > config.json > 程式內建預設**
@@ -105,6 +110,11 @@ python auto_remove_redlight.py 01.MOV 03.MOV 05.MOV
- `transition: false` → 使用 FFmpeg `-c copy` 串流複製,**畫質無損、速度快**,但剪接點是硬切。
- `transition: true` → 在每個剪接點加上**畫面淡出淡入**(`xfade`)與**聲音恆定功率交叉淡化**`acrossfade``c1=qsin:c2=qsin`)。此模式必須重新編碼(非無損),4K 影片較耗時,建議搭配 NVIDIA 顯卡用 NVENC 加速。
### 關於音訊處理
音量增益、強制壓限、低通三項(命名參考 Adobe Premiere Pro)會在重新編碼時一併套用,處理順序為 **音量增益 → 低通 → 強制壓限**(壓限擺最後當煞車)。
由於需要重新編碼,這些音訊處理**僅在 `transition: true`(重編模式)時生效**;若 `transition: false`(無損快剪)則音訊維持原樣不處理。
---
## 輸出結果