close menu

Um guia completo para RTMP: o que é e quando usá-lo?

Complete Guide To RTMP

O protocolo de mensagens em tempo real (RTMP) é um formato de transmissão em fluxo contínuo amplamente utilizado. Já existe há muitos anos e tornou-se uma ferramenta essencial para emissoras, operadores de rede e muitos outros sectores. No entanto, algumas ideias erradas sobre o RTMP tornaram-no menos popular do que poderia ser.

Mas o que é exatamente o RTMP? Como é que funciona? E deve utilizá-lo na sua próxima transmissão em direto?

Saiba mais sobre isto e muito mais abaixo.

O que é RTMP?

O 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 constituem o conjunto de protocolos da Internet. O outro componente importante é o protocolo de Internet, também designado por IP.

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

Em conjunto, o TCP e o IP actuam como pontes de comunicação entre as camadas de aplicação e de rede. Pense da seguinte forma: a camada de aplicação engloba aquilo com que normalmente interage, como o browser Mozilla Firefox ou qualquer outra aplicação de utilizador.

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

Para manter uma comunicação eficaz (ou seja, evitar que a correspondência seja descartada ou atrasada), a mensagem deve ser desmontada em pedaços mais pequenos, conhecidos como pacotes. Isto é feito do lado do remetente e, quando a mensagem é recebida, é novamente montada para o utilizador.

O TCP é o componente que trata da divisão da mensagem em pacotes ou partes 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 leitores multimédia populares, incluindo o Adobe Flash Player, o VLC Media Player, o QuickTime Player e o Windows Media Player. O RTMP também é suportado por alguns navegadores Web, incluindo o Google Chrome e o Mozilla Firefox.

A principal preocupação da maioria dos utilizadores com uma solução de transmissão em fluxo é a forma como esta fornece o conteúdo. Se a qualidade da resolução do streaming for baixa, a maior parte dos consumidores não vai gostar. Do mesmo modo, uma solução de transmissão em fluxo contínuo com elevada latência e com buffers ou carregamentos demasiado longos antes de reproduzir o conteúdo não se sairá bem.

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

Outra vantagem do RTMP é a sua capacidade de suportar a transmissão em massa em simultâneo e sem grandes problemas.

No entanto, apesar de existir há muitos anos, o RTMP foi recentemente alvo de um maior escrutínio devido ao facto de o sistema ser inseguro para os seus utilizadores.

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

Em primeiro lugar, o protocolo RTMP não tem qualquer encriptação incorporada. Por conseguinte, qualquer comunicação ou transferência de pacotes enquanto o RTMP é utilizado pode ser escutada por grupos não autorizados ou por ataques do tipo man-in-the-middle.

Outro fator que contribuiu para a vulnerabilidade de segurança do RTMP é o facto de o seu código fonte ter sido proprietário durante muito tempo. O software proprietário (ou seja, o software cujos direitos de propriedade e controlo estão limitados à entidade que o desenvolveu ou comprou) recebe normalmente correcções de segurança que surgem regularmente, mas isso não é suficiente.

Surgem frequentemente novas vulnerabilidades e a comunidade criada em torno do software de código aberto garante correcções de segurança relativamente mais frequentes e melhores. Foi isto que a RTMP perdeu para melhorar a sua postura de segurança.

Experimente o Wave.video Live Streaming

Plataforma multi-streaming robusta e fácil de utilizar para streamers de qualquer nívelExperimentar agora

Variações de RTMP

As variações do RTMP incluem o seguinte:

  • Servidor de protocolo de mensagens em tempo real (RTMPS) - é semelhante ao RTMP, mas tem encriptação, ou seja, camada de soquetes seguros (SSL) e segurança da camada de transporte (TLS) activadas, e suporta todos os leitores com o Flash Player ativado. É utilizado em cenários em que é vital impedir a adulteração ou o acesso não autorizado a dados em trânsito.
  • Encrypted Real-Time Messaging Protocol (RTMPE) - é um protocolo de transmissão muito versátil que utiliza o Transport Control Protocol (TCP) e o User Datagram Protocol (UDP) para transmitir dados. O RTMPE também encripta todas as transmissões de dados utilizando a encriptação proprietária da Adobe para evitar o acesso não autorizado e a adulteração.
  • Real-Time Messaging Protocol Tunnel (RTMPT) - O RTMPT utiliza um mecanismo de túnel para contornar as firewalls que normalmente bloqueiam todo o tráfego RTMP. Na prática, o RTMPT exige que o cliente envie um pedido HTTP modificado ao servidor, que responde com uma transmissão HTTP quase idêntica. O cliente e o servidor utilizam um ID de sessão; uma vez estabelecida a ligação, pode iniciar-se a transmissão de dados entre os dois.
  • Real-Time Media Flow Protocol (RTMFP) - O RTMFP é uma versão mais avançada do RTMP, na medida em que utiliza um formato de codificação diferente, o UDP, para obter um elevado desempenho do fluxo de meios de comunicação.

