Communitygithub.com

OxMediaEcomm/비디오-편집

실제 영상을 자르고, 구조화하고, 보강하는 AI 기반 비디오 편집 워크플로우입니다. FFmpeg, Remotion, ElevenLabs, fal.ai를 거쳐 Descript 또는 CapCut에서 최종 마무리하는 전체 파이프라인을 다룹니다. 사용자가 비디오를 편집하거나, 영상을 자르거나, 브이로그를 만들거나, 비디오 콘텐츠를 제작하려 할 때 사용하세요.

비디오-편집란 무엇인가요?

이 스킬은 AI 에이전트가 실제 촬영된 영상(프롬프트로 생성된 영상이 아님)을 빠르고 효율적으로 편집할 수 있도록 설계된 종합적인 비디오 편집 파이프라인입니다. Claude Code, Codex, FFmpeg, Remotion, ElevenLabs, fal.ai, Descript, CapCut 등 다양한 도구를 계층적으로 사용하여 영상 편집의 전체 과정을 구조화합니다. 핵심 가치는 '생성'이 아닌 '압축'과 '구조화'에 있으며, 긴 원본 영상에서 핵심 하이라이트를 추출하고 편집 결정 목록을 생성하는 것이 주 목적입니다. 사용자가 비디오를 편집하거나, 영상을 자르거나, 브이로그를 만들거나, 비디오 콘텐츠를 제작하려 할 때 활성화되며, 각 도구의 장점을 활용하여 반복 작업은 자동화하고 최종 크리에이티브 결정은 인간이 내리도록 돕습니다.

지원 대상✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/OxMediaEcomm/c-420/tree/HEAD/skills/video-editing

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

미리보기

스킬 README에서

문서

비디오 편집

실제 영상을 위한 AI 지원 편집. 프롬프트로 생성하는 것이 아닙니다. 기존 비디오를 빠르게 편집합니다.

활성화 시점

  • 사용자가 비디오 편집, 자르기, 또는 구조화를 원할 때
  • 긴 녹화물을 숏폼 콘텐츠로 변환할 때
  • 브이로그, 튜토리얼, 또는 데모 비디오를 원본 촬영본으로 제작할 때
  • 기존 비디오에 오버레이, 자막, 음악, 또는 보이스오버를 추가할 때
  • 다른 플랫폼(YouTube, TikTok, Instagram)에 맞춰 비디오를 리프레이밍할 때
  • 사용자가 "비디오 편집", "이 영상 잘라줘", "브이로그 만들어줘", 또는 "비디오 워크플로우"라고 말할 때

핵심 명제

AI 비디오 편집은 전체 비디오를 만들도록 요청하는 것을 멈추고, 실제 영상을 압축, 구조화, 보강하는 데 사용하기 시작할 때 유용합니다. 가치는 생성에 있는 것이 아닙니다. 가치는 압축에 있습니다.

파이프라인

Screen Studio / 원본 영상
  → Claude / Codex
  → FFmpeg
  → Remotion
  → ElevenLabs / fal.ai
  → Descript 또는 CapCut

각 계층에는 특정 작업이 있습니다. 계층을 건너뛰지 마십시오. 하나의 도구가 모든 것을 하려고 하지 마십시오.

계층 1: 캡처 (Screen Studio / 원본 영상)

소스 자료를 수집합니다:

  • Screen Studio: 앱 데모, 코딩 세션, 브라우저 워크플로우를 위한 세련된 화면 녹화
  • 원본 카메라 영상: 브이로그 영상, 인터뷰, 이벤트 녹화
  • VideoDB를 통한 데스크탑 캡처: 실시간 컨텍스트가 포함된 세션 녹화(videodb 스킬 참조)

출력: 정리 준비가 된 원시 파일.

계층 2: 조직화 (Claude / Codex)

Claude Code 또는 Codex를 사용하여:

  • 전사 및 레이블링: 대본 생성, 주제 및 테마 식별
  • 구조 계획: 무엇을 남기고, 무엇을 자르고, 어떤 순서가 작동할지 결정
  • 죽은 구간 식별: 일시 정지, 지엽적인 이야기, 반복 테이크 찾기
  • 편집 결정 목록 생성: 컷을 위한 타임스탬프, 유지할 세그먼트
  • FFmpeg 및 Remotion 코드 스캐폴딩: 명령어 및 컴포지션 생성
