클로드 코드가 2TB 다큐를 혼자 편집했다

0 0

2TB 촬영본, 카메라 7대, 한·영 인터뷰. 클로드 코드에게 폴더째 맡겨 파이널컷 타임라인까지 만든 과정과 전체 시스템 구조, 아쉬운 점·좋았던 점을 정리했습니다.

Share
클로드 코드가 2TB 다큐를 혼자 편집했다

2주 동안 해외 현지에서 45분짜리 다큐를 찍었습니다. 촬영본만 2테라. 이걸 클로드 코드(Opus 5.5, high)에게 폴더째 맡겨 보았습니다. 파이널컷 프로 타임라인이 만들어질 때까지 저는 손을 대지 않았습니다.

결과부터 말하면, 완성본은 아니지만 후반 작업자가 바로 이어받을 수 있는 수준의 타임라인이 나왔습니다. 무엇을 맡겼고, 어디서 막혔는지 정리합니다.

클로드 코드가 만든 45분 다큐 타임라인 v3.4. 상단은 장별 소스 컬렉션, 하단은 영상·인터뷰·배경음악 트랙이 배치된 파이널컷 프로 화면

어떤 소스였나

항목 내용
촬영 기간·용량 2주, 총 2TB
카메라 GH6, 아이폰(블랙매직 카메라 앱), DJI 포켓3, 고프로 등 총 7대
오디오 DJI 마이크로 인터뷰 수음
인터뷰 한국어·영어 혼합, 인원이 많고 1인당 30분~1시간

사람이 하면 촬영본을 처음부터 끝까지 다시 보는 데만 며칠이 걸리는 분량입니다.

클로드 코드에게 맡긴 10단계

  1. 폴더 전체를 주고 분석 시작
  2. 콘티 작성 – 컨셉에 맞는 기획서를 만들기 위한 자료 조사까지 연동
  3. 전사, 그리고 비디오·오디오 싱크 – 인터뷰를 전사하고 카메라 영상과 마이크 오디오를 맞춰 분류
  4. 장면 인식으로 소스 분류 – 콘티의 장(章)별로 소스를 나눔
  5. 파이널컷 이벤트에 I·O·F 적용 – 쓸 구간에 시작점(I)·끝점(O)을 찍고 즐겨찾기(F)로 표시
  6. A컷·B컷 분류 – 후반 사람 편집을 돕기 위한 구분
  7. 배경음악 자동 검색·생성 – Artlist, Suno, Tonal 사운드 이펙트 연결
  8. 폰트 폴더 권한 – 지정한 폰트에 직접 접근
  9. AI 생성 구간 자동 제작 – 촬영본이 없는 구간은 힉스필드(Higgsfield)로 생성
  10. 모션 그래픽 – Remotion과 HyperFrames로 타이틀·그래픽 제작

그렇게 손 하나 대지 않고 만들어진 타임라인이 맨 위 화면입니다.

전체 시스템 구조

아래 다이어그램이 이번 작업에 쓴 시스템 전체입니다. 확대·이동할 수 있고, 상자를 누르면 어디서 오고 어디로 가는지 연결이 강조됩니다.

FCP AI 편집 시스템 다이어그램 · 확대·이동·노드 클릭 가능 · 새 창에서 크게 보기

구조는 세 겹입니다.

층 역할 개수
빌드 코어 매번 반드시 도는 가운데 줄. 촬영본에서 파이널컷 타임라인까지 9단계
플러그인 스킬 필요할 때 끼우고 빼는 기능 묶음. 음악·자막·B롤·쇼츠 등 18개
외부 소스 이미 쓰고 있는 서비스·장비·자료 11개

쉽게 말해 빌드 코어는 공장의 컨베이어 벨트, 플러그인 스킬은 벨트 옆에 붙였다 뗐다 하는 작업대, 외부 소스는 재료를 들여오는 거래처입니다. 아래에서 하나씩 풀어 보겠습니다.

1. 빌드 코어: 촬영본이 타임라인이 되기까지

