SKILL.md
readonlyread-only
name
video-editing
description
AI 輔助影片編輯工作流程,用於剪輯、結構化與增強真實素材。涵蓋從原始拍攝到 FFmpeg、Remotion、ElevenLabs、fal.ai,最後在 Descript 或 CapCut 中精修的完整流程。當使用者想要剪輯影片、裁切素材、製作 vlog 或建立影片內容時使用。
影片編輯
AI 輔助編輯真實素材。不是從提示生成。快速編輯現有影片。
何時啟用
- 使用者想要編輯、剪輯或結構化影片素材
- 將長錄音轉換為短影音內容
- 從原始拍攝建立 vlog、教學或示範影片
- 為現有影片添加疊加層、字幕、音樂或旁白
- 為不同平台(YouTube、TikTok、Instagram)重新構圖影片
- 使用者說「剪輯影片」、「裁切素材」、「製作 vlog」或「影片工作流程」
核心論點
AI 影片編輯的價值在於你不再要求它創造整部影片,而是用它來壓縮、結構化與增強真實素材。價值不在於生成,而在於壓縮。
工作流程
Screen Studio / 原始素材
→ Claude / Codex
→ FFmpeg
→ Remotion
→ ElevenLabs / fal.ai
→ Descript 或 CapCut
每一層都有特定任務。不要跳過任何層。不要試圖讓一個工具做所有事。
第一層:拍攝(Screen Studio / 原始素材)
收集來源素材:
- Screen Studio:用於應用程式示範、編碼過程、瀏覽器工作流程的精美螢幕錄影
- 原始相機素材:vlog 素材、訪談、活動錄影
- 透過 VideoDB 的桌面錄影:即時情境的會話錄影(參見
videodb技能)
輸出:準備好整理的原始檔案。
第二層:組織(Claude / Codex)
使用 Claude Code 或 Codex 來:
- 轉錄與標記:產生逐字稿,識別主題與話題
- 規劃結構:決定哪些保留、哪些剪掉、順序如何
- 識別無效段落:找出停頓、離題、重複拍攝
- 產生剪輯決策清單:剪輯時間戳、保留的片段
- 建立 FFmpeg 和 Remotion 程式碼:產生指令與合成
範例提示:
「這是 4 小時錄影的逐字稿。找出最精彩的 8 個片段,組成 24 分鐘的 vlog。給我每個片段的 FFmpeg 剪輯指令。」
這一層關乎結構,而非最終的創意品味。
第三層:確定性剪輯(FFmpeg)
FFmpeg 處理無聊但關鍵的工作:分割、修剪、串接與預處理。
依時間戳提取片段
ffmpeg -i raw.mp4 -ss 00:12:30 -to 00:15:45 -c copy segment_01.mp4
從剪輯決策清單批次剪輯
#!/bin/bash
# cuts.txt: start,end,label
while IFS=, read -r start end label; do
ffmpeg -i raw.mp4 -ss "$start" -to "$end" -c copy "segments/${label}.mp4"
done < cuts.txt
串接片段
# 建立檔案清單
for f in segments/*.mp4; do echo "file '$f'"; done > concat.txt
ffmpeg -f concat -safe 0 -i concat.txt -c copy assembled.mp4
建立代理檔案以加速編輯
ffmpeg -i raw.mp4 -vf "scale=960:-2" -c:v libx264 -preset ultrafast -crf 28 proxy.mp4
提取音訊以進行轉錄
ffmpeg -i raw.mp4 -vn -acodec pcm_s16le -ar 16000 audio.wav
標準化音量
ffmpeg -i segment.mp4 -af loudnorm=I=-16:TP=-1.5:LRA=11 -c:v copy normalized.mp4
第四層:可程式化合成(Remotion)
Remotion 將編輯問題轉化為可組合的程式碼。用於傳統編輯器難以處理的情況:
何時使用 Remotion
- 疊加層:文字、圖片、品牌標誌、下方三分之一
- 資料視覺化:圖表、統計、動畫數字
- 動態圖形:轉場、解說動畫
- 可組合場景:跨影片的可重複使用模板
- 產品示範:註解螢幕截圖、UI 重點
基本 Remotion 合成
import { AbsoluteFill, Sequence, Video, useCurrentFrame } from "remotion";
export const VlogComposition: React.FC = () => {
const frame = useCurrentFrame();
return (
<AbsoluteFill>
{/* 主要素材 */}
<Sequence from={0} durationInFrames={300}>
<Video src="/segments/intro.mp4" />
</Sequence>
{/* 標題疊加 */}
<Sequence from={30} durationInFrames={90}>
<AbsoluteFill style={{
justifyContent: "center",
alignItems: "center",
}}>
<h1 style={{
fontSize: 72,
color: "white",
textShadow: "2px 2px 8px rgba(0,0,0,0.8)",
}}>
AI 編輯堆疊
</h1>
</AbsoluteFill>
</Sequence>
{/* 下一個片段 */}
<Sequence from={300} durationInFrames={450}>
<Video src="/segments/demo.mp4" />
</Sequence>
</AbsoluteFill>
);
};
渲染輸出
npx remotion render src/index.ts VlogComposition output.mp4
詳細模式與 API 參考請參閱 Remotion 文件。
第五層:生成素材(ElevenLabs / fal.ai)
只生成你需要的部分。不要生成整部影片。
使用 ElevenLabs 製作旁白
import os
import requests
resp = requests.post(
f"https://api.elevenlabs.io/v1/text-to-speech/{voice_id}",
headers={
"xi-api-key": os.environ["ELEVENLABS_API_KEY"],
"Content-Type": "application/json"
},
json={
"text": "你的旁白文字",
"model_id": "eleven_turbo_v2_5",
"voice_settings": {"stability": 0.5, "similarity_boost": 0.75}
}
)
with open("voiceover.mp3", "wb") as f:
f.write(resp.content)
使用 fal.ai 製作音樂與音效
使用 fal-ai-media 技能來:
- 生成背景音樂
- 音效(ThinkSound 模型用於影片轉音訊)
- 轉場音效
使用 fal.ai 生成視覺素材
用於不存在的插入鏡頭、縮圖或 B-roll:
generate(app_id: "fal-ai/nano-banana-pro", input_data: {
"prompt": "專業科技 vlog 縮圖,深色背景,螢幕上有程式碼",
"image_size": "landscape_16_9"
})
VideoDB 生成音訊
如果已設定 VideoDB:
voiceover = coll.generate_voice(text="旁白文字", voice="alloy")
music = coll.generate_music(prompt="編碼 vlog 的 lo-fi 背景音樂", duration=120)
sfx = coll.generate_sound_effect(prompt="輕柔的咻聲轉場")
第六層:最終精修(Descript / CapCut)
最後一層是人為的。使用傳統編輯器來:
- 節奏:調整感覺太快或太慢的剪輯
- 字幕:自動生成,然後手動清理
- 調色:基本校正與氛圍
- 最終音訊混音:平衡語音、音樂與音效音量
- 匯出:針對不同平台的格式與品質設定
這是品味所在。AI 清除重複性工作。你做出最終決定。
社群媒體重新構圖
不同平台需要不同的長寬比:
| 平台 | 長寬比 | 解析度 |
|---|---|---|
| YouTube | 16:9 | 1920x1080 |
| TikTok / Reels | 9:16 | 1080x1920 |
| Instagram 貼文 | 1:1 | 1080x1080 |
| X / Twitter | 16:9 或 1:1 | 1280x720 或 720x720 |
使用 FFmpeg 重新構圖
# 16:9 轉 9:16(中央裁切)
ffmpeg -i input.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" vertical.mp4
# 16:9 轉 1:1(中央裁切)
ffmpeg -i input.mp4 -vf "crop=ih:ih,scale=1080:1080" square.mp4
使用 VideoDB 重新構圖
from videodb import ReframeMode
# 智慧重新構圖(AI 引導主體追蹤)
reframed = video.reframe(start=0, end=60, target="vertical", mode=ReframeMode.smart)
場景偵測與自動剪輯
FFmpeg 場景偵測
# 偵測場景變化(閾值 0.3 = 中等敏感度)
ffmpeg -i input.mp4 -vf "select='gt(scene,0.3)',showinfo" -vsync vfr -f null - 2>&1 | grep showinfo
靜音偵測以自動剪輯
# 找出靜音片段(用於剪掉空白)
ffmpeg -i input.mp4 -af silencedetect=noise=-30dB:d=2 -f null - 2>&1 | grep silence
精彩片段提取
使用 Claude 分析逐字稿與場景時間戳:
「根據這份附時間戳的逐字稿與這些場景變化點,找出 5 個最吸引人的 30 秒社群媒體片段。」
各工具最佳用途
| 工具 | 優勢 | 劣勢 |
|---|---|---|
| Claude / Codex | 組織、規劃、程式碼生成 | 非創意品味層 |
| FFmpeg | 確定性剪輯、批次處理、格式轉換 | 無視覺編輯介面 |
| Remotion | 可程式化疊加層、可組合場景、可重複使用模板 | 非開發者學習曲線高 |
| Screen Studio | 立即獲得精美螢幕錄影 | 僅限螢幕拍攝 |
| ElevenLabs | 語音、旁白、音樂、音效 | 非工作流程核心 |
| Descript / CapCut | 最終節奏、字幕、精修 | 手動,無法自動化 |
關鍵原則
- 編輯,而非生成。 此工作流程用於剪輯真實素材,而非從提示建立。
- 先結構,後風格。 在觸碰任何視覺元素前,先在第二層把故事理順。
- FFmpeg 是骨幹。 無聊但關鍵。長素材在此變得可管理。
- Remotion 用於重複性。 如果你會做超過一次,就把它做成 Remotion 元件。
- 選擇性生成。 僅對不存在的素材使用 AI 生成,而非所有東西。
- 品味是最後一層。 AI 清除重複性工作。你做出最終的創意決定。
相關技能
fal-ai-media— AI 圖片、影片與音訊生成videodb— 伺服器端影片處理、索引與串流content-engine— 平台原生內容分發






