Vuncloud 部落格
← 返回機房手記專欄

Video-Use 怎麼用?讓 Claude Code、Codex 等 AI Coding Agent 自動剪輯影片:自然語言影片剪輯、素材處理與 AI 影片工作流實戰

開源 skill · takes_packed.md · edit/final.mp4約 12 分鐘閱讀

非線性剪輯軟體時間軸上的彩色片段、播放頭和音訊波形,對應 video-use 用 EDL 驅動 ffmpeg 自動剪輯
TL;DR · 先看這五句
  • video-use 是 browser-use 的開源技能,不是 Premiere。素材丟進資料夾,跟 Agent 說話,拿回 edit/final.mp4
  • 模型不看整段影片。主閱讀物是 ElevenLabs Scribe 打出來的逐詞轉寫,壓成約 12KB 的 takes_packed.md
  • 順序固定:盤點 → 白話策略 → 你點頭 → EDL → ffmpeg 渲染 → 切點自檢,最多 3 輪
  • Claude Code、Codex、Hermes、OpenClaw 都能接。整倉符號連結到技能目錄,旁邊要有 ffmpeg 和 ELEVENLABS_API_KEY
  • 口播、教學、訪談最適合。純畫面蒙太奇轉寫很薄;複雜調色仍留給時間軸軟體

把「幫我剪掉嗯啊」打進對話框,Agent 如果只會把整段 mp4 丟給視覺模型,帳單和延遲都會先爆。browser-use 的 video-use 換了一條路:讓 Claude Code、Codex 這類能跑指令的編碼 Agent去讀轉寫、寫剪輯決定表(EDL),再呼叫 ffmpeg 出片。儲存庫寫明 100% 開源,入口是 github.com/browser-use/video-use。本文依 2026 年 9 月 23 日儲存庫裡的 README、install.md 和 SKILL.md整理。指令和目錄以當天檔案為準,拉取後若有變動,以你本地的 SKILL.md 為準。

它適合的片子官方列過:口播、蒙太奇、教學、旅行、訪談。沒有預設選單。你要的是一段能跑完的 Agent 會話,外加一台不會中途睡眠的機器來扛轉寫之後的渲染。

12
條生產正確性硬性規則
~12KB
takes_packed.md,模型的主閱讀物
30ms
每個切點的音訊淡入淡出

video-use 在剪什麼

你不打開時間軸。你把原始條放進一個資料夾,在那個目錄啟動 Agent,用白話說目標。官方範例就一句:edit these into a launch video。Agent 先清點素材、提出策略、等你同意,再在素材旁邊寫出 edit/final.mp4。技能儲存庫本身保持乾淨,產物不準寫進 video-use/。

README 列出的成片能力,都是 ffmpeg 和幾個可選動畫引擎能做的事,不是新模型:

  • 去掉口頭禪,以及條與條之間的死氣:umm、uh、說錯重來、靜音
  • 按段調色:暖調電影感 warm_cinematic、中性增強 neutral_punch,或你自己的 ffmpeg 濾鏡鏈
  • 每個切點 30ms 音訊淡化,避免爆音
  • 燒錄字幕:預設兩詞、全大寫,風格可改
  • 疊動畫:HyperFrames、Remotion、Manim 或 PIL,多條動畫用子 Agent 平行處理
  • 渲染後自檢,過了才給你看;會話記憶寫在 project.md,下週接著剪

和 browser-use 看網頁的思路同一類:與其把截圖塞滿上下文,不如給模型一份結構化文字。影片這邊,那份文字就是轉寫。

模型怎麼「讀」影片

SKILL 寫得很直:LLM 從不觀看影片,它閱讀影片。兩層就夠它按詞邊界下刀。

第一層永遠載入:音訊轉寫。每個來源檔打一次 ElevenLabs Scribe,拿到逐詞時間戳、說話者分離,以及 (laughter)、(applause)、(sigh) 這類音訊事件。所有條壓進一份約 12KB 的 takes_packed.md。片語在靜音達到 0.5 秒或換說話者時斷開。模型主要讀的就是這種行:

## C0103  (duration: 43.0s, 8 phrases)
  [002.52-005.36] S0 Ninety percent of what a web agent does is completely wasted.
  [006.08-006.74] S0 We fixed this.

