Communitygithub.com

1596941391qq/ai-openclaw-skeletons

전체 스택 비디오 후반 제작 Skill: Whisper 전사 → auto-editor 무음 제거 → ffmpeg 정밀 편집(PIP 확대경/챕터 제목/가속/자막 렌더링) → Remotion 애니메이션 클립 → HyperFrames 브랜드 비디오. 적용 분야: 튜토리얼 비디오 후반, 음성 데드 에어 제거, 홍보 영상 생성, 멀티 플랫폼 내보내기.

ai-openclaw-skeletons란 무엇인가요?

이 Skill은 Whisper, auto-editor, ffmpeg, Remotion, HyperFrames 등 6가지 핵심 툴을 통합한 원스톱 비디오 후반 제작 솔루션입니다. 원본 녹화에서 최종 배포까지 AI가 전 과정을 자동화하여 튜토리얼 영상, 음성 데드 에어 제거, 홍보 영상, 멀티 플랫폼 내보내기 등 다양한 시나리오를 지원합니다. Whisper로 자동 전사하고, auto-editor로 불필요한 무음 구간을 제거한 후, ffmpeg의 filter_complex를 활용해 PIP 확대경, 챕터 제목, 가속 효과 등 고급 편집을 수행합니다. Remotion으로 인트로/아웃트로 애니메이션을 생성하고, HyperFrames로 HTML/CSS 기반 브랜드 비디오를 제작할 수 있습니다. Python, Node.js, ffmpeg 7.0+ 환경에서 작동하며, Claude Code, Cursor, Codex 등 주요 AI 에이전트 플랫폼에서 실행 가능합니다.

지원 대상✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/1596941391qq/ai-openclaw-skeletons/tree/HEAD/Packs/video-editor-skill-pack

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

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

문서

Video Editor Full — 전체 스택 비디오 후반 제작 Skill

6가지 핵심 기능을 통합한 원스톱 비디오 후반 제작 Skill입니다. 원본 녹화부터 완제품 배포까지 전 과정을 AI가 주도합니다.

기능 매트릭스

모듈도구용도의존성
전사Whisper (base/small/medium)음성 → 자막 SRTPython + openai-whisper
무음 제거auto-editor자동 점프 컷 데드 에어Python + auto-editor
정밀 편집ffmpeg filter_complexPIP 확대경, 챕터 제목, 가속, drawbox 하이라이트ffmpeg 7.0+
자막ffmpeg subtitles filterSRT 렌더링 (중국어 YaHei 지원)ffmpeg + 폰트
애니메이션Remotion인트로/아웃트로, 데이터 시각화, 동적 차트Node.js 18+ + Remotion
브랜드 비디오HyperFramesHTML/CSS → 비디오, AI 디지털 휴먼Node.js + HeyGen API Key

워크플로우 개요

┌─────────────┐     ┌──────────────┐     ┌─────────────────┐
│  원본 비디오  │────▶│  분석 및 전사  │────▶│  콘텐츠 계획     │
└─────────────┘     └──────────────┘     └─────────────────┘
                                                   │
                    ┌──────────────────────────────┼──────────────────┐
                    ▼                              ▼                  ▼
            ┌──────────────┐            ┌─────────────────┐  ┌──────────────┐
            │ auto-editor  │            │ ffmpeg 정밀 편집 │  │ Remotion     │
            │ 무음 제거/점프│            │ PIP+챕터+가속    │  │ 인트로/아웃트로│
            └──────┬───────┘            └────────┬────────┘  └──────┬───────┘
                   │                             │                   │
                   └─────────────────────────────┼───────────────────┘
                                                 ▼
                                        ┌─────────────────┐
                                        │  자막 렌더링     │
                                        │  + 최종 내보내기  │
                                        └─────────────────┘

사전 조건

# 필수
pip install openai-whisper auto-editor
# ffmpeg가 PATH에 있어야 함 (권장 7.0+)
ffmpeg -version

# 선택: Remotion (인트로/아웃트로 애니메이션)
npx create-video@latest --blank

