close menu

Um Guia Completo de RTMP: O que é e quando usar?

Complete Guide To RTMP

O protocolo de mensagens em tempo real (RTMP) é um formato de streaming amplamente utilizado. Já existe há muitos anos e cresceu até se tornar uma ferramenta essencial para radiodifusores, operadores de rede, e muitas outras indústrias. Contudo, alguns conceitos errados sobre o RTMP tornaram-no menos popular do que poderia ser.

Mas o que é exactamente RTMP? Como é que funciona? E deverá utilizá-lo para a sua próxima transmissão ao vivo?

Informe-se sobre isto e mais abaixo.

O que é RTMP?

RTMP é um protocolo de rede ou um sistema utilizado para transmitir conteúdos multimédia através da Internet com base na tecnologia TCP (Transmission Control Protocol).

O TCP é um dos componentes que compõem o conjunto de protocolos da Internet. O outro componente importante é o protocolo da Internet, também referido como IP.

RTMP é um protocolo de rede ou um sistema utilizado para transmitir conteúdos multimédia através da Internet.

Juntos, TCP e IP actuam como pontes de comunicação entre as camadas de aplicação e de rede. Pense desta forma; a camada de aplicação engloba aquilo com que normalmente interagiria, como o navegador Mozilla Firefox ou qualquer outra aplicação do utilizador.

Para o seu navegador Firefox carregar uma página web, deve enviar um pedido para o servidor do sítio web. Ao receber o pedido, o servidor envia o recurso solicitado (ou seja, um fluxo de vídeo, vídeo pré-gravado no YouTube, ou código Html para a página web).

Para manter uma comunicação eficaz (isto é, evitar que a correspondência seja abandonada ou atrasada), a mensagem deve ser desmontada em peças mais pequenas conhecidas como pacotes. Isto é feito do lado do remetente, e uma vez recebida a mensagem, esta é remontada para o utilizador.

O TCP é o componente que trata da quebra da mensagem em pacotes ou peças mais pequenas que podem ser transmitidas de forma eficaz e eficiente.

A camada IP actua como o agente de encaminhamento que determina as melhores rotas para a transmissão dos pacotes através da Internet.

O protocolo RTMP é utilizado por muitos media players populares, incluindo Adobe Flash Player, VLC Media Player, QuickTime Player, e Windows Media Player. O RTMP é também suportado por alguns navegadores web, incluindo Google Chrome e Mozilla Firefox.

A principal preocupação para a maioria dos utilizadores com uma solução de streaming é a forma como esta fornece o conteúdo. Se a qualidade da resolução do streaming for baixa, será um quebra de contrato para a maioria dos consumidores. Da mesma forma, uma solução de streaming com alta latência e buffers ou cargas durante demasiado tempo antes de reproduzir o conteúdo não se vai sair bem.

É aqui que brilha o RTMP. Desde o seu desenvolvimento, RTMP tem garantido uma baixa latência, um amortecimento mínimo, e uma das melhores qualidades de resolução de fluxo, desde que a ligação à rede seja suficientemente forte e rápida.

Outra vantagem para RTMP é a sua capacidade de apoiar o fluxo de massa simultaneamente e sem grandes problemas.

No entanto, apesar de estar presente há muitos anos, o RTMP foi recentemente submetido a um escrutínio reforçado porque o sistema é inseguro para os seus utilizadores.

Eis como surge a(s) vulnerabilidade(s) de segurança:

Em primeiro lugar, o protocolo RTMP não tem qualquer encriptação incorporada nele. Portanto, qualquer comunicação ou transferência de pacotes enquanto o RTMP é utilizado está aberto a ser escutado por grupos não autorizados ou ataques do tipo man-in-the-middle.

Outro factor que contribuiu para a vulnerabilidade de segurança da RTMP é que o seu código fonte foi proprietário durante muito tempo. O software proprietário (ou seja, software cuja propriedade e direitos de controlo estão limitados à entidade que o desenvolveu ou comprou) normalmente recebe patches de segurança que surgem regularmente, mas não é suficiente.

Novas vulnerabilidades surgem frequentemente, e a comunidade construída em torno de software de código aberto garante patches de segurança relativamente mais frequentes e melhores. Isto é o que a RTMP perdeu para melhorar a sua postura de segurança.

Experimente Wave.video Live Streaming

Plataforma multi-streaming robusta e fácil de usar para serpentinas de qualquer nívelExperimente agora

Variações de RTMP

