Communitygithub.com

alyshadotmd/video-editing 影片剪輯

將原始 B-roll 素材轉換為標記、可搜尋的短片段庫。觀看每個 B-roll 影片一次,標記每個有用時刻的時間戳,挑選值得保留的片段(由剪輯師挑選,或如果剪輯師要求,AI 自行挑選),僅剪下這些挑選的片段並加上 1 秒緩衝,並從剪輯師的理由中學習其品味。

video-editing 影片剪輯 是什麼?

此技能專為 Claude Code 和 Runneth 平台設計,用於自動化處理 B-roll 素材。它會先觀看每個 B-roll 影片,然後產生一個完整的時間映射圖(包含標籤和描述),接著根據一組來自真實剪輯師的經驗規則,挑選出最值得保留的瞬間。這些規則涵蓋了動作、表情、眼神焦點、畫面銳利度等要素,並會隨著剪輯師的回饋而動態學習更新。每個選中的片段都會被裁切(前後保留 1 秒緩衝),並以高品質儲存到一個品牌專屬的 B-roll 庫中,同時會建立一個對應的拍攝檔案和索引。此技能也支援後續的 B-roll 搜尋,使用者可以根據標籤(例如「unboxing」、「closeup」)來尋找特定片段。程式碼和命令(如 ffmpeg)保持不變,但所有使用者介面文字和提示均已在地化為繁體中文。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/alyshadotmd/video-editing/tree/HEAD/skills/broll-processing

在你喜歡的 AI 中提問

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

說明文件

B-roll 處理

目標:每個 B-roll 影片只觀看一次,選出最佳時刻,並僅保留這些片段。每個保留的片段都會被裁切,前後加上 1 秒緩衝,並根據內容加上標籤,這樣之後就能找到任何鏡頭,而無需重新觀看素材。

此技能專為 Claude Code 和 Runneth 設計。它需要三樣東西:

  • 觀看影片的方式: 在 Runneth 中,一個影片模型負責觀看。Claude 無法觀看影片,因此它改為讀取靜態幀:每秒 2 幀的小型縮圖聯絡表,用以尋找瞬間 (ffmpeg -i IN.mp4 -vf fps=2,scale=160:-2,tile=10x6 sheet_%02d.jpg),以及全尺寸幀來判斷它們 (ffmpeg -ss <time> -i IN.mov -frames:v 1 frame.jpg),再加上音頻轉錄(如果有的話)。如果無法轉錄,則僅從幀來工作。
  • 裁切影片的方式: ffmpeg,或任何影片編輯器。
  • B-roll 庫資料夾: 一個放置片段的資料夾,加上兩種文字檔案(一個索引和每個拍攝一個檔案)。範本位於此檔案旁邊的 templates/ 資料夾中。

用日常的語言與剪輯師交談,一次只討論一個想法。

開始之前:工具

在 Runneth 中,所有東西都已安裝:跳過此部分。

在 Claude Code 中,此技能需要 video-editing-setup 技能安裝的免費影片工具。靜默檢查 ~/.video-editing-tools/bin/ffmpeg -version 是否執行。如果執行,則在此技能提到 ffmpeg、ffprobe 或 python3 的地方,使用 ~/.video-editing-tools/bin 中的工具(ffmpeg、ffprobe、python),並繼續進行。如果沒有,請先依照 video-editing-setup 技能操作,然後再回到這裡。

步驟 0:先問一個問題

在做任何其他事情之前,先向剪輯師提出這個問題,作為一個帶有兩個選項的問題:

「你要我先向你提交時間戳提案,還是直接開始工作?」

  • 先提案給我 → 按照下面的每個步驟操作,包括步驟 3(剪輯師挑選)。
  • 直接開始工作 → 從頭到尾執行每個步驟,不要中斷。在步驟 3 中,使用「什麼時刻值得保留」自行挑選瞬間。沿途不要詢問批准、專案名稱或任何其他東西;在拍攝檔案中將未知項留為 _未提供_,並在最後提及一次。

如果剪輯師已經在他們的訊息中說明了要使用哪一個(「直接做」、「不要問我」、「向我提案」),則跳過這個問題。如果沒有人可以回答,則將其視為「直接開始工作」。

