openscreen-main을 참고해서 Flutter + macOS 네이티브로 다시 만들고 있는 macOS 전용 화면 녹화/편집 앱입니다.
- OpenScreen 스타일 launch HUD UI 구현 완료
- macOS 네이티브 화면 녹화 구현 완료
- 디스플레이/창 선택 구현 완료
- 시스템 오디오 / 마이크 / 커서 / 클릭 하이라이트 구현 완료
- 녹화 후 우리 앱 내부 에디터 진입 구현 완료
- OpenScreen 편집 개념을 옮긴 Dart 프로젝트 모델 구현 완료
- 기본 에디터 셸 구현 완료
- 실제 비디오 플레이백 엔진 구현 완료
- 트림 / 속도 변경의 실제 export 반영 1차 구현 완료
lib/domain: 에디터 프로젝트와 녹화 소스/권한 같은 도메인 모델, 저장소 인터페이스lib/data: macOS MethodChannel 기반 저장소 구현lib/application: 화면별 ViewModel. 권한 요청, 녹화 상태, 에디터 프로젝트 변경, export 흐름 담당lib/main.dart,lib/editor_page.dart: Flutter 위젯 계층. 렌더링, 네비게이션, 스낵바 같은 view 책임만 처리
기존 editor_models.dart, recorder_api.dart는 외부 import 호환을 위해 새 계층을 re-export합니다.
현재 상태:
- 녹화는 실제로 동작함
- 에디터에서 실제 비디오를 보며 상태를 맞출 수 있음
- 트림 / 속도 변경은 편집본 export에 반영됨
- 아직 OpenScreen 전체 기능 parity 는 아님
참고:
- 로컬 작업 디렉터리에는 OpenScreen 참고 소스가
openscreen-main/로 있을 수 있습니다. - GitHub에는 이 Flutter/macOS 앱 자체만 올리기 위해
openscreen-main/은 커밋에서 제외합니다.
- 디스플레이 전체 또는 개별 창 선택
- 시스템 오디오 캡처
- 기본 마이크 캡처
- 커서 표시 및 클릭 하이라이트
- MP4 저장
- 녹화 직후 내부 에디터 열기
- Finder 열기 / 다른 위치로 저장
- 편집 프로젝트 JSON 복사 / 클립보드에서 불러오기
- 에디터에서 현재 프로젝트 기준 편집본 export
- 줌 구간 상태
- 트림 구간 상태
- 속도 구간 상태
- 주석 구간 상태
- 크롭 상태
- 배경 프리셋
- 출력 비율
- export 포맷 / 품질 / GIF 옵션 상태
- 실제 비디오 플레이백 / 스크러빙
- 트림 / 속도 변경의 실제 export 반영
- 줌/크롭/주석을 영상에 반영하는 렌더링
- GIF export 엔진
- 웹캠 오버레이
- 프로젝트 파일 저장/불러오기 UI
- OpenScreen 수준의 전체 편집기 parity
- macOS 15 이상
- 첫 실행 시 화면 녹화 권한 허용
- 마이크 녹음이 필요하면 마이크 권한 허용
flutter run -d macos
권한을 방금 허용했는데 소스 목록이 비어 있으면 앱을 한 번 다시 실행하면 됩니다.
flutter analyze통과flutter test통과flutter build macos --debug통과