Protocolo RTMP / RTMPS

RTMP (Real-Time Messaging Protocol) está disponible en Perfect Streamer tanto para la recepción (input) como para la transmisión (output), basado en FFmpeg avformat. Los escenarios típicos son la publicación de un canal de televisión en plataformas externas (YouTube, Facebook y cualquier receptor RTMP) y la recepción de un flujo desde un servidor RTMP. La variante segura RTMPS (RTMP sobre TLS) se admite en ambos sentidos; en este caso, Perfect Streamer actúa como cliente TLS.

RTMP es un protocolo single-program, por lo que input y output RTMP solo están disponibles para flujos SPTS.

RTMP input (recepción)

Perfect Streamer se conecta como cliente RTMP a la fuente rtmp:// o rtmps:// indicada y toma el flujo (modo pull). Los flujos elementales recibidos (vídeo H.264 o HEVC, audio AAC) se remultiplexan en el MPEG-TS integrado y se inyectan en el pipeline del flujo. No existe un modo de espera de una publicación entrante (listen / push): la recepción siempre la inicia el propio Perfect Streamer.

Ajustes de RTMP input:

  • URL — la dirección completa de la sesión RTMP, por ejemplo rtmp://origin.example/live/streamkey. Se admiten los esquemas rtmp y rtmps.

  • Bind Interface — la interfaz local o la dirección IP desde la que se establece la conexión saliente. De forma predeterminada, la elige el enrutamiento del sistema operativo.

  • Timeout — tiempo de espera de conexión y lectura, de 1 a 120 segundos. Predeterminado: 10.

  • TLS Verify — para rtmps, verificar el certificado del servidor. Desactivado de forma predeterminada.

  • Trace — registro detallado para el diagnóstico de la conexión.

RTMP output (publicación)

Perfect Streamer publica un flujo SPTS en un receptor RTMP externo: se conecta como cliente RTMP a la dirección de publicación de la plataforma y envía el flujo (modo publish). RTMP es un formato single-program: se publica un solo vídeo (H.264 o HEVC) y no más de una pista de audio AAC. Si la fuente tiene varias pistas, se selecciona una pista de vídeo y una de audio; las sobrantes e incompatibles (por ejemplo, audio que no sea AAC) no se transmiten. Una fuente multipista puede acotarse de antemano con los filtros PID Accept / PID Reject (consulte «Filtrado y modificación de MPEG-TS»).

El vídeo HEVC se publica mediante Enhanced RTMP, activado con la opción Allow HEVC. Si la plataforma receptora no admite HEVC, desactive la opción: entonces solo se publica H.264.

Antes de iniciar la publicación, se analiza el flujo. Si no hay vídeo compatible, la publicación no se realiza. El resultado del análisis está disponible en las estadísticas del flujo: un indicador de la posibilidad de publicación, los códecs de vídeo y audio seleccionados, la lista de pistas descartadas y el estado de la conexión.

Ajustes de RTMP output:

  • URL — la dirección de publicación de la plataforma, por ejemplo rtmp://a.rtmp.youtube.com/live2/<stream-key>. Se admiten los esquemas rtmp y rtmps.

  • Bind Interface — la interfaz local o la dirección IP de la conexión saliente. Predeterminado: el enrutamiento del sistema operativo.

  • Timeout — tiempo de espera de conexión y transmisión, de 1 a 120 segundos. Predeterminado: 10.

  • Allow HEVC — permitir la publicación de vídeo HEVC mediante Enhanced RTMP. Activado de forma predeterminada; al desactivarlo, solo se transmite H.264.

  • TLS Verify — para rtmps, verificar el certificado del servidor. Desactivado de forma predeterminada.

  • Trace — registro detallado para el diagnóstico de la publicación.

Ejemplos de direcciones de publicación:

  • YouTube — rtmp://a.rtmp.youtube.com/live2/<stream-key>

  • Facebook — rtmps://live-api-s.facebook.com:443/rtmp/<stream-key>