Об этом проекте

Castor — это утилита командной строки на Go, которая превращает любую веб-страницу со встроенным видео в поток, доступный для кастинга на ваш телевизор. В отличие от зеркалирования экрана, она извлекает фактический медиапоток, транскодирует его в соответствии с возможностями вашего дисплея и отправляет в реальном времени, сохраняя качество вместо сжатия захвата экрана. Она работает путем запуска headless-экземпляра Chrome, мониторинга сетевого трафика через Chrome DevTools Protocol и выполнения автоматизированного конвейера действий: клик по странице, переход в самый большой iframe и повторный клик в качестве запасного варианта для запуска воспроизведения. Этот подход работает на страницах, которые разрешают автоматическое воспроизведение, но может не сработать везде. Поддерживаемые протоколы кастинга включают DLNA/UPnP (широко совместим с Samsung, LG, Sony, Panasonic, Philips, Hisense, TCL, VIZIO, Sharp, а также с плеерами, такими как Kodi, VLC и Plex), Chromecast (экспериментально) и Roku (через боковую загрузку канала с использованием External Control Protocol от Roku). Инструмент предоставляет как прямой интерфейс командной строки, так и интерактивный TUI-браузер (`castor cast`). Для последнего требуется ключ API TMDB для поиска названий, которые затем сопоставляются с источниками, настроенными пользователем. Шаблоны источников позволяют пользователям подключать любой встраиваемый видеосервис, на использование которого у них есть разрешение. Дополнительные функции включают автоматически транскрибированные субтитры, встраиваемые в видео с помощью Whisper, ограничение разрешения через `max_height` и настраиваемый режим доставки (ретрансляция против загрузки устройством). Аппаратное транскодирование через VA-API на Intel поддерживается при запуске в Docker с пробросом GPU. Установка доступна через Homebrew на macOS, как предварительно собранный Docker-образ (`ghcr.io/stupside/castor`) или из исходного кода с Go 1.26+. Требуемые зависимости: Chrome/Chromium, ffmpeg 7.1+ и ffprobe 7.1+. Проект лицензирован под MIT и явно отказывается от обработки DRM или распространения защищенного контента — он транслирует только то, на что указывает пользователь.