Communitygithub.com

johnnyfekete/video-tighten

在 DaVinci Resolve Studio 中收緊 talking-head 剪輯的節奏。測量每個片段中的語音長度,設定自然的剪輯邊緣(第一個詞前的空氣與最後一個詞後的空氣),拯救被截斷的詞尾,縮短片段內部的長停頓,並連帶移動 B-roll 素材。透過 resolve-bridge 產生新的時間軸版本。

video-tighten 是什麼?

這個 AI 技能用於自動化 DaVinci Resolve Studio 中的 talking-head 剪輯修剪流程。它透過能量偵測演算法分析每個片段的語音,自動設定剪輯點(第一個詞前預留 0.22 秒、最後一個詞後預留 0.38 秒的空氣),並能將被截斷的詞尾「拉回」最長 0.5 秒。同時,它會將片長超過 0.75 秒的停頓縮短至 0.3 秒,並連帶調整後續素材與 B-roll 的時間位置。此技能需要先安裝 resolve-bridge 技能,並在乾執行模式產生報告與標記,讓使用者檢查後再正式套用。支援 macOS / Linux 環境,適合 close-mic 錄音情境。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/johnnyfekete/resolve-video-skills/tree/HEAD/skills/video-tighten

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

video-tighten 是做什麼的?

需要與本技能相鄰安裝的 resolve-bridge 技能(它在 ../resolve-bridge 中尋找,或設定 RVS_BRIDGE),以及 ffmpeg。

工作流程

  1. 確認目前狀態。 執行 python3 <resolve-bridge>/scripts/rvs.py --workdir <folder> status。如果還沒有狀態,則採用使用者要修剪的時間軸(請參閱 resolve-bridge)。
  2. 乾執行。 不修改 Resolve 中的任何內容:
    python3 scripts/tighten.py --workdir <folder>
    
    產生 <folder>/.edit/tighten/REPORT.md、report.json 與 plan.json。
  3. 與使用者一起閱讀報告。 顯示運行時間的變化、縮短的停頓數量以及每個標記。標記表示腳本無法修正的剪輯(某個詞在入點之前開始,且前面有其他語音),因此必須由人耳檢查,或選用不同的片段。
  4. 保護已執行的停頓。 作為表演的靜默(目光、笑點前的節奏、對著鏡頭打字)不得被修剪。詢問使用者,然後使用 --skip <clip name or timeline start frame> ... 重新執行。
  5. 套用。
    python3 scripts/tighten.py --workdir <folder> --skip ... --apply
    
    建立 <base>_vNN_tighten,封存先前的版本,儲存專案。每個標記會成為 EDIT_CHECKLIST.md 中的一個問題,並在時間軸中以片段名稱和時間碼定位。告知使用者新的時間軸名稱與問題 ID。

功能說明

項目預設值選項
第一個詞前的空氣0.22 秒--pre
最後一個詞後的空氣0.38 秒--post
邊緣可往同一段落的靜默中延伸(拯救被截斷的詞)最多 0.5 秒--max-extend
絕不比其他聲音(呼吸、含糊低語、下一個片段)更近0.08 秒--guard
片段內停頓長於……0.75 秒--pause-max
……縮短至0.3 秒--pause-keep
絕不產生短於此長度的片段0.5 秒--min-piece
僅修正邊緣,保留所有停頓關閉--no-pauses
非對話的音軌(音樂)無--ignore-audio-tracks 3 4
  • 語音偵測 基於能量(resolve-bridge/scripts/rvs_audio.py):閾值來自整個原始檔案,透過較高的閾值找到詞語,其邊緣會延伸穿過軟結尾和附著的呼吸聲。適用於近距離麥克風錄音。在吵雜的環境中,請更仔細檢查標記。
  • 每個縮短的停頓都會變成跳接(片段會分割)。之後執行 video-framing 以使用放大鏡頭或 B-roll 覆蓋它們。
  • 連帶移動: 後續片段會往前移動。僅影片的項目(B-roll、疊層)會重新對應到新的時間,並在其區段縮短時被縮短。長度會低於 0.5 秒的 B-roll 會被丟棄並列出。
  • 模式: 這是一個結構性步驟,因此使用 resolve-bridge 的 build 模式。當前時間軸上的標題和產生器不會被帶過來(橋接器會發出警告)。在添加圖形前先執行修剪。

尚未處理

  • 重疊對話(時間軸中已有的 J/L 剪接):這些片段會維持原樣並被標記。
  • 填充詞(「嗯」、「你知道嗎」)需要逐字稿;計畫在後續技能中透過轉錄功能處理。

相關技能