From ecc
원시 영상을 자르고, 구조화하고, 보강하기 위한 AI 보조 비디오 편집 워크플로입니다. 원시 캡처부터 FFmpeg, Remotion, ElevenLabs, fal.ai를 거쳐 Descript나 CapCut에서의 최종 마무리까지의 전체 파이프라인을 다룹니다. 사용자가 비디오를 편집하거나, 영상을 자르거나, 브이로그를 만들거나, 비디오 콘텐츠를 제작하고 싶을 때 사용합니다.
npx claudepluginhub sam42-lab/everything-claude-code-krThis skill uses the workspace's default tool permissions.
실제 영상을 위한 AI 보조 편집입니다. 프롬프트로부터의 생성이 아닙니다. 기존 비디오를 빠르게 편집하는 데 중점을 둡니다.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
실제 영상을 위한 AI 보조 편집입니다. 프롬프트로부터의 생성이 아닙니다. 기존 비디오를 빠르게 편집하는 데 중점을 둡니다.
AI 비디오 편집은 전체 비디오를 만들라고 요청하는 것을 멈추고, 실제 영상을 압축, 구조화 및 보강하는 데 사용하기 시작할 때 유용합니다. 가치는 생성이 아니라 압축에 있습니다.
Screen Studio / 원시 영상
→ Claude / Codex
→ FFmpeg
→ Remotion
→ ElevenLabs / fal.ai
→ Descript 또는 CapCut
각 레이어는 특정 역할을 수행합니다. 레이어를 건너뛰지 마세요. 하나의 도구가 모든 것을 하도록 만들려고 하지 마세요.
소스 자료 수집:
videodb 스킬 참조)출력: 정리를 위한 준비가 된 원시 파일.
Claude Code 또는 Codex를 사용하여 다음을 수행합니다.
프롬프트 예시:
"여기에 4시간 분량의 녹화 트랜스크립트가 있습니다. 24분 분량의 브이로그를 위한
가장 강력한 8개 세그먼트를 식별해 주세요. 각 세그먼트에 대한 FFmpeg 컷 명령을 알려주세요."
이 레이어는 최종적인 창의적 취향이 아니라 구조에 관한 것입니다.
FFmpeg는 지루하지만 중요한 작업인 분할, 트리밍, 결합 및 전처리를 처리합니다.
ffmpeg -i raw.mp4 -ss 00:12:30 -to 00:15:45 -c copy segment_01.mp4
#!/bin/bash
# cuts.txt: 시작,종료,레이블
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은 편집 문제를 조합 가능한 코드로 바꿉니다. 전통적인 에디터에서 고통스러운 작업에 사용하세요.
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 문서를 확인하세요.
필요한 것만 생성하세요. 전체 비디오를 생성하지 마세요.
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-media 스킬을 사용하세요:
존재하지 않는 인서트 샷, 썸네일 또는 B-roll에 사용하세요:
generate(app_id: "fal-ai/nano-banana-pro", input_data: {
"prompt": "기술 브이로그를 위한 전문적인 썸네일, 어두운 배경, 화면의 코드",
"image_size": "landscape_16_9"
})
VideoDB가 설정된 경우:
voiceover = coll.generate_voice(text="나레이션 내용", voice="alloy")
music = coll.generate_music(prompt="코딩 브이로그를 위한 로우파이 배경음악", duration=120)
sfx = coll.generate_sound_effect(prompt="은은한 휘익 하는 전환음")
마지막 레이어는 사람입니다. 다음을 위해 전통적인 에디터를 사용하세요:
여기에 취향이 담깁니다. AI는 반복적인 작업을 제거합니다. 최종 결정은 여러분이 내립니다.
플랫폼마다 다른 가로세로비가 필요합니다:
| 플랫폼 | 가로세로비 | 해상도 |
|---|---|---|
| YouTube | 16:9 | 1920x1080 |
| TikTok / Reels | 9:16 | 1080x1920 |
| Instagram Feed | 1:1 | 1080x1080 |
| X / Twitter | 16:9 또는 1:1 | 1280x720 또는 720x720 |
# 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
from videodb import ReframeMode
# 스마트 리프레임 (AI 유도 피사체 추적)
reframed = video.reframe(start=0, end=60, target="vertical", mode=ReframeMode.smart)
# 장면 전환 감지 (임계값 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를 사용하여 트랜스크립트 + 장면 타임스탬프 분석:
"타임스탬프가 포함된 이 트랜스크립트와 이 장면 전환 지점들이 주어졌을 때,
소셜 미디어를 위한 가장 매력적인 30초짜리 클립 5개를 식별해 주세요."
| 도구 | 강점 | 약점 |
|---|---|---|
| Claude / Codex | 정리, 계획, 코드 생성 | 창의적인 취향 레이어는 아님 |
| FFmpeg | 결정론적 컷, 일괄 처리, 형식 변환 | 시각적 편집 UI 없음 |
| Remotion | 프로그래밍 가능한 오버레이, 조합 가능한 장면, 재사용 가능한 템플릿 | 비개발자에게는 학습 곡선이 있음 |
| Screen Studio | 즉시 완성되는 세련된 화면 녹화 | 화면 캡처만 가능 |
| ElevenLabs | 음성, 나레이션, 음악, SFX | 워크플로의 중심은 아님 |
| Descript / CapCut | 최종 페이스 조절, 캡션, 마무리 | 수동 작업, 자동화 불가 |
fal-ai-media — AI 이미지, 비디오 및 오디오 생성videodb — 서버 측 비디오 처리, 인덱싱 및 스트리밍content-engine — 플랫폼 네이티브 콘텐츠 배포