Sobre el proyecto

rtmp-rs es una biblioteca asíncrona de servidor y cliente RTMP escrita en Rust y construida sobre el entorno Tokio. Permite a los desarrolladores recibir transmisiones en vivo desde codificadores como OBS o FFmpeg, retransmitirlas a espectadores, extraer transmisiones de servidores externos o publicar en puntos finales RTMPS como YouTube y Twitch. La biblioteca admite tanto RTMP heredado (H.264 y AAC) como Enhanced RTMP v2, lo que permite el uso de códecs modernos como HEVC, AV1, VP9, VP8, Opus, FLAC, AC-3 y E-AC-3. Está diseñada para manejar con gracia las particularidades reales de los codificadores, incluidos nombres de aplicación vacíos y regresiones de marcas de tiempo. Características principales: - Caché de GOP: entrega un fotograma clave de inmediato a los espectadores que se unen tarde. - Manejo de retroceso (backpressure): elimina fotogramas de video para suscriptores lentos mientras mantiene el audio continuo. - Compartición sin copia (zero-copy): las cargas útiles multimedia se pasan como bytes::Bytes para compartir fotogramas entre suscriptores sin copiarlos. - Soporte RTMPS: RTMP seguro sobre TLS utilizando rustls y webpki-roots. - Callbacks extensibles: el rasgo RtmpHandler proporciona ganchos personalizables para autenticación, análisis de metadatos y procesamiento por fotograma.