As variações de RTMP incluem o seguinte:

  • Real-Time Messaging Protocol Server (RTMPS) - é muito parecido com o RTMP apenas por ter a encriptação, ou seja, a camada de soquetes seguros (SSL) e a camada de segurança de transporte (TLS) activada, e suporta todos os jogadores com o Flash Player activado. É utilizado em cenários onde é vital impedir a adulteração ou o acesso não autorizado de dados em trânsito.
  • Encriptado Protocolo de Mensagens em Tempo Real (RTMPE) - é um protocolo de streaming muito versátil que utiliza tanto o Protocolo de Controlo de Transporte (TCP) como o Protocolo de Datagramas de Utilizador (UDP) para transmitir dados. O RTMPE também codifica todas as transmissões de dados usando a encriptação de propriedade da Adobe para evitar acesso não autorizado e adulteração.
  • Túnel de Protocolo de Mensagens em Tempo Real (RTMPT) - RTMPT emprega um mecanismo de túnel para contornar as firewalls que tipicamente bloqueiam todo o tráfego RTMP. Na prática, RTMPT requer que o cliente envie um pedido HTTP modificado para o servidor, que responde com uma transmissão HTTP quase semelhante. O cliente e o servidor utilizam um ID de sessão; uma vez estabelecida uma ligação, a transmissão de dados pode começar entre os dois.
  • Real-Time Media Flow Protocol (RTMFP) - O RTMFP é uma versão escalonada do RTMP, na medida em que emprega um formato de codificação diferente UDP para conseguir um fluxo de meios de alto desempenho.

História da RTMP Streaming

Real-Time Messaging Protocol (RTMP) foi inicialmente um protocolo proprietário desenvolvido pela Macromedia para a transmissão de áudio, vídeo e dados através da Internet entre um leitor Flash e um servidor.

RTMP é agora utilizada por numerosos serviços populares online tais como Facebook, Twitch, e Twitter para transmissão de vídeo ao vivo.

O primeiro lançamento público do RTMP foi em 2002. Em 2009, a Adobe lançou uma versão de especificação aberta do RTMP conhecida como OpenRTMP. A principal diferença entre RTMP e OpenRTMP é que com o OpenRTMP, qualquer servidor de mídia pode ser utilizado em vez de apenas Flash Media Server (FMS).

Há também mais flexibilidade com a especificação RTMP aberta sobre como os criadores podem assegurar ou configurar a funcionalidade peer-to-peer. Isto destina-se a encorajar a inovação e a colaboração através da concorrência e do acesso aberto entre os programadores para desenvolver a solução RTMP ideal.

O Princípio Principal

RTMP utiliza uma técnica chamada "streaming" para fornecer conteúdo. Isso significa que os dados são transferidos em pequenos pedaços chamados "pedaços". Os pedaços são remontados no outro extremo, para que o utilizador possa ver ou ouvir o conteúdo sem esperar para o descarregar completamente.

Há duas partes na forma como a RTMP funciona: Entrega na primeira e última milha.

A entrega na primeira milha geralmente envolve a transmissão de meios de comunicação do codificador para o servidor usando RTMP. A entrega na última milha refere-se à transmissão de meios de comunicação do servidor para o dispositivo do utilizador. Um leitor Flash ou uma ferramenta igualmente capaz é utilizado nesta segunda parte. Há relatos de que a Adobe está a abandonar todo o apoio ao Flash; consequentemente, isto significa o fim da entrega da última milha.

Em resposta, a indústria abraçou o Hypertext Transfer Protocol (HTTP), uma solução de streaming mais eficiente.

As variações de RTMPT como RTMPT empregam actualmente HTTP para encapsular e transmitir meios.

Como funciona o RTMP Ingest

Esta é provavelmente uma das graças salvadoras da RTMP que a tem mantido durante tanto tempo. À medida que o mundo se afastou dos meios de visualização em computadores e se aproximou da visualização móvel, a RTMP enfrentou um desafio.

Por exemplo, a RTMP confiou no leitor Adobe Flash para proporcionar a sua experiência de streaming sem falhas, mas houve um ligeiro problema. Os dispositivos móveis não suportavam o Adobe Flash player; essencialmente, o RTMP tornou-se inútil para os utilizadores que queriam os mesmos serviços de streaming nos seus dispositivos móveis.

Em resposta, a Apple desenvolveu o protocolo HLS para suportar a funcionalidade de streaming em dispositivos móveis.

Era apenas razoável esperar que a RTMP se tornasse obsoleta. Felizmente, continuou a viver com a ingestão de RTMP, criando o seu nicho como o protocolo ideal para transportar meios de comunicação do codificador para o servidor.

O RTMP ingest prioriza os codificadores de baixo custo para funcionar e geralmente oferece um fluxo de baixa latência aos utilizadores.

Envolve três componentes principais:

1. O Aperto de mão

Quando um cliente quer ligar-se a um servidor RTMP, precisa primeiro de estabelecer um aperto de mão. Este processo começa com o cliente a enviar um pedido de "ligação" ao servidor, que inclui informação sobre o cliente e o tipo de ligação que este está a tentar fazer.

