GitHub - OpenCut-app/OpenCut: The open-source CapCut alternative
핵심 포인트
- 1OpenCut은 사용자의 개인 정보 보호와 무료 기능 제공을 핵심 가치로 하는 웹, 데스크톱 및 모바일용 오픈소스 비디오 편집기입니다.
- 2이 프로젝트는 timeline-based editing, multi-track 지원, 실시간 미리보기 등의 기능을 제공하며, Next.js를 기반으로 Bun과 Docker를 활용하여 개발 및 self-hosting이 가능합니다.
- 3기여자들은 timeline 기능, project management, 성능 향상 등에 집중할 수 있으나, 현재 재작업 중인 preview panel 및 export 기능에 대한 기여는 당분간 권장되지 않습니다.
OpenCut은 웹, 데스크톱, 모바일 환경을 위한 무료 오픈 소스 비디오 편집기입니다. 이 프로젝트는 사용자 프라이버시(비디오가 장치에 로컬로 저장됨)를 최우선으로 하며, CapCut과 같은 기존 편집기의 유료 기능을 무료로 제공하고, 사용자들이 쉽게 사용할 수 있는 단순한 인터페이스를 목표로 합니다.
핵심 기능으로는 타임라인 기반 편집, 다중 트랙 지원, 실시간 미리보기, 워터마크나 구독료 없음 등이 있습니다. 분석 기능은 Databuddy를 통해 100% 익명으로 비침습적으로 제공되며, 블로그는 Marble이라는 Headless CMS로 구동됩니다. Vercel과 fal.ai가 오픈 소스 프로젝트를 지원하고 있습니다.
기술 스택 및 아키텍처는 다음과 같습니다.
프로젝트의 주요 구성 요소는 apps/web/ 디렉토리에 위치한 Next.js 웹 애플리케이션입니다. 이 애플리케이션 내에서 UI 및 에디터 컴포넌트는 src/components/에, 사용자 정의 React hooks는 src/hooks/에, 유틸리티 및 API 로직은 src/lib/에, 상태 관리(Zustand 등 사용)는 src/stores/에, 그리고 TypeScript 타입 정의는 src/types/에 각각 구조화되어 있습니다.
개발 환경 설정 시에는 Bun 패키지 매니저가 필수이며, 데이터베이스(DB) 및 Redis 캐시를 로컬에서 실행하기 위해 Docker 및 Docker Compose 사용이 권장됩니다. 프런트엔드 기능 개발에만 집중한다면 Docker는 선택 사항입니다.
개발 환경을 시작하려면 저장소를 포크(fork)하고 클론(clone)한 다음, apps/web/.env.example 파일을 apps/web/.env.local로 복사하여 환경 변수를 설정해야 합니다. 이후 docker compose up -d db redis serverless-redis-http 명령을 사용하여 데이터베이스와 Redis 서비스를 시작하고, bun install로 의존성을 설치한 다음, bun dev:web으로 개발 서버를 실행합니다. 애플리케이션은 http://localhost:3000에서 접근 가능합니다. .env.example 파일은 Docker Compose 설정과 일치하는 기본값을 포함하고 있어 별도의 수정 없이 작동합니다.
전체 애플리케이션을 Docker를 사용하여 자체 호스팅하려면 docker compose up -d 명령을 실행하면 됩니다. 이 경우 애플리케이션은 http://localhost:3100에서 접근할 수 있습니다.
기여(contributing)는 적극적으로 환영됩니다. 현재 개발 및 리팩토링 중인 부분이 있음에도 불구하고, 타임라인 기능, 프로젝트 관리, 성능 최적화, 버그 수정, 그리고 미리보기 패널 외부의 UI 개선에 기여할 수 있습니다. 반면, 미리보기 패널의 기능 강화(글꼴, 스티커, 효과 등)와 내보내기 기능은 새로운 이진 렌더링(binary rendering) 접근 방식으로 리팩토링 중이므로 당분간 기여를 피하는 것이 좋습니다. 자세한 설정 및 개발 가이드는 CONTRIBUTING.md 파일에서 확인할 수 있습니다.
라이선스는 MIT LICENSE를 따릅니다.