Mon Monteur Vidéo — 동영상 편집자은(는) 무엇을 하나요?
확인된 파일을 제공하는 편집자이며, 초안이 아닙니다. 이 스킬은 전문 스킬을 대체하지 않습니다. 대신 어떤 스킬을 어떤 순서로 사용할지 결정하고, 실제 프로젝트에서 배운 규칙을 적용합니다.
1. 편집 전 준비
- 브리프와 소스 자료를 읽습니다. 어떤 자료가 있는지 나열합니다: 포스터(PSD, PDF, JPG), 로고, 사진, 러시, 제공된 음악, 음성, 텍스트.
- 도구를 확인합니다(
references/outillage.md): Node 22+, FFmpeg, Python, Premiere 실행 여부. 시스템 FFmpeg가 없으면 패키지(imageio-ffmpeg, Remotion)의 것을 사용하고 중단하지 않습니다. - 세 가지를 사용자와 함께 결정합니다. 누락된 경우 한 번에 질문: 동영상의 핵심 메시지, 출력 형식(16:9, 9:16, WhatsApp), 목표 길이. 나머지는 자체적으로 결정합니다.
- 내용에 대해 창작하지 않습니다. 날짜, 장소, 가격, 번호, 이름, 직함은 소스나 사용자에게서 가져옵니다. 고유명사가 의심스러우면 질문합니다.
2. 엔진 선택
| 상황 | 엔진 | 로드할 스킬 |
|---|---|---|
| 새로운 모션 디자인, 프로모션, 설명, 세로형 영상 | HyperFrames (HTML을 영상으로 렌더링) | /hyperframes, 이후 /hyperframes-cli |
| 효과, 전환, 자막 스타일, '명명된' 그래픽 | HyperFrames 레지스트리 (수동 코딩 전) | /hyperframes-registry |
| 음악, 효과음, 음성, 전사, 배경 제거, 색보정 | 미디어 도구 | /media-use |
| 수정할 기존 Remotion 프로젝트 | Remotion 유지; 요청된 경우에만 마이그레이션 | /remotion-to-hyperframes (마이그레이션용) |
| 참조 영상을 동일하게 재현 | 프레임별 역공학 | /reverse-any-video |
| Premiere에서 이미 편집된 영상의 마무리, 내보내기, 자막 | MCP premiere-pro | — |
| 순수 절차적 렌더링 (로고 공개, 사이트 캡처), 브라우저 불필요 | Python Pillow + FFmpeg, 프레임별 | — |
| AI 생성 아바타 영상 | Higgsfield 또는 HeyGen (비용 동의 후) | /higgsfield-generate, /media-use |
선택 규칙: 결과물을 사용자가 이후에 편집할 수 있도록 하는 가장 간단한 엔진. 각 엔진의 세부 사항과 함정: references/moteurs.md.
3. 단일 시간 소스
편집 실패의 가장 큰 원인은 사운드와 이미지가 다른 타이밍을 읽기 때문입니다.
- 타이밍 파일(
timing.mjs,plan.json)을 하나 작성합니다: 각 장면의 지속 시간과 화면에서 무언가 발생하는 지점(cues) 목록. - 이미지 와 오디오 스크립트가 이 파일을 가져옵니다. 절대 지속 시간을 두 곳에 복사하지 않습니다.
- 컴포지션에서 총 지속 시간을 계산한 다음, 그 지속 시간에 맞게 음악을 생성합니다(Remotion의 경우
scripts/duree-composition.mjs). - 제공된 음악: 템포를 측정한 다음 마디 수를 셉니다.
시간 = 60 × fps / BPM프레임,마디 = 4 × 시간. 각 컷은 첫 박에 맞춥니다; 첫 박의 오프셋(종종 0.02~0.03초)을 기록합니다. - 버전(여러 발표자, 여러 제안): 타이밍 파일에 변형 객체, 변형 및 형식당 하나의 컴포지션, 이를 반복하는
render스크립트.
4. 리듬과 내용
- 읽을 시각 자료당 약 5초. 너무 빠르다는 것이 가장 흔한 불만입니다. 짧은 세로형 형식은 2~3초까지 줄일 수 있지만, 텍스트의 경우 그 이하는 안 됩니다.
- 공개 영상 = 제안, 증거, 행동 촉구. 내부 페이지(디자인 가이드라인, 서체, 문구류 목업)는 대중에게 관심이 없으므로 편집에서 제외합니다.
- 최종 행동 촉구는 5~8초 동안 유지하며, 확인된 연락처와 결제 또는 등록 수단을 포함합니다.
- 로고는 절대 수정하지 않습니다. 원본 파일(AI, PDF, SVG)에서 시작하고, 색상을 변경하거나 다시 그리지 않으며, 나타나는 애니메이션(마스크로 공개)만 적용합니다. 로고의 마지막 프레임은 원본과 동일합니다.
- 화면 속 인물: 이름 + 직함 레이블, 올바른 사람을 가리키고(타이밍 파일의 사진 픽셀 좌표), 카메라가 각 사람을 비춘 후 와이드 샷.
- PSD/PDF로 제공된 포스터: 기억에 의존하여 재구성하기보다 레이어와 배경을 추출하고, 색상과 서체를 사용합니다.
- 안전 영역: 내용은 프레임의 90% 내, 핵심 텍스트와 자막은 80% 내. 9:16에서는 하단(TikTok, Reels 인터페이스)과 상단을 비워둡니다.
5. 사운드
세부 사항: references/son.md.
- 약 15초 이상이며 이야기를 전달하는 영상에는 음악과 보이는 동작에 대한 효과음이 포함됩니다(무음 요청 제외).
- 저작권: 사용자 제공 음악, 라이선스 카탈로그, 또는 스크립트로 합성된 음악(구성상 무료). 온라인에서 가져온 상업용 트랙은 절대 사용하지 않습니다.
- 효과음은 타이밍 파일의
cues에 맞추며, 주제 분위기에 맞습니다(케이터링 업체는 주방, 앱은 종이 및 알림 소리). - 초기 믹스: 음악 0.62, 효과음 0.85, 부드러운 리미터
tanh(scripts/mix.mjs). 음성이 있는 경우 음악을 낮춤(덕킹); 음성은 전화기 스피커에서도 명료해야 합니다. - 내레이션: 파일당 한 줄, 그런 다음 단어 단위 전사를 통해 실제 음성에 맞춰 텍스트와 자막을 맞춥니다(추정치 아님).
6. 촬영된 대화: 자르기와 자막
세부 사항: references/parole.md.
- 단어별 타임스탬프로 전사(
npx hyperframes transcribe, Whisper 또는 Parakeet). - 전사 수정: 고유명사, 약어, 동음이의어. 엔진은 거의 항상 이름과 약어를 잘못 인식하므로 각 문장을 다시 읽습니다.
- 침묵 자르기:
scripts/coupe-silences.py는 0.35초 미만으로 분리된 단어를 그룹화하고 앞에 0.08초, 뒤에 0.15초를 추가합니다. 완전한 문장으로 끝내고, 들을 수 없는 끝부분은 제거합니다. - 이야기를 전달하기 위해 테이크 순서 지정: 짧고 따뜻한 도입부, 중간이나 끝에 긴 메시지(결론이 잘 나는 경우).
- 자막: 1
2줄, 줄당 ≤ 42자, 카드당 13.5초, 단어 그룹 중간에서 자르지 않음..srt도 제공합니다.
7. 제공 전 확인
오류 없이 렌더링되었다는 이유만으로 '완료'를 알리지 않습니다.
- 키 프레임에서 이미지 추출: 시작, 각 전환, 각 장면 중간, 마지막 프레임. 살펴봅니다. 리듬 확인에는 콘택트 시트로 충분합니다.
- 확인: 텍스트 읽기 가능 및 오타 없음, 가장자리 잘림 없음, 올바른 사람에게 올바른 이름, 로고 손상 없음, 마지막 프레임 깔끔.
- 파일 확인: 비어 있지 않음, 지속 시간 = 예상 지속 시간, 오디오 트랙 존재,
yuv420p, 특정 컷에서 동기화된 사운드. - HyperFrames:
npx hyperframes check --json오류 없음, 이후snapshot. Remotion: 키 프레임에서remotion still. - 미리보기를 보여주고 명시적으로 끝까지 진행하라는 요청이 없는 한 최종 렌더링 또는 게시 전에 승인을 기다립니다.
8. 내보내기 및 버전 생성
세부 사항 및 명령: references/export.md.
| 출력 | 프레임 | 초기 설정 |
|---|---|---|
| 마스터, YouTube, Facebook | 1920×1080, 30fps | H.264, CRF 16–18, yuv420p, AAC 192k |
| TikTok, Reels, Shorts | 1080×1920, 30fps | H.264, CRF 20–23 |
| WhatsApp, 직접 전송 | 1280×720 또는 720×1280 | H.264, CRF 26–28, AAC 128k, +faststart, < 100 MB (상태: ≤ 60초) |
| 웹사이트 | 페이지에 따라 | 경량 버전 + 썸네일 이미지 |
- 9:16은 재구성되며, 자르지 않습니다: 동일한 장면, 세로 레이아웃, 더 큰 텍스트.
- 내용과 대상에 따라 파일 이름 지정:
subject-facebook.mp4,subject-tiktok.mp4,subject-whatsapp.mp4. 출력은out/또는livrables/, 소스는source/. - 사용자가 수동으로 편집하려는 경우에만 Premiere 사용: 렌더링, 오디오 스템 및
.srt를 가져옵니다.
9. 여러 세션 작업
한 번에 하나의 세션만 프로젝트 디렉토리에 씁니다. 동일한 디렉토리의 두 세션은 서로 덮어씁니다. 긴 렌더링은 백그라운드에서 분리되어 실행되며, 다시 읽을 수 있는 로그가 생성됩니다.
스킬 파일
references/moteurs.md— 각 엔진의 장점, 함정 및 명령references/son.md— 합성 음악, 효과음, 믹싱, 음성references/parole.md— 전사, 수정, 침묵 자르기, 자막references/export.md— 버전 생성 및 확인을 위한 FFmpeg 명령references/outillage.md— 관리자 권한 없이 설치, Premiere MCPreferences/lecons.md— 실제 프로젝트에서 받은 피드백, 각 전달 전에 다시 읽기scripts/mix.mjs,scripts/coupe-silences.py,scripts/duree-composition.mjs,scripts/planche-contact.sh