O servidor responde então com uma mensagem "ligado", que inclui informação sobre o servidor e o tipo de ligação que foi estabelecida.

Finalmente, o cliente e o servidor trocam mensagens para confirmar que estão ambos ainda ligados e para negociar quaisquer parâmetros necessários para a ligação.

2. A ligação

O principal objectivo da ligação RTMP é fornecer um meio de transmissão de conteúdos multimédia de uma fonte para um destino.

A fonte dos meios de comunicação poderia ser um feed de câmara ao vivo, vídeo pré-gravado, áudio, ou outros meios de comunicação. O destino é normalmente um servidor de meios de streaming, que distribui o conteúdo aos espectadores.

Há três componentes para uma ligação RTMP ingerir:

  • O codificador converte o sinal de vídeo e áudio para um formato digital que pode ser transportado através da Internet.
  • O transporte: Este é o meio sobre o qual o sinal codificado é enviado do codificador para o servidor; normalmente, isto é feito via UDP ou TCP.
  • O servidor recebe o sinal codificado e coloca-o à disposição dos espectadores (geralmente embalando-o num formato como o Flash).

3. O Streaming

Quando um utilizador transmite conteúdo para um servidor de mídia, o servidor deve primeiro codificar a entrada de vídeo e áudio antes de o enviar a todos os clientes ligados.

O processo de codificação e reformatação de vídeo e áudio para um formato de ficheiro padrão é chamado transcodificação. Implica a conversão do sinal de entrada numa forma que pode ser reproduzida em vários dispositivos.

Mais sobre streaming há dois tipos de streaming: ao vivo e a pedido. O streaming ao vivo refere-se à transmissão em tempo real, enquanto o streaming a pedido é quando os utilizadores podem ver conteúdos convenientemente.

A transmissão em directo requer uma ligação constante entre o cliente e o servidor, enquanto que a transmissão a pedido não o faz.

RTMP utiliza TCP para manter uma ligação persistente entre o cliente e o servidor, permitindo o streaming de baixa latência. No entanto, o RTMP não é bem adequado para o streaming a pedido.

Alternativas RTMP para a Ingest

SRT e WebRTC são os principais concorrentes que podem igualar ou exceder as capacidades de RTMP. Aqui está uma breve amostra das duas alternativas:

Transporte Seguro de Confiança (SRT)

O SRT preenche as lacunas que o RTMP não conseguia gerir, como por exemplo manter um fluxo de baixa latência mesmo quando o utilizador está ligado a uma rede relativamente pouco fiável. Isto apresenta-o como uma excelente escolha tanto para o streaming ao vivo como para o on-demand.

Uma vez que é de fonte aberta, os limites das suas capacidades são infinitos, e não há qualquer preocupação de que o apoio ao desenvolvimento seja retirado.

Comunicações Web em Tempo Real (WebRTC)

WebRTC ganha com a sua publicação baseada em browser. O WebRTC HTTP Ingest Protocol (WHIP) também está em obras, e o que isto significa para os utilizadores é que serão capazes de transmitir apenas com um web browser em vez de se preocuparem com codificadores como com RTMP.

Alternativas de RTMP para a saída

No topo da lista de alternativas de saída RTMP é HTTP Live Streaming (HLS), MPEG-DASH, e WebRTC.

Aqui está uma breve amostra das alternativas:

HLS e MPEG-DASH

Estes dois são praticamente os mesmos, apenas que o HLS é proprietário enquanto o MPEG-DASH é de fonte aberta.

A melhor coisa sobre estes dois é que foram concebidos para proporcionar baixa latência, óptima qualidade dos meios de comunicação e mesmo trabalhar com ligações de rede pouco fiáveis.

WebRTC é também uma alternativa notável às soluções de saída de RTMP.

A RTMP e o Flash estão a morrer?

A resposta curta é: provavelmente não. A resposta longa é um pouco mais complicada.

Um aumento constante da popularidade do HTML5 e a proliferação de alternativas capazes de Flash pode fazer parecer que a RTMP e o Flash estão a morrer. Mas não é esse o caso.

O Flash está em declínio há já algum tempo, perdendo uma quota de mercado significativa para o HTML5 nos últimos anos, e a sua posição outrora dominante no mundo do vídeo está agora consistentemente ameaçada.

No entanto, ainda tem uma presença significativa na web e é utilizado por muitos sites populares, incluindo YouTube e Facebook.

Quanto ao RTMP, ainda é amplamente utilizado para a transmissão de conteúdos áudio e vídeo. No entanto, o seu futuro é menos certo do que o do Flash.