순서 단계 하는 일 사용 도구
1 NAS 촬영본 GH6·포켓3·아이폰·블랙매직 앱 촬영 파일 290개를 NAS에서 읽음 NAS
2 촬영본 목록 파일마다 길이·해상도·촬영 시각 같은 정보를 뽑아 표로 정리 ffprobe → CSV (footage_inventory)
3 장면 분석 클립에서 대표 프레임을 뽑아 한 장의 시트로 만들고 Claude가 직접 봄 ffmpeg, PIL, Claude 비전
4 음성 인식 인터뷰를 단어 단위 시각까지 붙여 글로 옮김 Qwen3-ASR 1.7B + 단어 정렬
5 콘티 장(章)별 파일 ch00–09.md에 어떤 장면·어떤 말을 쓸지 작성 Claude + 서브에이전트
6 편집 빌드 사람이 읽는 장 파일을 컴퓨터가 쓰는 숫자(시작·끝 시각)로 변환 build_doc45.py
7 컷 목록 389개 세그먼트를 담은 cuts.json, 소스 사용 기록 usage.json JSON
8 FCPXML 생성 파이널컷이 읽는 프로젝트 파일(XML)로 변환 build_fcpxml.py, FCPXML 1.14
9 Final Cut Pro 시험용 보관함에 먼저 열어 확인 Final Cut Pro 12.4, open -a

핵심은 6번입니다. 콘티는 사람이 읽기 쉬운 글로 쓰고, 그 글을 스크립트가 정확한 숫자로 바꿉니다. 그래서 콘티를 고치면 타임라인이 다시 만들어집니다. 사람이 클립을 하나씩 끌어다 놓지 않는 이유가 여기에 있습니다.

2. 장면 분석: Claude가 촬영본을 "보는" 방법

2TB 영상을 AI가 전부 재생해 보는 것은 불가능합니다. 대신 이렇게 했습니다.

  • ffmpeg로 클립 길이의 40% 지점에서 프레임 한 장(384×216)을 뽑습니다.
  • PIL(파이썬 이미지 라이브러리)로 촬영일마다 6열, 최대 30칸짜리 그리드 시트를 만듭니다. 사진 앨범 한 페이지 같은 이미지입니다.
  • Claude가 이 시트를 직접 보고, 장 파일에 "7/4 2행 3번"처럼 위치로 기록합니다. grid_cells() 함수가 이 표기를 실제 클립으로 바꿉니다.
  • 빌드가 끝나면 몽타주·B롤 클립의 가운데 프레임을 서브에이전트가 다시 보고, 문맥에 맞는지 대조합니다.
  • 인터뷰 장면은 그림으로 고르지 않습니다. 음성 인식 단어로 먼저 찾고, 말이 없을 때만 프레임을 봅니다.
  • 소리가 없는 DJI 클립은 타임랩스로 보고, 프레임 3장을 확인해 꼭 필요한 장면만 씁니다.

3. 음성 인식: 한국어·영어가 섞인 인터뷰

  • 주 모델은 Qwen3-ASR 1.7B + Qwen3 ForcedAligner입니다. 애플 실리콘 맥에서 로컬로 돌리고(Silence-Cutter 파이썬 환경), 단어마다 시작 시각이 붙습니다.
  • --lang auto 옵션으로 한국어와 영어를 자동 구분합니다. 59분짜리 인터뷰가 약 25분 걸렸습니다.
  • 예비 모델은 WhisperX large-v3입니다(CPU int8, whisperx 3.8.6, torch 2.8.0).
  • 전사가 끝나면 Claude가 읽고 쓸 만한 말(사운드바이트) 목록을 만들고, 화자를 구분하고, 인식 오류를 교정합니다.

단어마다 시각이 있어서 "이 문장만 잘라 써라"가 정확한 컷이 됩니다. 앞에서 말한 전사 품질 문제는 이 단계의 한계이고, 그래서 TypeCut Pro로 따로 교정합니다.

4. 지휘자: Claude Code와 사람의 승인

벨트 위에는 지휘자가 있습니다.

  • Claude Code(Opus)가 25개 스킬과 서브에이전트를 부리며 전체를 조율하고, 콘티 장 파일을 씁니다.
  • 리서치 스킬(viral-video-research)은 yt-dlp로 유튜브 대본·메타데이터를 받고 웹을 조사해 편집 규칙을 만듭니다. 강의·채널 대본·Obsidian 노트·SRT·PDF 같은 학습 자료도 여기로 들어갑니다.
  • 사용자 승인 게이트가 있습니다. 스타일, 콘티, 곡 선택, 다운로드는 사람이 확인해야 다음으로 넘어갑니다.

