Sobre el proyecto

Castor es una utilidad de línea de comandos basada en Go que convierte cualquier página web con video incrustado en una transmisión compatible con tu TV. A diferencia de la duplicación de pantalla, extrae la transmisión de medios real, la transcodifica para que coincida con las capacidades de tu pantalla y la envía en tiempo real, preservando la calidad en lugar de comprimir una captura de pantalla. Funciona lanzando una instancia de Chrome sin interfaz gráfica, monitoreando el tráfico de red a través del Protocolo de DevTools de Chrome y ejecutando una canalización de acciones automatizadas: hacer clic en la página, navegar al iframe más grande y hacer clic nuevamente como respaldo para activar la reproducción. Este enfoque funciona en páginas que permiten la reproducción automatizada, pero puede no tener éxito en todas partes. Los protocolos de transmisión compatibles incluyen DLNA/UPnP (ampliamente compatible con televisores Samsung, LG, Sony, Panasonic, Philips, Hisense, TCL, VIZIO, Sharp, además de reproductores como Kodi, VLC y Plex), Chromecast (experimental) y Roku (a través de un canal sideloaded que usa el Protocolo de Control Externo de Roku). La herramienta proporciona tanto una interfaz de comandos directa como un navegador TUI interactivo (`castor cast`). Para este último, una clave de API de TMDB permite buscar títulos, que luego se resuelven contra fuentes configuradas por el usuario. Las plantillas de fuentes permiten a los usuarios conectar cualquier servicio de video incrustable que estén autorizados a usar. Las características adicionales incluyen subtítulos transcritos automáticamente quemados en el video usando Whisper, límite de resolución mediante `max_height` y modo de entrega configurable (relé vs. obtención por dispositivo). La transcodificación por hardware mediante VA-API en Intel es compatible cuando se ejecuta en Docker con paso de GPU. La instalación está disponible a través de Homebrew en macOS, como una imagen Docker precompilada (`ghcr.io/stupside/castor`), o compilada desde el código fuente con Go 1.26+. Las dependencias requeridas son Chrome/Chromium, ffmpeg 7.1+ y ffprobe 7.1+. El proyecto tiene licencia MIT y rechaza explícitamente el manejo de DRM o la distribución de contenido con derechos de autor: solo transmite lo que el usuario le indica.