Protocolo RTMP / RTMPS

RTMP (Real-Time Messaging Protocol) está disponível no Perfect Streamer tanto para recepção (input) quanto para transmissão (output), com base no FFmpeg avformat. Os cenários típicos são a publicação de um canal de TV em plataformas externas (YouTube, Facebook e quaisquer receptores RTMP) e a recepção de um fluxo de um servidor RTMP. A variante segura RTMPS (RTMP sobre TLS) é suportada em ambas as direções; nesse caso, o Perfect Streamer atua como cliente TLS.

RTMP é um protocolo single-program, portanto input e output RTMP estão disponíveis apenas para fluxos SPTS.

RTMP input (recepção)

O Perfect Streamer conecta-se como cliente RTMP à fonte rtmp:// ou rtmps:// indicada e captura o fluxo (modo pull). Os fluxos elementares recebidos (vídeo H.264 ou HEVC, áudio AAC) são remultiplexados no MPEG-TS integrado e injetados no pipeline do fluxo. Não há um modo de espera por uma publicação recebida (listen / push) — a recepção é sempre iniciada pelo próprio Perfect Streamer.

Configurações de RTMP input:

  • URL — o endereço completo da sessão RTMP, por exemplo rtmp://origin.example/live/streamkey. São aceitos os esquemas rtmp e rtmps.

  • Bind Interface — a interface local ou o endereço IP a partir do qual a conexão de saída é estabelecida. Por padrão, é escolhida pelo roteamento do sistema operacional.

  • Timeout — tempo limite de conexão e leitura, de 1 a 120 segundos. Padrão: 10.

  • TLS Verify — para rtmps, verificar o certificado do servidor. Desativado por padrão.

  • Trace — log detalhado para diagnóstico da conexão.

RTMP output (publicação)

O Perfect Streamer publica um fluxo SPTS em um receptor RTMP externo: conecta-se como cliente RTMP ao endereço de publicação da plataforma e envia o fluxo (modo publish). RTMP é um formato single-program: é publicado um vídeo (H.264 ou HEVC) e no máximo uma faixa de áudio AAC. Se a fonte tiver várias faixas, é selecionada uma faixa de vídeo e uma de áudio; as excedentes e incompatíveis (por exemplo, áudio não AAC) não são transmitidas. Uma fonte multifaixa pode ser restringida previamente com os filtros PID Accept / PID Reject (consulte «Filtragem e modificação de MPEG-TS»).

O vídeo HEVC é publicado via Enhanced RTMP — ativado pela opção Allow HEVC. Se a plataforma receptora não suportar HEVC, desative a opção: então apenas H.264 é publicado.

Antes do início da publicação, o fluxo é analisado. Se não houver vídeo compatível, a publicação não é realizada. O resultado da análise está disponível nas estatísticas do fluxo: um indicador da possibilidade de publicação, os codecs de vídeo e áudio selecionados, a lista de faixas descartadas e o estado da conexão.

Configurações de RTMP output:

  • URL — o endereço de publicação da plataforma, por exemplo rtmp://a.rtmp.youtube.com/live2/<stream-key>. São aceitos os esquemas rtmp e rtmps.

  • Bind Interface — a interface local ou o endereço IP da conexão de saída. Padrão: o roteamento do sistema operacional.

  • Timeout — tempo limite de conexão e transmissão, de 1 a 120 segundos. Padrão: 10.

  • Allow HEVC — permitir a publicação de vídeo HEVC via Enhanced RTMP. Ativado por padrão; quando desativado, apenas H.264 é transmitido.

  • TLS Verify — para rtmps, verificar o certificado do servidor. Desativado por padrão.

  • Trace — log detalhado para diagnóstico da publicação.

Exemplos de endereços de publicação:

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

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