步驟 1:在挑選的片段被裁切之前,保留完整影片

  1. 將每個 B-roll 影片完整保留,不要修改,並使用一個簡單的名稱:broll-<n>-<這是什麼>.<ext>(例如 broll-4-unboxing.mov)。記錄它所屬的專案和品牌,以及拍攝日期。
  2. 檢查其長度和方向。
  3. 製作一個供觀看和挑選用的輕量工作副本。使用 ffmpeg: ffmpeg -i IN.mov -vf scale=540:960 -c:v libx264 -preset veryfast -crf 25 -g 15 -pix_fmt yuv420p -c:a aac -b:a 96k -movflags +faststart OUT.mp4 (較短的關鍵幀間隔使其能順暢地搜尋;對於橫向素材,將 540:960 交換為 960:540)。

步驟 2:為其加上標籤

  1. 觀看工作副本,並撰寫一個涵蓋影片每個部分且沒有間隙的工作映射圖:時間範圍、來自庫標籤列表的標籤,以及一句簡單的描述發生了什麼事。無法使用的部分也要保留在映射圖中,並附上簡短說明原因(失焦、檢查畫面),以確保它們已被檢視過。此映射圖僅用於尋找挑選的片段;它將與工作副本一起被刪除,只有保留的片段才會獲得保存的標籤。
  2. 檢查 AI 檢視器無法知道的內容:這是誰的素材、畫面中的產品是否真的是該品牌的產品(鏡頭中的咖啡只是咖啡),以及任何看起來不對勁的地方。使用小型聯絡表來尋找瞬間,然後在判定任何瞬間可用之前,查看全尺寸幀。小幀會隱藏不清晰的產品和創作者的眼神方向。
  3. 一個很棒但無法使用的想法會變成一個重拍筆記。
  4. 為每個影片寫一句簡單的話,說明其要點(拍攝它是為了展示什麼),僅從素材本身推斷出來。步驟 3 總是保留展示該要點的瞬間(如果可用的話)。
  5. 判斷每個影片是 生活風格(畫面中沒有產品,可重複用於任何品牌)還是 產品 素材。

步驟 3:挑選瞬間

如果剪輯師想要先提案:

  1. 提供剪輯師工作副本,以及一個從你的工作映射圖中選出的最強瞬間的簡短列表,作為起點。
  2. 剪輯師標記他們想要保留的每個瞬間:開始時間、結束時間,以及為什麼他們挑選它。任何格式都可以(挑選應用程式、試算表、筆記文件、訊息中的時間戳),只要每個挑選都有開始、結束和理由。
  3. 理由和時間一樣重要。這就是此技能學習剪輯師品味的方式(步驟 4,第 6 點)。

如果剪輯師說直接開始工作:

  1. 自行挑選瞬間,按順序使用「什麼時刻值得保留」。總是保留影片的要點(規則 4),並儲存長青鏡頭(規則 9)。
  2. 當同一個動作發生多次時,保留最乾淨的一次。
  3. 為每個挑選撰寫開始時間、結束時間和一行理由。
  4. 在裁切之前,檢查每個挑選的全尺寸幀,至少從開始到結束每隔半秒檢查一次(而不僅僅是中間):產品要清晰,眼神要在每一幀都符合規則 3,時間也要正確(AI 時間接近但不精確)。放棄任何不符合條件的挑選,或者將其修剪到符合條件的部分。
  5. 在儲存之前,並排比較每個影片的挑選。當兩個挑選顯示幾乎相同的鏡頭(相同的構圖、相同的主體)時,只保留動作最多的那個,並放棄另一個(規則 11)。

