raw-video-processing

raw-video-processing

對原始螢幕錄影進行後製處理,移除靜音片段並調整播放速度。使用基於 FFmpeg 的 Python 腳本自動優化影片節奏。

0星標
0分支
更新於 2026/7/22
SKILL.md
唯讀
名稱
raw-video-processing
描述

對原始螢幕錄影進行後製處理,移除靜音片段並調整播放速度。使用基於 FFmpeg 的 Python 腳本自動優化影片節奏。

技能:原始影片處理

對原始螢幕錄影進行後製處理以改善節奏 — 移除靜音片段,然後加速結果。

前置需求:必須安裝 FFmpeg 和 uv。


使用時機

使用者錄製了螢幕錄影,並希望在發布前進行清理。原始錄影的常見問題:

  • 思考或等待載入時的長時間停頓 / 空白時間
  • 鍵盤打字聲和其他低音量背景噪音應視為靜音
  • 整體節奏過慢,可透過輕微加速改善

預設工作流程

當使用者提供原始影片檔案時,預設依序執行兩個腳本

步驟 1:移除靜音片段

uv run --python 3.12 /path/to/skills/raw-video-processing/scripts/remove_silence.py <input.mp4> -t="-20dB" -d 0.5

此腳本偵測並剪除靜音部分(包括鍵盤聲),產生 <input>_nosilence.mp4

務必傳入這些參數(針對含鍵盤噪音的螢幕錄影調整):

  • -t="-20dB" — 積極的閾值,可濾除鍵盤打字和背景噪音(使用 = 語法避免 argparse 將負值視為旗標)
  • -d 0.5 — 也移除短暫靜音(最短 0.5 秒)
  • -p 0.2 — 語音邊界前後保留的緩衝秒數(預設值,通常無需傳入)

腳本會輸出詳細摘要:找到的靜音片段數量、移除的總靜音時間,以及所有保留片段及其時間戳。請檢查此輸出以確認結果合理。

步驟 2:加速影片

uv run --python 3.12 /path/to/skills/raw-video-processing/scripts/speed_video.py <input>_nosilence.mp4

此腳本對移除靜音後的影片套用速度倍率,產生 <input>_nosilence_1.2x.mp4

預設參數

  • --speed 1.2 — 1.2 倍播放速度(輕微加速,不會感覺急促)

腳本選項

remove_silence.py

旗標 預設值 說明
-o, --output <input>_nosilence.mp4 自訂輸出路徑
-t, --threshold -30dB 靜音閾值(dB 為單位,數值越高越積極)。螢幕錄影務必使用 -20dB — 以 -t="-20dB" 傳入以避免 argparse 對負值處理錯誤
-d, --duration 0.8 要移除的最小靜音持續時間(秒)。螢幕錄影請使用 0.5
-p, --padding 0.2 非靜音片段前後保留的緩衝時間
--dry-run 關閉 僅列出偵測到的片段,不匯出檔案

speed_video.py

旗標 預設值 說明
-o, --output <input>_<speed>x.mp4 自訂輸出路徑
-s, --speed 1.2 播放速度倍率

自訂情境

  • 僅移除靜音 — 只執行步驟 1。
  • 僅加速 — 直接對輸入檔案執行步驟 2。
  • 保守清理 — 如果預設值剪掉太多語音,請使用 -t="-30dB" -d 0.8
  • 極度積極清理 — 使用 -t="-15dB" -d 0.3--speed 1.5 以達到最大壓縮。
  • 預覽再執行 — 對 remove_silence.py 使用 --dry-run 查看哪些部分會被剪除,而不實際建立檔案。
  • 自訂輸出名稱 — 在任一腳本中使用 -o 控制輸出路徑。

重要注意事項

  • 務必先執行 remove_silence,再執行 speed_video。靜音偵測依賴原始音訊;先加速會改變音訊特性,使靜音偵測不準確。
  • 對於長影片(超過 30 分鐘),移除靜音步驟可能需要幾分鐘,因為它會逐段處理每個片段。
  • 兩個腳本都保留影片品質 — remove_silence 使用串流複製(不重新編碼),而 speed_video 使用 FFmpeg 預設值重新編碼。