OpenReels(AI 쇼츠 자동 생성 파이프라인)와 같은 Remotion 렌더링 스택 위에 CapCut 스타일의 수동 타임라인 편집기를 얹은 로컬 웹 앱입니다. 브라우저에서 편집하고, 내 PC에서 MP4로 렌더링합니다. 어떤 파일도 외부로 나가지 않습니다.
git clone https://github.com/openerai/ReelCut.git
cd ReelCut
npm install
npm run dev브라우저에서 http://localhost:5173 을 열면 편집기가 실행됩니다.
Windows에서는 ReelCut-시작.cmd 더블클릭으로도 실행할 수 있습니다 (브라우저 자동 오픈).
첫 MP4 내보내기 시 렌더용 Chrome Headless Shell(약 108MB)이 자동으로 한 번 다운로드됩니다. 모든 처리(편집·렌더링·미디어)는 100% 내 컴퓨터에서만 이루어집니다.
- 멀티트랙 타임라인: 텍스트/오버레이/메인/오디오 트랙, 트랙 추가·삭제
- 클립 편집: 드래그 이동(트랙 간 이동 포함), 양끝 트림, 분할(S), 복제(Ctrl+D), 스냅, Ctrl+휠 줌
- 미리보기 직접 조작: 캔버스에서 클립 클릭 선택, 드래그로 위치 이동, 핸들로 크기 조절
- 텍스트: 한글 폰트 5종(노토 산스·블랙 한 산스·도현·나눔 펜·Bebas), 외곽선/배경/정렬, 등장 애니메이션(페이드·슬라이드·팝), 스타일 프리셋
- 비디오/오디오: 볼륨, 음소거, 배속(0.25–3×), 페이드 인/아웃, 채우기/맞추기
- 변형: 위치·크기·회전·불투명도
- 화면 비율: 9:16 / 16:9 / 1:1 / 4:5
- 클립 우클릭 메뉴: 오디오 분리(영상 소리를 별도 오디오 클립으로 추출 + 원본 음소거), 음소거, 분할, 복제, 삭제 — 타임라인·미리보기 양쪽에서 동작
- 트랙 제어: 트랙별 음소거(🔊/🔇)·숨김(👁/🙈), 스냅(자석) 토글
- 패널 크기 조절: 미리보기/타임라인 사이 스플리터 드래그로 편집창 높이 조절(더블클릭 = 기본 크기), 트랙 행 높이 3단계(좁게/보통/넓게)
- 실행취소/재실행(Ctrl+Z / Ctrl+Shift+Z), 자동 저장(브라우저), 프로젝트 파일(.reelcut.json) 저장/열기
- 내보내기: MP4(H.264) · WebM(VP9) · GIF · MP3/WAV 오디오 추출, 해상도(원본/⅔/½/¼)·화질(고/표준/저)·프레임(24/30/60) 선택, 예상 용량 표시, 여러 작업 순차 큐 처리 →
exports\폴더 (첫 실행 시 렌더용 브라우저 자동 다운로드)
| 키 | 동작 |
|---|---|
| Space | 재생/일시정지 |
| S | 재생 헤드에서 분할 |
| Delete | 선택 클립 삭제 |
| Ctrl+Z / Ctrl+Shift+Z | 실행취소 / 재실행 |
| Ctrl+D | 복제 |
| Ctrl+휠 | 타임라인 줌 |
src/
remotion/ # 프로젝트 JSON → 영상 (미리보기·내보내기 공용)
components/ # 타임라인, 미리보기, 인스펙터, 미디어 패널 …
store.ts # zustand 상태 + 실행취소 히스토리
server/index.mjs # 업로드 · 샘플 생성 · @remotion/renderer 렌더 잡
media/ # 가져온 미디어 exports/ # 내보낸 MP4
- 클립 간 트랜지션(크로스페이드·슬라이드), 필터/조정(밝기·대비), 오디오 파형 표시
- 키프레임 애니메이션, 자동 자막(Whisper), OpenReels 파이프라인으로 초안 생성 → ReelCut에서 자유 편집
- Electron 패키징(단일 exe)
- OpenCut 리라이트에서 참고할 아이디어: 플러그인 API, 헤드리스 배치 렌더링