A Adobe anunciou que deixará de apoiar a RTMP em 2020, o que poderá marcar o fim deste protocolo. No entanto, existem muitas alternativas baseadas no RTMP, pelo que provavelmente continuará a ser utilizado de uma forma ou de outra nos próximos anos.

Então, deve fluir usando RTMP?

Depende. Veja alguns dos prós e contras da utilização de RTMP.

Prós

  • É muito estável. Em comparação com outras alternativas no mercado, é altamente improvável que sofra qualquer perturbação ou paragem enquanto utiliza um serviço habilitado para RTMP.
  • Baixa latência e amortecimento mínimo. RTMP é único a este respeito, o que significa que os utilizadores podem ver vídeos em melhor resolução, e levará significativamente menos tempo para que os meios de comunicação carreguem.
  • Compatibilidade. A natureza robusta e fiável do RTMPS encorajou mais fabricantes a conceberem os seus produtos para se integrarem facilmente com RTMP

Contras

  • RTMP requer uma ligação persistente entre o cliente e o servidor, o que pode ser problemático se houver rupturas na rede
  • Como um software proprietário, há pouca flexibilidade para os utilizadores de energia.

FAQS

Como Utilizo Wave.video para Streaming via RTMP?

Se procura transmitir vídeo via RTMP, Wave.video é uma óptima opção. Veja aqui como utilizá-lo:

  1. Crie uma conta com Wave.video e faça o login se ainda não o fez.
  2. Escolha o vídeo que pretende transmitir.
  3. Navegue para a página "Destinos" em Wave.video e clique em "Custom RTMP" RTMP Wave.video
  4. A seguir, terá de encontrar o URL do servidor e a chave de fluxo para o conteúdo que está a tentar transmitir. Para o fazer, navegue para o sítio web com o fluxo que pretende visualizar.
  5. Pode utilizar uma aplicação ou extensão de terceiros para extrair o URL e a chave se não souber como fazê-lo.
  6. Copiar o URL do servidor e a chave de fluxo.
  7. Colar o URL do servidor e a chave de stream em Wave.video.RTMP name, key, url
  8. Crie ou agende o seu fluxo.
  9. Abrir o estúdio ao vivo e iniciar o streaming.

Isso é tudo, rápido e fácil!

Que codificadores apoiam a RTMP?

Há muitos equipamentos e software codificador que suportam RTMP. Alguns destes incluem:

  • Codificador Adobe Media
  • OBS Studio
  • Servidor Elemental
  • TriCaster
  • Wirecast
  • vMix
  • TeraDek
  • Motor de fluxo de Wowza
  • Vídeo do Niágara

RTMP vs. RTSP - O que é melhor?

RTMP e RTSP são protocolos para streaming de áudio, vídeo, e dados através da Internet. São semelhantes em muitos aspectos, mas algumas diferenças chave tornam-nos ideais para situações ou preferências diferentes.

Eis um resumo rápido sobre as principais diferenças entre os dois:

  • RTMP é melhor para a transmissão ao vivo, enquanto RTSP é melhor para a transmissão a pedido.
  • RTMP tem menor latência, enquanto RTSP pode fornecer vídeo de maior qualidade.
  • RTMP requer um servidor de mídia Flash, enquanto RTSP pode trabalhar com qualquer servidor de mídia.

Então, que protocolo é melhor? Tudo se deve às suas necessidades específicas.

RTMP é uma boa escolha se precisar de baixa latência e não se importa de usar Flash. RTSP pode ser ideal se precisar de um vídeo de alta qualidade ou se quiser usar um servidor de mídia não Flash.

O que é o formato de mensagem de acção (AMF)?

AMF é um formato binário para codificar e transmitir dados através da Internet, e é frequentemente utilizado em conjunto com RTMP.

AMF permite a transmissão de dados incompatíveis com RTMP, tais como objectos ActionScript. Permite também o intercâmbio eficiente de dados entre aplicações Flash e servidores.

O que é uma URL RTMP e como obtê-la do Facebook ou YouTube?

Um URL RTMP é um identificador único utilizado para transmitir conteúdos de vídeo ao vivo para várias plataformas.

Normalmente contém um endereço IP, nome de domínio, e número de porta.

É necessário criar um evento em directo em qualquer plataforma para o obter no YouTube ou no Facebook. Uma vez feito isto, será possível encontrar o URL RTMP nas definições do evento.

Reflexões finais

A RTMP sem dúvida deixou a sua marca no mundo. Estará a caminho de sair? Como uma solução de saída, possivelmente, não ingerir de todo!

Mesmo que surjam outras alternativas igualmente ou mais capazes, o RTMP continuará a ser relevante na transmissão e streaming dos meios de comunicação.

Vamos mantê-lo informado!

Junte-se aos 5.000 comerciantes que leram primeiro os nossos artigos