影片編輯
AI 輔助的真實素材編輯。不是從提示詞生成。而是快速編輯現有影片。
何時啟用
- 使用者想要編輯、剪輯或結構化影片素材
- 將長時間錄影轉換為短片內容
- 從原始錄製素材建立 Vlog、教學或產品展示影片
- 為現有影片添加疊加層、字幕、音樂或旁白
- 為不同平台(YouTube、TikTok、Instagram)重新調整畫面
- 使用者說「編輯影片」、「剪輯這段素材」、「製作 Vlog」或「影片工作流程」
核心論點
AI 影片編輯的價值在於,當你不再要求它創造整部影片,而是用它來壓縮、結構化和增強真實素材時才體現出來。價值不在於生成。價值在於壓縮。
管線
Screen Studio / 原始素材
→ Claude / Codex
→ FFmpeg
→ Remotion
→ ElevenLabs / fal.ai
→ Descript 或 CapCut
每一層都有其特定的任務。不要跳過任何一層。不要試圖讓一個工具完成所有工作。
第一層:捕捉 (Screen Studio / 原始素材)
收集來源素材:
- Screen Studio:為應用程式展示、編碼過程、瀏覽器工作流程提供 polished 螢幕錄影
- 原始攝影機素材: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
請參閱 Remotion 文件 以獲取詳細的模式和 API 參考。
第五層:產生的資產 (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)
最後一層是人工的。使用傳統編輯器來處理:
- 節奏:調整感覺太快或太慢的剪輯
- 字幕:自動生成,然後手動清理
- 調色:基本的色彩校正與營造氛圍
- 最終音訊混音:平衡語音、音樂和 SFX 的音量
- 匯出:特定平台的格式和品質設定
這是品味所在。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 場景偵測
# 偵測場景變化(threshold 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 | 立即獲得 polished 螢幕錄影 | 僅限螢幕捕捉 |
| ElevenLabs | 語音、旁白、音樂、音效 | 非工作流程核心 |
| Descript / CapCut | 最終節奏、字幕、潤飾 | 手動,無法自動化 |
關鍵原則
- 編輯,不是生成。 這個工作流程是為了剪輯真實素材,而不是從提示詞創建。
- 先結構,後風格。 在觸碰任何視覺元素之前,先在第二層把故事理清楚。
- FFmpeg 是骨幹。 無聊但至關重要。是長素材變得可管理的地方。
- Remotion 用於重複性。 如果你會做超過一次,就把它做成 Remotion 元件。
- 選擇性地生成。 AI 生成只用於不存在的資產,而不是用於一切。
- 品味是最後一層。 AI 清理重複性工作。由你做出最終的創意決定。
相關技能
fal-ai-media— AI 圖片、影片和音訊生成videodb— 伺服器端影片處理、索引和串流content-engine— 平台原生的內容發布