프로젝트 소개
Textream은 Mac, iPhone, iPad용으로 설계된 무료 오픈소스 텔레프롬프터로, 스트리머, 인터뷰어, 발표자, 팟캐스터를 대상으로 합니다. 세 가지 읽기 모드를 제공합니다: 단어 추적(말할 때 각 단어 강조), 클래식(일정 속도 자동 스크롤), 음성 활성화(말하는 동안 스크롤). Mac 앱은 Dynamic Island 스타일 오버레이, 드래그 가능한 플로팅 창, 또는 Sidecar iPad의 전체 화면으로 텍스트를 표시합니다. iOS 앱은 카메라 근처 읽기와 발표자 전용 카메라 녹화를 추가합니다.
주요 기능은 다음과 같습니다:
- **미러 모드** — 텔레프롬프터 유리용으로, 가로 방향에서 프롬프트를 수평, 수직 또는 양방향으로 뒤집으며, 실시간 미러, 위치, 텍스트 크기, 속도, 재생 제어를 위한 컴팩트 버튼을 제공합니다.
- **아이컨택 읽기 위치** — 활성 줄이 기본적으로 전면 카메라 바로 아래에 위치하거나 중앙에 배치할 수 있습니다.
- **읽는 동안 선택적 카메라** — 프롬프트 뒤에 카메라를 표시하거나 숨깁니다.
- **셀카 비디오 녹화** — 카메라 비디오와 마이크 오디오를 캡처하며, 전면/후면 카메라 전환을 지원하고, 녹화 갤러리와 함께 사진에 저장합니다.
- **발표자 전용 프롬프트** — 스크롤 프롬프트가 화면에 표시되지만 저장된 비디오에는 포함되지 않습니다.
- **일치하는 글꼴** — 두 플랫폼 모두에서 Sans, Serif, Mono, OpenDyslexic을 제공합니다.
- **음성 인식** — Mac, 언어, 시스템 가용성에 따라 온디바이스 또는 Apple 처리 방식이며, 클래식 모드에서는 마이크가 필요하지 않습니다.
- **디스플레이 옵션** — 노치에 고정, 플로팅 창, 선택한 디스플레이의 전체 화면; 텍스트 영역 높이(100–400 px)와 글꼴 크기(XS~XL) 조절 가능.
- **화면 공유에서 숨기기** — 오버레이가 화면 녹화나 화상 통화에 나타나지 않도록 방지합니다.
- **원격 연결** — 로컬 네트워크 브라우저(HTTP + WebSocket)를 통해 모든 기기에서 텔레프롬프터를 볼 수 있으며, QR 코드 접근, 실시간 동기화, 원격 기기에 앱이 필요 없습니다.
- **디렉터 모드** — 디렉터가 모든 브라우저에서 실시간으로 스크립트를 작성, 편집, 푸시할 수 있으며, 전용 HTTP + WebSocket 서버(기본 포트 7575), 실시간 텍스트 편집, 읽기 잠금 강조, 10Hz 실시간 상태 스트리밍을 제공합니다.
- **PowerPoint 노트 가져오기** — .pptx 파일을 드롭하여 발표자 노트를 페이지로 추출합니다.
- **다중 페이지 지원** — 자동 진행과 함께 페이지 간 이동.
- **실시간 파형** — 시각적 음성 활동 표시기.
- **개인정보 보호** — 계정, 광고, 분석, Textream 운영 클라우드 서비스 없음; 음성 인식은 처리를 위해 오디오를 Apple에 보낼 수 있습니다(개인정보 처리방침 참조).
- **오픈소스** — MIT 라이선스.
개발자를 위해 디렉터 모드 API는 로컬 네트워크에서 HTTP 서버와 WebSocket 서버를 노출합니다. 내장 웹 UI는 `http://<mac-ip>:<http-port>`에서 제공되며, WebSocket 엔드포인트는 `ws://<mac-ip>:<ws-port>`입니다. 인증에는 디렉터 페이지의 HTML에서 추출한 64자 토큰이 필요합니다. 클라이언트는 연결 후 5초 이내에 `{"type":"auth","text":"<token>"}`와 같은 JSON 메시지를 보냅니다. 명령에는 `start`(텍스트 교체 및 단어 추적 시작), `updateText`(읽기 위치를 유지하면서 읽지 않은 텍스트 편집), `stop`이 포함됩니다. 서버는 약 100ms마다 `words`, `highlightedCharCount`, `totalCharCount`, `fontColor`, `cueColor`, `audioLevels`와 같은 필드를 포함한 상태 프레임을 브로드캐스트합니다. README에 최소 Python 클라이언트 예제가 제공됩니다.
소스에서 빌드하려면 Xcode 26 이상이 필요하며, macOS 타겟은 Swift 5 언어 모드를 사용합니다. iOS의 경우 iOS 26 SDK와 시뮬레이터 런타임이 필요하며, 카메라, 마이크, 녹화, 사진 저장을 확인하려면 실제 기기가 필요합니다. 저장소를 클론하고 `Textream/Textream.xcodeproj`를 열고 적절한 스킴(macOS는 Textream, iOS는 TextreamiOS)을 선택한 후 ⌘R로 실행합니다. iOS의 경우 `dev.fka.textream`을 사용할 수 없으면 번들 식별자를 변경해야 할 수 있으며, 기기에서 개발자 모드를 활성화해야 합니다.
앱은 `textream://read?text=...` URL 스킴과 macOS 서비스도 등록하여 모든 앱에서 선택한 텍스트를 Textream으로 보낼 수 있습니다. 원래 아이디어는 Semih Kışlar에게 있으며, 앱은 Fatih Kadir Akin이 제작했습니다. 개인정보 보호 및 지원 페이지는 textream.net에서 제공됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.