# 선택: HyperFrames (브랜드 비디오)
# HeyGen API Key 필요, templates/hyperframes-config.example.json 참조

모듈 상세


모듈 1: 분석 및 전사

Step 1: 비디오 메타데이터

ffprobe -v quiet -print_format json -show_format -show_streams input.mp4

확인 항목: 해상도, 프레임레이트, 재생 시간, 코덱, 비트레이트.

Step 2: 키프레임 추출 (매 5초)

mkdir -p frames
ffmpeg -i input.mp4 -vf "fps=1/5" -q:v 2 frames/frame_%03d.jpg

시각 분석으로 주요 UI 영역, 챕터 경계, 확대경 대상 결정.

Step 3: Whisper 전사

import whisper
model = whisper.load_model("base")  # 중국어는 base면 충분, medium은 더 정확하지만 느림
result = model.transcribe("audio.wav", language="zh")

SRT 출력 후 수동 교정 필수:

  • 고유 명사 (제품명, 기술 용어)
  • 타임라인 정렬 (특히 후반부 드리프트 가능)
  • 동음이의어 오류

모듈 2: auto-editor 무음 제거

# 기본 사용법: 모든 무음 구간 제거
auto-editor input.mp4 --margin 0.2s --output no_silence.mp4

# 보수 모드: 1초 이상 무음만 제거
auto-editor input.mp4 --min-clip-length 1s --margin 0.3s --output no_silence.mp4

# 타임라인 내보내기 (직접 렌더링하지 않고 후속 ffmpeg 정밀 편집용)
auto-editor input.mp4 --export timeline:api

참고: auto-editor 무음 제거 후 타임라인이 변경되므로, 자막은 무음 제거 후에 생성하거나 다시 정렬해야 합니다.

권장 순서: 원본 비디오 → auto-editor → 재전사/자막 정렬 → ffmpeg 정밀 편집


모듈 3: ffmpeg 정밀 편집 (핵심)

3.1 PIP 확대경 (화면 속 화면)

# 주요: crop 영역은 force_original_aspect_ratio로 늘어짐 방지
PIP_W, PIP_H = 300, 188  # 목표 PIP 창 크기

# filter_complex 구문:
# crop → scale (비율 유지) → pad (검은 여백 채우기) → drawbox (노란 테두리)
f"[pip{i}]crop={cw}:{ch}:{cx}:{cy},"
f"scale={PIP_W}:{PIP_H}:force_original_aspect_ratio=decrease,"
f"pad={PIP_W}:{PIP_H}:(ow-iw)/2:(oh-ih)/2:color=0x1a1a2e,"
f"drawbox=x=0:y=0:w={PIP_W}:h={PIP_H}:color=yellow:t=2"
f"[pip{i}s]"

3.2 챕터 제목 (drawtext fade)

# 챕터 전환 시점에 제목 표시, 페이드 인/아웃
f"drawtext=text='{title}':"
f"fontfile='C\:/Windows/Fonts/msyh.ttc':"
f"fontsize=28:fontcolor=white:borderw=3:[email protected]:"
f"x=(w-text_w)/2:y=30:"
f"alpha='if(lt(t,{start}),0,if(lt(t,{start}+0.4),(t-{start})/0.4,"
f"if(lt(t,{end}-0.4),1,if(lt(t,{end}),({end}-t)/0.4,0))))':"
f"enable='between(t,{fade_in},{fade_out})'"

3.3 가속

# 비디오 가속
f"[vout]setpts=PTS/{SPEED}[vfinal]"
# 오디오 가속 (atempo 범위 0.5-2.0, 초과 시 체인 필요)
f"[0:a]atempo={SPEED}[afinal]"

3.4 자막 타임라인 동기화

가속 후 자막 시간 코드는 동기식 조정 필요:

new_start = original_start / SPEED
new_end = original_end / SPEED

3.5 전체 빌드 템플릿

scripts/build_template.py 참조


모듈 4: Remotion 애니메이션 클립