5. 대사와 자막: 말을 다루는 스킬

스킬 하는 일 연결
대사 (mic-sync-dialogue) DJI Mic·Hollyland 외부 녹음기 WAV를 카메라 소리와 상호상관(두 파형을 겹쳐 가장 잘 맞는 위치 찾기)으로 싱크, EQ 적용 대화 레인으로 편집 빌드에
군더더기 컷 (fcp-cut-ums) 음성 인식 단어 시각으로 "음·어"와 긴 쉼을 찾아 제거 남길 구간(keep)을 편집 빌드에
자막 (fcp-captions) 자막과 질문 카드를 FCP Basic Title로 생성 자막 규칙을 편집 빌드에
쇼츠 (fcp-shorts) 후보 구간에 점수를 매겨 1080×1920 세로 영상 계획 9:16 플랜을 편집 빌드에

6. 화면을 채우는 스킬: B롤·AI 장면·그래픽

스킬 하는 일 연결
B롤 (fcp-broll) 그리드 시트 칸·타임랩스·스톡 영상에서 B롤 선택 cuts.json에 B롤 칸
AI 장면 자리 (ai-story-scenes) 촬영본이 없는 장면의 대기열·비용·자리 영상 관리. Higgsfield Seedance 2.0으로 생성(1080p 기준 초당 약 12크레딧), 승인 뒤에만 생성 cuts.json에 AI 자리 클립
룩·타이틀 (motionvfx-assets) motionVFX 유료 플러그인 색인. mFilmLook 룩, DesignStudio Credits 2ML7 엔딩 크레딧 FCPXML에 타이틀·룩·크레딧
렌더 제작 (import_render) HyperFrames(HTML + GSAP), Remotion(React)으로 모션 그래픽을 영상으로 렌더 파이널컷에 오버레이
스타일 프리셋 (doc_broadcast) 자막 스타일·로고·라우드니스 기준값 묶음 편집 빌드에 스타일 값
폰트 적용 (font-apply) fc-scan으로 EDIT NAS의 구름다리폰트(OTF·TTF)와 Sandoll Cloud 폰트를 색인·설치하고 정확한 폰트 이름을 찾음 스타일 프리셋에 폰트명
이벤트 정리 (fcp-event-organize) 키워드 컬렉션·스마트 컬렉션 만들기 파이널컷에 이벤트 XML

폰트 이름을 따로 찾는 이유가 있습니다. 파이널컷 XML에는 파일명이 아니라 시스템에 등록된 정확한 폰트 이름을 넣어야 하기 때문입니다.

7. 음악: 고르고, 만들고, 길이를 맞추기

① 브라우저 원격 제어(ego lite)

  • ego-browser CLI가 사용자가 로그인해 둔 ego lite 브라우저(Chromium)를 CDP(크롬을 프로그램으로 조종하는 통로)로 원격 제어합니다.
  • 전용 작업 공간(taskSpace) 안에서 Node 스크립트로 검색·클릭·다운로드합니다.
  • Artlist는 'direct download'로 WAV, 스톡 영상은 Download로 4K MP4를 받습니다. 파일명은 원본 그대로 둡니다.
  • 아이디·비밀번호는 입력하지 않습니다. 사용자가 브라우저를 직접 만지면 '계속' 신호가 올 때까지 멈춥니다.

② 곡 고르기(music-sourcing): Artlist(Max Pro 플랜, 음원·4K 스톡)에서 무드 태그로 후보를 고르고 원곡 이름을 기록합니다.

③ Suno 작곡(suno-score), 5단계

  1. Claude가 장마다 스타일 프롬프트와 길이를 suno_briefs.json에 씁니다(예: 밝은 장조 팝 오케스트라, 보컬 없음). 사용자가 확인합니다.
  2. ego-browser가 suno.com의 Advanced 모드를 채웁니다. 가사는 비우고, Duration 슬라이더는 필요한 길이 + 3초로 맞춘 뒤 Create를 누르면 테이크가 2개 나옵니다.
  3. 테이크 1을 다운로드하고(Suno Pro v6, 월 20회 한도) 두 테이크의 id를 기록합니다.
  4. fit_music.py가 앞 무음을 자르고, 비트에 맞춰 끝내고, 2.5초 페이드, −16 LUFS(음량 기준), 48kHz WAV로 정리합니다.
  5. cuts.json에 음악 베드(Music 1/2 레인, 덕킹)로 들어가 build_fcpxml을 거쳐 파이널컷에 올라갑니다.