步驟 4:裁切挑選的片段並儲存

  1. 從原始檔案以全品質裁切每個挑選,在挑選時間的前後加上 1 秒的額外素材,並限制在影片的開頭和結尾。將每個片段命名為 <拍攝日期>-v<影片>-<挑選編號>-<發生什麼事>.mp4(例如 2026-10-22-v4-4-unbox-tear-top.mp4)。日期可防止名稱衝突,因為同一個品牌的所有拍攝都落在同一個資料夾中,且每個拍攝的影片編號會重新開始。使用 ffmpeg,高品質裁切是 -c:v libx264 -crf 16。如果某個片段太大而無法移動到需要的位置,請稍微提高 crf(18),而不是縮短它。
  2. 沒有長度的挑選(開始等於結束)是筆記,而不是片段。它會進入拍攝檔案的重拍筆記中(例如「失焦,重拍」)。
  3. 將片段儲存在品牌的 B-roll 資料夾中,這是該品牌所有 B-roll 跨專案存放的唯一位置。
  4. 撰寫拍攝檔案,每個拍攝一個,位於庫資料夾中的 shoots/<拍攝日期>-<品牌>.md(範本:templates/shoot-file.md):每個影片的要點,然後是每個保留的片段,包含其檔案名稱、挑選時間、標籤、發生什麼事,以及為何被挑選。剪輯師的理由要一字不漏地記錄;AI 撰寫的理由則標記為「(AI)」。以重拍筆記和該品牌仍然缺少的鏡頭結尾。
  5. 將每個片段加到庫索引的「依標籤搜尋」表格中其標籤下方。第一次,從 templates/b-roll-library-index.md 開始建立索引。然後刪除原始完整影片和所有工作副本。僅保留挑選的片段。
  6. 從理由中學習:將每個剪輯師的理由轉換為一個通用規則,並將其合併到下方的「什麼時刻值得保留」中(或合併到 b-roll 選擇技能中,如果它關係到片段在影片中的位置)。保持列表簡短:重寫和合併規則,而不是堆疊新規則。只有剪輯師的理由會改變規則;標記為「(AI)」的理由保持不變。
  7. 如果剪輯師稍後拒絕了一個保留的片段,請刪除它,從拍攝檔案和索引中移除它,並將他們的理由轉換為一個規則。

後續尋找 B-roll

當有人要求一種類型的鏡頭時(「這個品牌的開箱」、「我看起來很累」),在庫索引的「依標籤搜尋」表格中查找,並回傳匹配的片段。一個簡單的標籤(pet)會匹配其下的每個細節(pet:cat、pet:dog)。生活風格片段適用於任何品牌;產品片段屬於它們自己的品牌。

什麼時刻值得保留

這些規則來自於一個真實剪輯師在一個 UGC 產品拍攝中的挑選和理由。按順序應用它們,然後隨著剪輯師的理由到來,用你自己的編輯規則替換它們。

  1. 動作。 一個鏡頭中最好的瞬間是事情發生變化的地方:轉頭、手勢、新的表情、寵物走進畫面。沒有動作的鏡頭看起來像照片。一個靜止的鏡頭只作為一個簡短的點綴而被保留(一個乾淨的產品特寫);將其標記為 static。
  2. 表現出感受的臉。 嘆氣、打呵欠、雙手抱頭、大大的笑容。表情本身就能表現出台詞的感受。
  3. 有意的眼神。 只有當看向鏡頭是故意的時候才算:自拍、與觀眾交談或反應、或向鏡頭展示產品。否則,眼神應該屬於鏡頭的主體(飲料、筆記型電腦、包裝)。如果創作者只是坐在那裡時看向鏡頭,或者眼神瞟向一旁,那是在檢查自己在畫面中的樣子(通常是看向旁邊的手機螢幕),而那段不是好的演出。真正的演出是他們沒有在檢查的那段:打呵欠、攪拌、嘆氣。在任何一次檢查之後開始,並在下一次檢查之前結束;一段中檢查畫面超過一次的片段則跳過。
  4. 影片的要點總是會被挑選。 每個 B-roll 影片都是為了展示某樣東西而拍攝的,而最清楚地展示它的那個瞬間總是值得保留的。從素材本身讀出要點:影片大部分時間在展示什麼,或者創作者設置然後展示了什麼。要點可以是任何東西:產品順暢地倒出、競爭對手的粉末結塊、凌亂的「之前」、寵物做有趣的事。展示產品運作是一種要點,但不是規則。如果展示要點的瞬間不可用(模糊、不在畫面中),它反而會成為第一個重拍筆記。
  5. 畫面中的真實生活。 寵物、小的有趣時刻(丟棄空包裝)和其他非計劃中的細節使 B-roll 感覺真實,並為觀眾提供一些可看的東西。
  6. 自然且討喜的版本。 當創作者兩次做同一個動作時,看起來自然且像個真實的人的版本勝出(用手摀住嘴打呵欠)。
  7. 清晰的焦點。 當產品和臉部都在焦點內時,一個鏡頭才算數。在全尺寸幀上判斷焦點,絕不在聯絡表上。如果產品在鏡頭中的任何地方都沒有清晰對焦,那麼整個鏡頭都失敗。一個很棒但模糊的想法會變成一個重拍筆記。
  8. 完整的產品。 展示完整的包裝,並翻轉過來展示背面。翻轉它增加了動作並介紹了產品,而背面攜帶了成分等細節。
  9. 長青鏡頭,每次都要。 從每個產品拍攝中都儲存這些,即使當前的影片不會用到它們:開箱(撕開、看裡面、拿出一個)、產品使用(打開、倒出、混合、啜飲)、指向成分、創作者帶著產品微笑、乾淨的產品特寫、拿著產品。任何好的特寫也值得儲存(舉到鏡頭前的杯子、混合的手);將其標記為 closeup:<what>,以便它可以用作一個簡短的點綴。
  10. 短也可以。 一個乾淨的 2 秒片段就是一個可用的片段。
  11. 每個鏡頭一個版本。 當兩個瞬間看起來幾乎相同時(同一個杯子舉到鏡頭前),只儲存有事情發生的那個(攪拌它)。靜止的版本絕不會與它並存。
  12. 剪到主要動作。 每個 B-roll 影片都有一個為其拍攝的關鍵動作(把毯子拉到自己身上、倒出東西、打呵欠)。挑選的片段要包含那個動作,並且只在前面保留一個拍子。設置和擺弄(調整毯子、重新排列枕頭、準備好包裝)則排除在外,即使它們在同一個段落中。

