Sobre el proyecto

NymphCast es una solución de software que transforma el hardware de su elección en una fuente de audio y video para un televisor o altavoces amplificados. Permite la transmisión de audio y video a través de la red desde un dispositivo cliente o servidor multimedia, así como la transmisión de medios de Internet a un servidor NymphCast, controlado por un dispositivo cliente o directamente en el receptor. El servidor admite aplicaciones NymphCast (actualmente en vista previa) escritas en AngelScript para ampliar la funcionalidad, como el soporte de protocolos de transmisión de audio/video de terceros en el lado del servidor e interfaces de usuario personalizables en la aplicación cliente. NymphCast requiere un dispositivo cliente en todos los modos excepto en el modo GUI ('Smart TV'). La aplicación del servidor (receptor) se ejecuta en un dispositivo de destino, mientras que el dispositivo cliente funciona como control remoto. La funcionalidad principal del lado del cliente se proporciona a través de la biblioteca NymphCast. ## Escenarios de uso - **NymphCast Audio**: Modo receptor solo de audio con perfil `nymphcast_audio_config.ini`. - **NymphCast Video**: Modo receptor de audio y video con perfil `nymphcast_video_config.ini`. - **NymphCast ScreenSaver**: Similar al modo de video pero con protector de pantalla basado en imágenes cuando no se reproduce contenido, usando `nymphcast_screensaver_config.ini`. - **NymphCast GUI**: Similar al modo de video pero con modo GUI independiente (smart TV) habilitado (experimental), usando `nymphcast_gui_config.ini`. ## Puertos de red NymphCast Server usa el puerto UDP 4004 para descubrimiento y el puerto TCP 4004 para reproducción. Los sistemas que ejecutan NymphCast MediaServer también necesitan que los puertos UDP y TCP 4005 estén accesibles. Asegúrese de que estos puertos estén incluidos en las reglas del firewall si corresponde. ## Características y estado - **Transmisión de archivos** (100%): Transmisión de archivos multimedia del cliente al servidor. - **Subtítulos y transmisiones** (75%): Soporte para selección de subtítulos y transmisiones; admite subtítulos incrustados de mapa de bits (por ejemplo, PGS). Los subtítulos de texto y externos se agregarán en v0.2. - **Multidifusión** (85%): Reproducción sincronizada en varias salas (experimental en v0.1). - **MediaServer** (100%): Transmisión desde instancias de NymphCast MediaServer. - **Transmisión de URL** (100%): Transmisión desde URL. - **Soporte de códecs** (100%): Admite todos los códecs compatibles con ffmpeg. **Características experimentales:** - **SmartTV** (75%): Modo GUI independiente con GUI basada en EmulationStation integrada. - **Aplicaciones** (25%): Aplicaciones basadas en AngelScript con implementaciones de GUI basadas en CLI y HTML. - **Medios locales** (25%): Reproducción de medios locales con implementación básica en v0.2-alpha0. ## Ecosistema NymphCast - **NymphCast Server**: Punto final receptor para clientes. - **LibNymphCast**: Biblioteca para desarrollar clientes NymphCast. - **NymphCast Client**: Cliente basado en CLI. - **NymphCast Player**: Cliente gráfico basado en Qt e implementación de referencia del SDK. - **NymphCast MediaServer**: Aplicación de servidor para poner contenido multimedia a disposición de los clientes. ## Soporte de plataformas El cliente NymphCast Player se ha compilado y utilizado en Windows (7, 10), Linux (x86, ARM: Arch, Debian), Android (8+), FreeBSD (14.1) y Haiku (R1 Beta 5). El servidor funciona en cualquier plataforma compatible con un toolchain C++17 y las dependencias LibPoco y ffmpeg, incluyendo Windows, MacOS, Linux y BSD. Las plataformas probadas incluyen Windows x86_64, Linux, FreeBSD, Haiku, Raspberry Pi 4 (hasta 1080p a 24 FPS h.264) y otras con soporte variable de aceleración de hardware. ## Primeros pasos Para comenzar a usar NymphCast, necesita un dispositivo para el servidor (probablemente un SBC o sistema Linux). Las versiones están disponibles en GitHub, con paquetes para FreeBSD, Alpine Linux y PostmarketOS. También hay binarios precompilados para Android y Windows. El binario del servidor se puede iniciar con un indicador de configuración, por ejemplo, `./nymphcast_server -c nymphcast_audio_config.ini`. El servidor escucha en todas las interfaces de red y admite opciones como `-v` para la salida de versión. ## Compilación desde el código fuente Las instrucciones de compilación se proporcionan para el servidor y el reproductor en la carpeta `doc/`. El repositorio contiene el servidor, el SDK del cliente y las fuentes del cliente NymphCast Player. ## Guía del desarrollador El desarrollo se centra en el servidor y el protocolo. Se anima a terceros a contribuir con soporte de aplicaciones del lado del servidor. La documentación está alojada en el sitio web de Nyanko. ## Licencia NymphCast es completamente de código abierto bajo la licencia BSD de 3 cláusulas. El proyecto depende de donaciones a través de Ko-Fi o donación directa para apoyar el desarrollo continuo.