④ 곡 구조와 길이 맞춤(fit_song.py)

  • music_struct.py가 allin1 + madmom + beat_this(음악 분석 모델, torch 기반)로 코러스·벌스·다운비트(마디 첫 박)·프레이즈·토닉(곡의 중심음)을 찾습니다.
  • 이 중 NATTEN 연산은 맥에서 돌지 않아 natten_shim.py로 torch 코드를 다시 구현했고, multiprocess=False로 돌립니다.
  • fit_song.py는 곡 속도를 바꾸지 않고 길이를 맞춥니다. 다운비트 사이를 건너뛰며 반 마디 크로스페이드로 잇거나 2마디 페이드로 끝냅니다. 마지막은 토닉으로 끝나게 하고 pedalboard로 잔향을 붙인 뒤 품질 검사를 합니다.

⑤ 토널 사운드(tonal-sound-design): Multiply Sound의 12키 효과음(Tonal Sound Effect, VIDEO NAS 보관)을 librosa로 곡의 키를 분석해 맞춥니다. 단, tonal_decide가 넣을 근거를 찾았을 때만 씁니다. 최종 믹스는 파이널컷 타임라인에서 합니다.

8. 파이널컷으로 넣고 확인하기

  • build_fcpxml은 FCPXML 1.14 형식으로 쓰고, xmllint로 DTD(파일 문법 규칙) 검증을 합니다. 모든 컷은 29.97fps 프레임 경계에 맞추고, ffmpeg loudnorm으로 음량 게인을 계산합니다.
  • 롤(역할)을 나눕니다. 타이틀·서브타이틀·이름·질문 / 비디오 / 대화·효과·음악(Music 1/2)·Tonal Sound Effects.
  • 아이폰 IMG_ 파일 중 HLG 영상만 수동으로 색 변환합니다. 실제로 쓴 소스는 모두 이벤트에 키워드 클립으로 남깁니다.
  • open -a로 시험 보관함에 먼저 불러오고, 충돌 리포트가 0건일 때만 실제 보관함에 넣습니다.
  • 예전에는 SpliceKit(FCP 12.3, JSON-RPC 포트 9876)으로 파이널컷 뷰어를 캡처해 검증했습니다.

9. 그 밖의 기술

  • 임시 내레이션은 맥 내장 음성 say -v Yuna로 만듭니다.
  • Envato Elements는 필요할 때 사용자 승인 뒤에만 씁니다.
  • 결과 공유는 Artifact(지금 보신 시스템 맵)와 Claude Docs(영상 기획서)로 합니다.

외부 소스 한눈에 보기

외부 소스 쓰임
강의·채널 대본(Obsidian·SRT·PDF) 학습 자료 → 리서치
YouTube·웹(Homebrew yt-dlp) 레퍼런스 영상·음악의 대본과 메타데이터 → 리서치
구름다리폰트(EDIT NAS) OTF·TTF → 폰트 적용
Higgsfield(Seedance 2.0, CLI·MCP) 크레딧 기반 AI 장면 생성
motionVFX 파이널컷 유료 플러그인(mFilmLook·DesignStudio)
Suno(Pro v6) 작곡, 월 20회 다운로드
ego lite(Chromium) CDP 원격 제어, ego-browser CLI
외부 녹음기(DJI Mic·Hollyland) 인터뷰 WAV
Artlist(Max Pro) 음원·4K 스톡, 원본 이름 유지
Tonal Sound Effect(Multiply Sound 12키) 키 맞춤 효과음, VIDEO NAS
렌더 엔진(HyperFrames·Remotion·GSAP) 모션 그래픽 렌더

파이널컷 이벤트에는 콘티의 장(프롤로그~에필로그), 카메라(GH6·포켓3·고프로·아이폰), 인터뷰 대상, B롤·B롤 후보까지 키워드 컬렉션이 자동으로 만들어졌습니다. 모두 클로드 코드가 만든 분류입니다.