每個標籤的規則

  • 每個保留的片段都有開始、結束、標籤、簡單的描述和理由。
  • 標籤僅描述在片段中可以看到的內容,這樣任何為同一片段加標籤的人都會選擇相同的標籤,而無需知道品牌或劇本。一個片段對於一個影片意味著什麼(一個「之前」鏡頭、一個痛點)是在之後,在 b-roll 選擇技能中決定的。
  • 每當細節可見且有人可能搜尋它時,在冒號後加上細節(tag:<what>)。
  • 時間來自原始檔案的時間軸。拍攝檔案記錄了挑選時間;片段本身則提前 1 秒開始。
  • AI 生成的時間接近但不精確。在裁切之前,請在全尺寸幀上檢查它們。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

alyshadotmd/video-editing

Turn raw talking-head footage full of repeated takes (one long recording, or several recordings of the same script) into a tight rough cut. Find every take of every line, judge each take on its words, sound and picture, pick the keeper for each line, and either show the editor the picks first or go straight to the cut. The cut is checked so no word is chopped and no pause is left in before anyone sees it. Built for Claude Code and Runneth. Use when someone uploads raw talking-head footage and asks to find the takes, pick the best ones, make a cut list or rough cut it. Triggers: "process my a-roll", "find my takes", "pick the best takes", "rough cut this", "cut list", "edit my talking head", "which take is best

alyshadotmd/video-editing

Plan and place b-roll on a video from its first cut: go through the cut line by line, decide which lines get b-roll and what kind of shot, pull the best matching moments from a tagged b-roll library, list what still needs filming, and place the b-roll once the editor approves. Use after a first cut exists and someone wants b-roll added, asks what b-roll a video needs, or asks for a b-roll shot list. Triggers: "add b-roll", "what b-roll do I need", "b-roll plan", "place the b-roll", "b-roll for this cut", "what should I film for b-roll", "shot list for this edit

alyshadotmd/video-editing

>- Add burned-in captions to a vertical (9:16) talking-head video: exact word timings, one word at a time or short chunks broken by meaning, white outlined Figtree Bold with an optional highlighted word, placed in the safe area clear of the face and the hook headline. Built for Claude Code and Runneth. Use after framing and the headline, when someone asks for captions, subtitles or on-screen words.

相關技能