인트로, 아웃트로, 전환 애니메이션, 데이터 시각화 생성에 적합.

# Remotion 프로젝트 초기화
npx create-video@latest my-intro --blank

# src/Composition.tsx에서 애니메이션 작성
# MP4로 렌더링
npx remotion render src/index.ts MyComp out/intro.mp4

생성된 클립은 ffmpeg concat으로 메인 비디오에 연결:

# concat list
echo "file 'intro.mp4'" > list.txt
echo "file 'main.mp4'" >> list.txt
echo "file 'outro.mp4'" >> list.txt
ffmpeg -f concat -safe 0 -i list.txt -c copy final.mp4

Remotion Agent Skill 설치:

# 공식 skill (권장)
git clone https://github.com/remotion-dev/skills.git ~/.claude/skills/remotion

모듈 5: HyperFrames 브랜드 비디오

HTML/CSS/JS를 비디오 프레임으로 렌더링, 브랜드 홍보, 웹사이트-비디오 변환에 적합.

# 설치
npm install @anthropic-ai/hyperframes

# 기본 사용법: HTML → MP4
npx hyperframes render --input composition.html --output brand.mp4

Avatar 디지털 휴먼 기능을 사용하려면 HeyGen API Key가 필요합니다. 설정 템플릿은 templates/hyperframes-config.example.json 참조.


모듈 6: 최종 내보내기

자막 렌더링 (마지막 단계)

ffmpeg -y -i video_no_sub.mp4 \
  -vf "subtitles='srt_path':force_style='FontSize=13,FontName=Microsoft YaHei,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,Outline=2,Shadow=1,MarginV=22,Bold=1'" \
  -c:v libx264 -preset slow -crf 17 \
  -c:a copy -pix_fmt yuv420p -movflags +faststart \
  output.mp4

멀티 플랫폼 내보내기

플랫폼해상도비율재생 시간 제한
YouTube1920x108016:9제한 없음
위챗 비디오 계정1080x19209:1660초 (권장)
샤오홍슈1080x13504:55분
Twitter/X1280x72016:92:20
LinkedIn1920x108016:910분
# 세로 화면 자르기 예제 (16:9 → 9:16)
ffmpeg -i input.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" -crf 18 vertical.mp4

품질 기준

  1. CRF 17 + slow preset — 튜토리얼 비디오 표준 품질
  2. yuv420p — 모든 플레이어 호환
  3. faststart — 웹 스트리밍 즉시 재생
  4. lanczos — 스케일링 알고리즘 우선
  5. 인코딩 2회 이하 — 세대 손실 방지
  6. 자막은 마지막에 렌더링 — 타임라인 정렬 보장

일반적인 문제

  • Windows 경로는 ffmpeg subtitles filter에서 / 사용 및 :를 \:로 이스케이프 필요
  • Whisper는 Windows에서 Windows 경로 사용 필수 (/tmp/ 사용 불가)
  • atempo 범위 0.5-2.0, 초과 시 체인 필요: atempo=2.0,atempo=1.5 = 3x
  • PIP crop 영역과 목표 창 비율이 다르면 늘어짐 발생, force_original_aspect_ratio 필수
  • auto-editor가 타임라인을 변경하면 기존 자막 전부 무효화
  • filter_complex가 너무 길면 명령줄에 전달 불가, -filter_complex_script로 파일 작성

파일 구조

video-editor-skill-pack/
├── SKILL.md                          # 본 파일
├── scripts/
│   ├── build_template.py             # ffmpeg 정밀 편집 빌드 템플릿
│   ├── transcribe.py                 # Whisper 전사 스크립트
│   ├── adjust_srt_speed.py           # SRT 타임라인 가속 조정
│   └── analyze_frames.py             # 키프레임 추출 + 분석
├── templates/
│   ├── hyperframes-config.example.json
│   └── remotion-intro/               # Remotion 인트로 템플릿 (미완성)
└── examples/
    └── tutorial-video-workflow.md     # 튜토리얼 비디오 전체 워크플로우 예제

관련 스킬