I·O·F로 즐겨찾기 구간이 표시된 619개 클립. 쓸 부분만 추려낸 상태

아쉬웠던 점 먼저

1. 전사 품질

전사 결과에 문제가 있었습니다. 자막 길이는 하네스로 규칙을 걸면 해결될 것 같습니다. 하지만 인터뷰하신 분들의 발음이 정확하지 않은 경우가 많아, 어차피 사람이 다시 손봐야 합니다. 지금 제작 중인 TypeCut Pro로 자막만 따로 빠르게 편집하면 해결됩니다.

2. 음악을 확인 없이 올린다

Suno, Artlist처럼 이미 구독 중인 서비스에서 음원을 받든 만들든 전부 자동으로 됩니다. 문제는 듣고 확인하지 않은 채 타임라인에 올린다는 점입니다. 실제로 클로드 코드도 "제가 들을 수 없어 제목·태그·BPM·길이로만 골랐습니다"라고 밝혔습니다.

클로드 코드가 장별로 고른 Artlist 후보곡 목록. 곡명·길이·선택 이유가 정리되어 있다

그래서 음악은 반자동화가 맞습니다. 곡은 사람이 먼저 골라 두고, 덕킹이나 중저음 EQ 정리 같은 후반 사운드 작업만 자동화를 걸어 두는 편이 좋겠습니다.

인터뷰 구간에 맞춰 키프레임으로 음량이 조절된 배경음악 트랙

3. 카메라 시간 설정이 생명

카메라의 타임코드나 시계가 정확하지 않으면 시간대별 분류가 안 됩니다. 촬영 전 카메라 세팅이 중요합니다. 이번에도 2주 촬영본 가운데 카메라 한 대의 시간이 설정되어 있지 않아, 그 소스는 파일 메타데이터를 따로 수정해야 했습니다.

4. 다이얼로그와 음악의 밸런스

음량 기준을 따로 교육하지 않았더니 대사와 음악의 밸런스가 좋지 않았습니다. 이 부분은 수작업이 필요합니다. 업로드하는 플랫폼마다 기준 음량이 다르기 때문에, 기준값을 정해 주는 교육이 먼저 필요해 보입니다.

좋았던 점

  1. 촬영본 전체를 다시 보지 않아도 됩니다. 시간과 에너지가 크게 줄어듭니다.
  2. 콘티 작업이 즐겁습니다. 클로드 코드와 함께 영상 콘티를 짜니 머리 터질 일이 없습니다.
  3. I·O·F로 쓸 것만 추리는 작업이 사라집니다. 편집자라면 이게 얼마나 큰지 아실 겁니다. 소리 질러!
  4. 자막 번역까지 해 줍니다. 후반 보정이 필요하거나 서드파티 앱으로 보완해야 하지만, 출발점이 다릅니다.
  5. 이미 구독 중인 서비스와 연동됩니다. ego-lite 브라우저로 연결해 다운로드부터 타임라인 배치까지 바로 이어집니다.
  6. 유튜브 링크를 주면 알아서 받아 배경음악으로 활용하기도 합니다.

그래서 완성이었나

아닙니다. 이렇게 만든 영상을 리뷰해 보니 부족한 부분이 여전히 많았습니다. 특히 B롤 가운데 어색한 장면들이 있었습니다. 이것 역시 "맥락에 최대한 맞는 소스를 넣어야 한다"고 다시 교육했습니다.

그리고 지금까지의 모든 지시는 카테고리별로 나눠 스킬로 만들어 두었습니다.

토큰은 얼마나 들었나

가능하면 파이썬 코드나 로컬 AI 모델로 처리하라고 지시했습니다. 덕분에 작업 중 맥북이 이륙하려고 한다는 단점이 있습니다.

모든 일을 클로드 코드가 직접 하면 토큰이 꽤 들 수 있습니다. 하지만 파이썬 코드로 처리되는 부분이 의외로 많았고, 작업 최적화도 Opus 5.5가 알아서 진행해서 생각보다 토큰을 많이 먹지 않았습니다.

궁금한 점은 댓글로 남겨 주세요.

조회 0