예시 프롬프트:
"다음은 4시간 분량 녹화의 대본입니다. 24분짜리 브이로그를 위한 가장 강력한 8개 세그먼트를 식별하세요.
각 세그먼트에 대한 FFmpeg 컷 명령어를 제공하세요."

이 계층은 구조에 관한 것이며, 최종 창의적 판단에 관한 것이 아닙니다.

계층 3: 결정론적 컷 (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

계층 4: 프로그래밍 가능한 컴포지션 (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 문서를 참조하세요.

계층 5: 생성된 자산 (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로 음악 및 SFX

fal-ai-media 스킬을 사용하여:

  • 배경 음악 생성
  • 음향 효과 (비디오-투-오디오용 ThinkSound 모델)
  • 전환 효과음

fal.ai로 생성된 비주얼

존재하지 않는 삽입 장면, 썸네일 또는 비롤에 사용:

generate(app_id: "fal-ai/nano-banana-pro", input_data: {
  "prompt": "기술 브이로그를 위한 전문 썸네일, 어두운 배경, 화면에 코드",
  "image_size": "landscape_16_9"
})

VideoDB 생성 오디오

VideoDB가 구성된 경우:

voiceover = coll.generate_voice(text="여기에 내레이션", voice="alloy")
music = coll.generate_music(prompt="코딩 브이로그를 위한 로파이 배경음", duration=120)
sfx = coll.generate_sound_effect(prompt="미묘한 우쉬 전환음")

계층 6: 최종 마무리 (Descript / CapCut)

마지막 계층은 인간입니다. 전통적인 편집기를 사용하여:

  • 템포: 너무 빠르거나 느리게 느껴지는 컷 조정
  • 자막: 자동 생성 후 수동 정리
  • 색 보정: 기본 보정 및 분위기 설정
  • 최종 오디오 믹스: 음성, 음악, SFX 레벨 균형 맞추기
  • 내보내기: 플랫폼별 형식 및 품질 설정

여기에 취향이 있습니다. AI는 반복 작업을 제거합니다. 당신이 최종 결정을 내립니다.

소셜 미디어 리프레이밍

플랫폼마다 다른 화면 비율이 필요합니다:

플랫폼화면 비율해상도
YouTube16:91920x1080
TikTok / Reels9:161080x1920
Instagram Feed1:11080x1080
X / Twitter16:9 또는 1:11280x720 또는 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를 사용하여 대본 및 장면 타임스탬프 분석:

"타임스탬프가 포함된 이 대본과 장면 변경 지점을 바탕으로,
소셜 미디어에 가장 적합한 30초 클립 5개를 식별하세요."

각 도구의 최적 사용 영역

도구강점약점
Claude / Codex조직화, 계획, 코드 생성창의적 취향 계층에는 부적합
FFmpeg결정론적 컷, 일괄 처리, 형식 변환비주얼 편집 UI 없음
Remotion프로그래밍 가능한 오버레이, 구성 가능한 씬, 재사용 가능한 템플릿비개발자에게 학습 곡선
Screen Studio즉시 사용 가능한 세련된 화면 녹화화면 캡처 전용
ElevenLabs음성, 내레이션, 음악, SFX워크플로우의 중심이 아님
Descript / CapCut최종 템포, 자막, 마무리수동, 자동화 불가능

핵심 원칙

  1. 편집하되, 생성하지 마십시오. 이 워크플로우는 프롬프트로 생성하는 것이 아니라 실제 영상을 자르기 위한 것입니다.
  2. 스타일보다 구조를 먼저. 시각적인 것을 건드리기 전에 계층 2에서 이야기를 올바르게 잡으십시오.
  3. FFmpeg이 중추입니다. 지루하지만 중요합니다. 긴 영상을 관리 가능하게 만듭니다.
  4. 반복성을 위해 Remotion을 사용하십시오. 한 번 이상 할 작업이라면 Remotion 컴포넌트로 만드십시오.
  5. 선택적으로 생성하십시오. AI 생성을 모든 것이 아닌 존재하지 않는 자산에만 사용하십시오.
  6. 취향은 마지막 계층입니다. AI는 반복 작업을 제거합니다. 당신이 최종 창의적 결정을 내립니다.

관련 스킬

  • fal-ai-media — AI 이미지, 비디오 및 오디오 생성
  • videodb — 서버 측 비디오 처리, 인덱싱 및 스트리밍
  • content-engine — 플랫폼별 콘텐츠 배포

관련 스킬