História do RTMP Streaming

O Real-Time Messaging Protocol (RTMP) era 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.

O RTMP é atualmente utilizado por vários serviços online populares, como o Facebook, o Twitch e o Twitter, para a transmissão de vídeo em direto.

A primeira versão pública do RTMP foi lançada 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 o RTMP e o OpenRTMP é que, com o OpenRTMP, pode ser utilizado qualquer servidor multimédia em vez de apenas o Flash Media Server (FMS).

Há também mais flexibilidade com a especificação RTMP aberta relativamente à forma como os programadores podem proteger ou configurar a funcionalidade ponto-a-ponto. O objetivo é incentivar 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 fundamental

O RTMP utiliza uma técnica denominada "streaming" para fornecer conteúdos. Isso significa que os dados são transferidos em pequenos pedaços chamados "chunks". Os pedaços são remontados na outra extremidade, para que o utilizador possa ver ou ouvir o conteúdo sem ter de esperar para o descarregar completamente.

O funcionamento do RTMP tem duas vertentes: A entrega na primeira e na última milha.

A entrega de primeira milha envolve geralmente a transmissão de multimédia do codificador para o servidor utilizando RTMP. A entrega de última milha refere-se à transmissão de multimédia do servidor para o dispositivo do utilizador. Nesta segunda parte, é utilizado um leitor Flash ou uma ferramenta igualmente capaz. Há informações de que a Adobe está a abandonar todo o suporte para o Flash; consequentemente, isto significa o fim da entrega de última milha.

Em resposta, a indústria adoptou o protocolo de transferência de hipertexto (HTTP), uma solução de transmissão mais eficiente.

As variações do RTMP, como o RTMPT, utilizam atualmente o HTTP para encapsular e transmitir os meios de comunicação.

Como funciona a ingestão de RTMP

Esta é provavelmente uma das graças salvadoras do RTMP, que o manteve durante tanto tempo. À medida que o mundo se afastou da visualização de multimédia em computadores e passou a utilizar a visualização móvel, o RTMP enfrentou um desafio.

Por um lado, o RTMP dependia do Adobe Flash Player para proporcionar a sua experiência de transmissão contínua, mas havia um pequeno 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 transmissão nos seus dispositivos móveis.

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

Era razoável esperar que o RTMP se tornasse obsoleto. Felizmente, continuou a existir com o RTMP ingest, criando o seu nicho como o protocolo ideal para transportar media do codificador para o servidor.

A ingestão RTMP dá prioridade ao funcionamento de codificadores de baixo custo e, geralmente, oferece aos utilizadores um fluxo de baixa latência.

Envolve três componentes principais:

1. O aperto de mão

Quando um cliente pretende 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ções sobre o cliente e o tipo de ligação que está a tentar estabelecer.

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

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

2. A ligação

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

A fonte de meios de comunicação pode ser uma câmara em direto, vídeo pré-gravado, áudio ou outros meios de comunicação. O destino é normalmente um servidor de streaming media, que distribui o conteúdo aos espectadores.

Existem três componentes para uma ligação de ingestão RTMP:

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

3. O fluxo contínuo

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

O processo de codificação e reformatação de vídeo e áudio para um formato de ficheiro normalizado é designado por transcodificação. Envolve a conversão do sinal de entrada num formato que pode ser reproduzido em vários dispositivos.

Mais sobre a transmissão em fluxo contínuo, existem dois tipos de transmissão em fluxo contínuo: em direto e a pedido. O streaming em direto refere-se à transmissão em tempo real, enquanto o streaming a pedido é quando os utilizadores podem ver o conteúdo de forma conveniente.

O streaming em direto requer uma ligação constante entre o cliente e o servidor, ao passo que o streaming a pedido não.

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

Alternativas RTMP para ingestão

O SRT e o WebRTC são os principais concorrentes que podem igualar ou exceder as capacidades do RTMP. Segue-se uma breve apresentação das duas alternativas:

Transporte seguro e fiável (SRT)

O SRT preenche as lacunas que o RTMP não conseguiu colmatar, como a manutenção de uma transmissão de baixa latência mesmo quando o utilizador está ligado a uma rede relativamente pouco fiável. Isto torna-o uma excelente escolha para a transmissão em direto e a pedido.

Uma vez que é de código aberto, os limites das suas capacidades são infinitos e não há qualquer preocupação com o facto de o apoio ao desenvolvimento ser retirado.

Comunicações Web em tempo real (WebRTC)

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

Alternativas RTMP para egressos

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