第二層按需呼叫:畫面複合。timeline_view 對某一時間窗匯出膠片條、波形和詞標籤 PNG。只用在決策點:含糊的停頓、兩條重拍怎麼選、切點是否乾淨。它不是掃描工具,不要每秒都叫一次。

官方拿一條樸素路徑做對比:3 萬幀乘每幀約 1500 token,大約 4500 萬 token 的雜訊。video-use 的路徑是 12KB 文字加少數幾張 PNG。這個數字是儲存庫自己的對照,不是本站實測帳單。你要記住的是方向:上下文裡應該是詞和時間,不是抽幀。

片場場記板寫著鏡頭號、時間碼和場次名,對應 video-use 先盤點多條素材再提出剪輯策略
先有條號和時間碼,再談剪哪一句。原片留在素材目錄,決定寫進 edit/。

安裝:Claude Code、Codex、OpenClaw

機器上要同時有四樣東西:穩定路徑上的儲存庫克隆、$PATH 裡的 ffmpeg 和 ffprobe、儲存庫根目錄 .env 裡的 ElevenLabs 金鑰,以及目前 Agent 能發現 SKILL.md。Python 相依套件在 pyproject.toml:requests、librosa、matplotlib、pillow、numpy。沒有主控台指令,腳本用 python helpers/….py 直接跑。

把安裝交給 Agent

官方建議把下面這段貼給 Claude Code、Codex、Hermes、OpenClaw,或任何有 shell 的 Agent。它會自己克隆、裝相依套件、註冊技能,並在需要時向你要一次金鑰:

Set up https://github.com/browser-use/video-use for me.

Read install.md first to install this repo, wire up ffmpeg, register the skill with whichever agent you're running under, and set up the ElevenLabs API key — ask me to paste it when you need it. Then read SKILL.md for daily usage, and always read helpers/ because that's where the editing scripts live. After install, don't transcribe anything on your own — just tell me it's ready and wait for me to drop footage into a folder.

金鑰在 elevenlabs.io 的 API keys 頁。安裝驗收只檢查 timeline_view.py --help 和 ffprobe -version。不要為了「證明裝好了」去轉寫一條真片,Scribe 按次計費。金鑰寫進 ~/Developer/video-use/.env 後 chmod 600,不要回顯,不要提交。

自己克隆和註冊

想親手做,按儲存庫的手動安裝。符號連結的是整個目錄,因為 helpers/ 必須和 SKILL.md 做鄰居:

git clone https://github.com/browser-use/video-use ~/Developer/video-use
ln -sfn ~/Developer/video-use ~/.claude/skills/video-use
# Codex:ln -sfn ~/Developer/video-use ~/.codex/skills/video-use

cd ~/Developer/video-use
uv sync                         # 或 pip install -e .
brew install ffmpeg             # 必需,ffprobe 一併裝上
brew install yt-dlp             # 可選,只有要從 URL 拉片時才需要

cp .env.example .env            # ELEVENLABS_API_KEY=...
Agent 技能落點
Claude Code ~/.claude/skills/video-use
Codex ${CODEX_HOME:-~/.codex}/skills/video-use
Hermes / OpenClaw / 其他 該 Agent 的 skills 目錄,名字仍叫 video-use。沒有技能目錄時,在系統提示裡指向 ~/Developer/video-use/SKILL.md

ffmpeg 要 4.x 或更新。靜態建置也可以。Linux 用發行版套件,別猜 sudo 密碼。HyperFrames、Remotion、Manim 第一次做動畫槽才裝,不要在安裝日全域偏好某一個。HyperFrames 目前要 Node.js 22+。yt-dlp 同樣用到再裝。

更新就 git pull --ff-only,符號連結下次會話會自動用到新程式碼。相依清單變了再跑一次 uv sync。

第一次產出成片

裝完之後,人在素材目錄,不在技能儲存庫:

cd /path/to/your/videos
claude    # 或 codex、hermes

第一句不要說「開始渲染」。說:盤點這些條,用白話給我一條策略。官方流程是問清楚、確認、再執行、再自檢、再記入 project.md。策略沒點頭,不準動刀。

