프로젝트 소개
Castor는 Go 기반의 명령줄 유틸리티로, 내장 비디오가 있는 모든 웹 페이지를 TV에서 캐스팅 가능한 스트림으로 변환합니다. 화면 미러링과 달리 실제 미디어 스트림을 추출하여 디스플레이의 기능에 맞게 트랜스코딩하고 실시간으로 전송하므로, 화면 캡처를 압축하는 대신 품질을 보존합니다.
이 도구는 헤드리스 Chrome 인스턴스를 실행하고 Chrome DevTools Protocol을 통해 네트워크 트래픽을 모니터링한 다음, 자동화된 작업 파이프라인을 실행합니다: 페이지를 클릭하고, 가장 큰 iframe으로 이동하며, 재생을 트리거하기 위해 대체로 다시 클릭합니다. 이 접근 방식은 자동 재생을 허용하는 페이지에서 작동하지만 모든 곳에서 성공하지는 않을 수 있습니다.
지원되는 캐스팅 프로토콜은 DLNA/UPnP(삼성, LG, 소니, 파나소닉, 필립스, 하이센스, TCL, VIZIO, 샤프 TV 및 Kodi, VLC, Plex 같은 플레이어와 광범위하게 호환), Chromecast(실험적), Roku(Roku의 외부 제어 프로토콜을 사용하는 사이드로드 채널을 통해)입니다.
이 도구는 직접 명령 인터페이스와 대화형 TUI 브라우저(`castor cast`)를 모두 제공합니다. 후자의 경우 TMDB API 키를 사용하여 제목을 검색하고, 사용자 구성 소스에 대해 해석합니다. 소스 템플릿을 통해 사용자는 사용 권한이 있는 모든 임베드 가능한 비디오 서비스를 연결할 수 있습니다.
추가 기능으로는 Whisper를 사용하여 비디오에 구운 자동 전사 자막, `max_height`를 통한 해상도 상한, 구성 가능한 전달 모드(릴레이 대 디바이스 가져오기)가 있습니다. Intel에서 VA-API를 통한 하드웨어 트랜스코딩은 GPU 패스스루로 Docker에서 실행할 때 지원됩니다.
설치는 macOS에서 Homebrew, 사전 빌드된 Docker 이미지(`ghcr.io/stupside/castor`), 또는 Go 1.26+로 소스에서 빌드할 수 있습니다. 필요한 종속성은 Chrome/Chromium, ffmpeg 7.1+, ffprobe 7.1+입니다. 이 프로젝트는 MIT 라이선스이며 DRM 처리나 저작권 콘텐츠 배포를 명시적으로 부인합니다—사용자가 지정한 것만 캐스팅합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.