Eis uma breve apresentação das alternativas:

HLS e MPEG-DASH

Estes dois são praticamente iguais, só que o HLS é proprietário e o MPEG-DASH é de código aberto.

O melhor destes dois produtos é que foram concebidos para proporcionar uma baixa latência e uma óptima qualidade de multimédia, funcionando mesmo com ligações de rede pouco fiáveis.

O WebRTC é também uma alternativa digna de nota às soluções de saída RTMP.

O RTMP e o Flash estão a morrer?

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

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

O Flash tem estado 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 constantemente ameaçada.

No entanto, continua a ter uma presença significativa na Web e é utilizado por muitos sítios populares, incluindo o YouTube e o Facebook.

Quanto ao RTMP, continua a ser 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 suportar RTMP em 2020, o que poderá marcar o fim deste protocolo. No entanto, existem muitas alternativas baseadas em RTMP, pelo que é provável que continue a ser utilizado de uma forma ou de outra nos próximos anos.

Então, deve fazer streaming com 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 haja qualquer interrupção ou tempo de inatividade durante a utilização de um serviço compatível com RTMP.
  • Baixa latência e buffering mínimo. O RTMP é único neste aspeto, o que significa que os utilizadores podem ver vídeos com uma melhor resolução e que o carregamento dos conteúdos multimédia demora muito menos tempo.
  • Compatibilidade. A natureza robusta e fiável do RTMPS incentivou mais fabricantes a conceberem os seus produtos para se integrarem facilmente com o RTMP

Contras

  • O RTMP requer uma ligação persistente entre o cliente e o servidor, o que pode ser problemático se houver interrupções na rede
  • Sendo um software proprietário, existe pouca flexibilidade para os utilizadores avançados.

FAQS

Como utilizo o Wave.video para transmissão via RTMP?

Se pretende transmitir vídeo através de RTMP, o Wave.video é uma óptima opção. Veja como usá-lo:

  1. Crie uma conta em Wave.video e inicie sessão, caso ainda não o tenha feito.
  2. Escolha o vídeo que pretende transmitir.
  3. Navegue até à página "Destinations" (Destinos) em Wave.video e clique em "Custom RTMP" (RTMP personalizado) RTMP Wave.video
  4. Em seguida, terá de encontrar o URL do servidor e a chave de transmissão do conteúdo que está a tentar transmitir. Para tal, 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 o fazer.
  6. Copie o URL do servidor e a chave de fluxo.
  7. Cole o URL do servidor e a chave de transmissão em Wave.video.RTMP name, key, url
  8. Crie ou agende a sua transmissão.
  9. Abra o estúdio em direto e comece a transmitir.

É só isso, rápido e fácil!

Que codificadores suportam RTMP?

Existem muitos codificadores de hardware e software que suportam RTMP. Alguns deles incluem:

  • Adobe Media Encoder
  • Estúdio OBS
  • Servidor Elemental
  • TriCaster
  • Transmissão por cabo
  • vMix
  • TeraDek
  • Wowza Streaming Engine
  • Vídeo do Niagara

RTMP vs. RTSP - Qual é o melhor?

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

Eis um breve resumo das principais diferenças entre os dois:

  • O RTMP é melhor para o streaming em direto, enquanto o RTSP é melhor para o streaming a pedido.
  • O RTMP tem menor latência, enquanto o RTSP pode fornecer vídeo de maior qualidade.
  • O RTMP requer um Flash Media Server, enquanto o RTSP pode funcionar com qualquer servidor multimédia.

Então, qual é o melhor protocolo? Tudo depende das suas necessidades específicas.

O RTMP é uma boa escolha se precisar de baixa latência e não se importar de utilizar o Flash. O RTSP poderá ser ideal se necessitar de um vídeo de alta qualidade ou se pretender utilizar um servidor multimédia que não seja Flash.

O que é o Action Message Format (AMF)?

O AMF é um formato binário para codificação e transmissão de dados através da Internet e é frequentemente utilizado em conjunto com o RTMP.

O AMF permite a transmissão de dados incompatíveis com RTMP, tais como objectos ActionScript. Também permite a troca eficiente de dados entre aplicações Flash e servidores.

O que é um URL RTMP e como obtê-lo do Facebook ou do YouTube?

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

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

É necessário criar um evento de transmissão em direto em qualquer uma das plataformas para o obter do YouTube ou do Facebook. Depois de o ter feito, poderá encontrar o URL RTMP nas definições do evento.

Considerações finais

O RTMP deixou, sem dúvida, a sua marca no mundo. Estará a sair de cena? Como solução de saída, possivelmente, mas de entrada, de modo algum!

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

Nós mantê-lo-emos informado!

Junte-se a 5.000 profissionais de marketing que lêem os nossos artigos primeiro