一次正常會話會經過這些問法,問題隨素材變,沒有固定清單:片子類型、目標時長和畫幅、氣質、必須留下的瞬間、必須剪掉的瞬間、要不要動畫和調色、要不要字幕。然後 Agent 用 4 到 8 句寫出形狀:選哪條、往哪切、動畫、調色、字幕、預計時長。你回覆同意之後,它才寫 edl.json、按段調色、呼叫 render.py。

預覽用 render.py --preview(720p,快)。自檢看的是成片上每個切點前後約 1.5 秒的 timeline_view,外加片頭片尾和中間兩三處,並用 ffprobe 對時長。失敗就改、再渲染、再看,最多 3 輪。3 輪還有問題,要標給你,不準陷入死迴圈。你看到預覽時,自檢應該已經過了。

專案方也提供了託管試用(Browser Use Cloud)以及用 Browser Use Box 從 VPS 或 Telegram 常開的入口。你自己的機器或 Cloud Mac 上,路徑就是上面這套:素材目錄 + 已註冊的技能。

目錄、腳本和 EDL

原片不動。會話全部落在 <videos_dir>/edit/:

路徑 作用
project.md 每場會話追加一段:策略、決定、未完成項。下次先讀它
takes_packed.md 片語級轉寫,選切點的主閱讀物
transcripts/*.json Scribe 原始 JSON,按來源檔快取。來源檔沒變就不要重轉
edl.json 切點、調色、疊層、字幕路徑、總時長
clips_graded/ 按段抽出並已調色、已做音訊淡化的片段
animations/slot_* 每個動畫槽自己的來源和成片
master.srt · preview.mp4 · final.mp4 成片時間軸上的字幕、預覽、終片

流水線是一條直線,自檢可以退回渲染,但有上限:

Transcribe → Pack → LLM 推理 → EDL → Render → Self-Eval
                                              └ 有問題就改,最多 3 輪

常用腳本都在 helpers/,路徑相對 SKILL.md 所在目錄:

  • transcribe.py:單一檔案 Scribe,可加 --num-speakers,結果快取
  • transcribe_batch.py <videos_dir>:4 個 worker 平行,多條素材用這個
  • pack_transcripts.py --edit-dir:JSON 收成 takes_packed.md
  • timeline_view.py:決策點的膠片條 PNG
  • render.py <edl.json> -o …:按段抽出、拼接、疊層、最後燒字幕。--preview 走 720p,--build-subtitles 順便寫 master.srt
  • grade.py:預設或 --filter 自訂鏈。調色發生在抽段時,不要拼完再整片重新編碼

edl.json 的形狀大致如此。時間和路徑來自你的素材,不要抄範例裡的秒數:

{
  "version": 1,
  "sources": {"C0103": "/abs/path/C0103.MP4"},
  "ranges": [
    {"source": "C0103", "start": 2.42, "end": 6.85,
     "beat": "HOOK", "quote": "...", "reason": "這遍最乾淨"}
  ],
  "grade": "warm_cinematic",
  "overlays": [
    {"file": "edit/animations/slot_1/render.mp4", "start_in_output": 0.0, "duration": 5.0}
  ],
  "subtitles": "edit/master.srt",
  "total_duration_s": 87.4
}

多條裡選最佳一句時,會再開一個編輯子 Agent:按節拍(HOOK、問題、解法……)而不是按檔案順序組裝,起迄必須落在詞邊界上。結構可以是發布片、教學、訪談或你自己發明的,不要套死一種。

會翻車的硬性規則

SKILL 把藝術判斷交給模型,只把不遵守就會靜默壞片的 12 條釘死。下面是剪的時候真正會聽到、看到的那些,其餘幾條(快取轉寫、平行動畫、先確認再動刀、產物只進 edit/)已經寫在前面。

規則 不遵守時你看到什麼
字幕放在濾鏡鏈最後 疊層蓋住字幕,而且不一定報錯
按段抽出,再用無損 -c copy 拼接 單遍濾鏡圖在加疊層時把每段再編碼一次
切點 30ms afade 每個切口一聲爆音
疊層用 setpts 把第 0 幀挪到時間窗起點 時間窗裡播到動畫中段
SRT 用成片時間軸:詞起點 − 段起點 + 段偏移 拼接後字幕整段錯位
切口落在詞邊界,並外擴 30–200ms 切進詞中間。Scribe 時間戳會漂 50–100ms,外擴是用來吃掉漂移的
只要逐詞原文,不要片語模式 SRT,也不要被正規化的口頭禪 亞秒級氣口丟了,去「嗯」沒有訊號

本機 Whisper 的 SRT 被明確寫成反模式:慢,而且會把口頭禪正規化掉。轉寫走託管 Scribe,並按來源檔快取。

素材怎麼處理

切點從話和氣口來,畫面跟著走。靜音 ≥400ms 通常是最乾淨的切口;150–400ms 的片語邊界可以用,但要看一眼畫面;短於 150ms 多半切在半句裡,不安全。說話者交接可以留 400–600ms 氣口,快剪收緊,紀錄片放寬,這是口味不是法律。笑、包袱、強調要留尾巴,笑聲本身就是拍點。(laughs) 這類事件是訊號,切口不要卡在它前面。

每一刀都要音畫一起成立。只修音訊或只修畫面,是 SKILL 點名的失敗方式。

調色按段做。先用 timeline_view 看一幀,再改一件事,再看。預設只是起點:口播上 warm_cinematic 比較安全,neutral_punch 只加對比、不動色相,none 是使用者沒提調色時的預設。膚色沒試過,不要把斜率拉得很猛。

字幕三個旋鈕:一行幾個詞、大小寫、離底邊多遠。短片發布片的現成風格是兩詞全大寫、Helvetica 18 Bold、白字黑邊、MarginV=35。紀錄片可以改成一句 4–7 詞、正常大小寫、邊距更大。不論哪種,字幕最後燒,時間碼用成片軸。

動畫按槽選引擎,不要因為「像網頁」就預設 Remotion:

  • HyperFrames:HTML/CSS/GSAP,產品介面動效、透明 WebM。槽目錄裡 npx --yes hyperframes,要 Node 22+
  • Remotion:使用者點名 React,或已有 Remotion 設計系統時再用
  • Manim:公式、狀態機、圖的變形。儲存庫自帶 skills/manim-video/
  • PIL + PNG 序列:計數、打字機、單條揭示。發布片範例用的就是這條,快

配色、字型沒說清楚就停在策略階段,確認後再畫。跟旁白對齊的卡片,簡單的大約 5–7 秒,複雜圖 8–14 秒,落幅至少停 1 秒。揭示用三次緩出,不要線性。多個動畫槽同時開子 Agent,牆鐘時間約等於最慢的那條。每個子 Agent 的提示要自包含,因為它們看不到父會話。

畫幅跟來源,除非你指定。常見目標:電影感 1920×1080@24、螢幕內容 30fps、直式 1080×1920、方形 1080×1080。render.py 預設收到什麼都縮到 1080p。交付比例值得在策略裡問一句。

自然語言話術

有效的話術都在約束策略,而不是替 ffmpeg 寫濾鏡。下面是同一套流程裡能直接說的句子,中英都行,Agent 讀的是意圖:

  • 「先別做轉寫以外的事。盤點檔名、時長、有沒有對白,用六句話給策略,等我回覆再寫 EDL。」
  • 「這是產品發布口播。目標 60–90 秒、16:9。去掉嗯、啊和說錯重來。留下那句 We fixed this 和後面的笑聲。」
  • 「兩條都講了定價。用沒有口誤的那條。切口落在詞邊界,前後各留大約 80ms。」
  • 「不要調色。不要字幕。先 --preview。我點頭再出 final.mp4。」
  • 「直式 1080×1920,字幕用兩詞大寫。動畫只要一張 5 秒的標題卡,確認配色再做。」
  • 「來源檔沒換,不要重新轉寫。按我上一條意見只改 HOOK 的出點。」

改意見時走自然語言迴圈:重定策略、重渲染、不重轉寫。終片在你確認預覽之後再出。每場結束會往 project.md 追加策略、決定和未完成項。下次進目錄,Agent 應先用一句話概括上一場,再問要不要續。

什麼時候別用它

它是編碼 Agent 上的剪輯技能,不是調色台。

  • 幾乎沒有對白的音樂蒙太奇。切點設計以語音邊界和靜音為主。畫面意圖你得自己寫進策略,否則模型沒有主閱讀物。
  • 你要手拖關鍵幀、多機位即時切換、精細二級調色。這些留在 Final Cut、Premiere、DaVinci。video-use 負責粗剪、去口頭禪、燒字幕、簡單疊層,成片可以再進 NLE。
  • 轉寫預算。Scribe 花的是 ElevenLabs 額度。快取存在就是為了不重複付。安裝時試跑一條長片,是最常見的浪費。
  • 自檢不是審片。它抽切點附近的 PNG 和波形,抓跳切、爆音、被擋住的字幕。它不保證笑話好笑,也不保證品牌色正確。口味仍要你點頭。
  • 權利。只處理你有權剪的素材。技能可以配合 yt-dlp 拉 URL,那是素材入口,不是繞過版權的理由。
  • 金鑰。只放在技能儲存庫的 .env。不要寫進素材目錄,不要貼進會同步到別處的聊天紀錄。

長會話為什麼放 Cloud Mac

一次發布片往往是:批次轉寫、來回改策略、720p 預覽、再加一兩條動畫槽、最後 1080p。ffmpeg 和子 Agent 都吃時間。筆電合蓋、Agent 行程跟著睡,edit/ 會停在半截預覽上。

  • 會話別斷。在 Cloud Mac 上開 tmux,Claude Code 或 Codex 跑在裡面。斷線之後渲染還在,project.md 也還在。
  • 工具鏈就是 brew。官方 macOS 路徑是 brew install ffmpeg。同一台機器上還有 Python、uv,以及 HyperFrames 要的 Node 22。不用在渲染中途換一台 Linux 去找濾鏡差異。
  • 磁碟跟著素材走。原片和 edit/ 放在 Agent 所在的那塊磁碟。符號連結只連技能儲存庫,不連素材。
  • 和編碼任務分開也行,合在一台更省事。同一台 Mac 上,上午 Codex 改儲存庫,下午 video-use 剪發布口播。兩邊都是長會話,都怕睡眠。

模型下週可能換,技能目錄和 ffmpeg 不會。把 Agent 放到 Vuncloud Cloud Mac,筆電只負責看 preview.mp4 和回一句「HOOK 再短兩秒」。

FAQ

video-use 是剪輯軟體嗎?

不是。它是 browser-use 開源的 Agent 技能。你在素材目錄裡說話,Agent 讀逐詞轉寫、寫 EDL,再用 ffmpeg 渲染 edit/final.mp4。沒有時間軸介面。

哪些 Agent 能用?

能跑 shell、能讀 SKILL.md 的都可以。官方路徑涵蓋 Claude Code、Codex、Hermes 和 OpenClaw。符號連結整個儲存庫,不要只連一個 markdown。

一定要 ElevenLabs 嗎?

轉寫要。Scribe 提供逐詞時間戳、說話者分離和笑聲等事件。金鑰放在儲存庫 .env,權限 600。沒有金鑰,流水線起不來。安裝時不要用真片試轉寫。

模型會把整段影片當圖片看嗎?

不會常駐看。主閱讀物是 takes_packed.md。畫面只在決策點和成片自檢時,透過 timeline_view 的 PNG 抽查。

成片在哪,原素材會被改嗎?

原檔留在原地。產物在素材目錄的 edit/,終片是 final.mp4。策略未經你確認,不應下刀。

能取代 Premiere 或 Final Cut 嗎?

口播和教學的粗剪、去口頭禪、燒字幕,它很快。關鍵幀、多機位和精細調色仍交給 NLE。幾乎無對白的片子,要自己把畫面策略說清楚。

結語

三句話:video-use 讓編碼 Agent 讀轉寫而不是抽幀;你點頭之前它不該渲染;成片在素材旁邊的 edit/final.mp4,不在技能儲存庫裡。先把 ffmpeg、金鑰和整目錄符號連結裝對,第一句只要求策略。預覽過了再談調色和動畫。

口頭禪和氣口適合交給這條流水線。口味和權利仍在你這邊。機器別在渲染中途睡過去。

剪輯 Agent 得有一塊不睡眠的 Mac

ffmpeg、Scribe 快取和 project.md 都在同一台機器上。Claude Code 或 Codex 放進 tmux,斷線之後 edit/ 還在。

查看 Cloud Mac 套餐

機房手記 · Video-Use

長會話剪輯,別放在會睡眠的筆電上

Claude Code · Codex · ffmpeg · Cloud Mac

查看 Cloud Mac 套餐
限時優惠 點擊查看套餐