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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.