Um servidor RTMP é um servidor que transmite dados de áudio e vídeo em tempo real pela internet, prin­ci­pal­mente para trans­mis­sões ao vivo. Ele recebe o stream e o encaminha para pla­ta­for­mas de streaming ou es­pec­ta­do­res. Em com­pa­ra­ção com pro­ve­do­res on-line, ter seu próprio servidor de streaming oferece diversas vantagens.

Teste o VPS da IONOS grátis

Ex­pe­ri­mente seu vServer de graça agora - Teste um servidor virtual por 30 dias!

  • Recursos dedicados
  • Tráfego ilimitado
  • Consultor pessoal

O que é um servidor RTMP?

Os serviços de streaming já estão em toda parte. Pla­ta­for­mas como a Twitch fazem parte do dia a dia de muitos gamers, e trans­mis­sões de outras áreas, como música, arte e culinária, também estão ganhando po­pu­la­ri­dade.

Com um servidor RTMP, porém, você não precisa depender de pla­ta­for­mas como a Twitch. Em vez disso, é possível operar seu próprio servidor de streaming. Para isso, utiliza-se o Real Time Messaging Protocol (RTMP). Esse protocolo de rede, de­sen­vol­vido ori­gi­nal­mente pela Adobe Inc., envia conteúdo de áudio ou vídeo para um servidor de streaming, que então dis­po­ni­bi­liza a mídia em tempo real.

Embora a Adobe tenha encerrado o suporte ao Flash Player no fim de 2020, o protocolo RTMP continua sendo am­pla­mente utilizado. Mesmo que os streams não sejam mais exibidos di­re­ta­mente em um navegador, ainda é possível receber streams RTMP usando apli­ca­ti­vos de vídeo, como o VLC player ou al­ter­na­ti­vas se­me­lhan­tes.

Em fluxos de trabalho de streaming modernos, o RTMP nor­mal­mente não é usado para entregar vídeo di­re­ta­mente aos es­pec­ta­do­res. Em vez disso, ele funciona como um protocolo de ingestão, trans­mi­tindo o stream de um co­di­fi­ca­dor (por exemplo, o OBS) para o servidor. A partir daí, o vídeo é entregue aos dis­po­si­ti­vos finais usando pro­to­co­los como HLS (HTTP Live Streaming), DASH ou WebRTC, que são com­pa­tí­veis com a maioria dos na­ve­ga­do­res e dis­po­si­ti­vos atuais.

Quais são as vantagens de um servidor RTMP?

Operar seu próprio servidor de streaming permite trans­mi­tir o conteúdo que você quiser sem res­tri­ções de pla­ta­forma. Anúncios que às vezes são inseridos em trans­mis­sões em pla­ta­for­mas comuns também não aparecem quando você usa um servidor RTMP sob seu controle. Não é surpresa, portanto, que ser­vi­do­res privados de li­ves­tream sejam am­pla­mente usados na co­mu­ni­dade gamer.

No entanto, con­fi­gu­rar seu próprio servidor de streaming também pode valer a pena em outras áreas. Você pode entregar trans­mis­sões ao vivo ou conteúdo em vídeo apre­sen­tado no seu site di­re­ta­mente do seu próprio servidor sem depender de pla­ta­for­mas externas de terceiros, como o YouTube. Isso pode ser uma opção in­te­res­sante, por exemplo, para webinars.

Quais são os re­qui­si­tos para con­fi­gu­rar um servidor RTMP?

Antes de começar a con­fi­gu­rar seu próprio servidor de streaming, você vai precisar de algumas coisas. Primeiro, é ne­ces­sá­rio escolher uma solução de servidor adequada. Como ge­ral­mente você quer oferecer uma trans­mis­são contínua e estável para muitos es­pec­ta­do­res, não deve contar com o de­sem­pe­nho do seu PC ou notebook, que talvez você também esteja usando para jogar ao mesmo tempo. A largura de banda da sua conexão de internet, em especial, de­sem­pe­nha um papel fun­da­men­tal nessa decisão.

De­sem­pe­nho do pro­ces­sa­dor (CPU)

Em princípio, um servidor RTMP não exige muitos recursos de com­pu­ta­ção. Um único núcleo de CPU pode ser su­fi­ci­ente para projetos pequenos sem trans­co­di­fi­ca­ção. No entanto, os re­qui­si­tos podem aumentar sig­ni­fi­ca­ti­va­mente, es­pe­ci­al­mente se o servidor também for usado para trans­co­di­fi­ca­ção.

Memória RAM

Do ponto de vista de RAM, um servidor RTMP ge­ral­mente tem re­qui­si­tos modestos. Para projetos menores, 4 GB de memória podem ser su­fi­ci­en­tes. No entanto, se você está pla­ne­jando uma in­fra­es­tru­tura maior, optar por 8 GB é a opção mais segura.

Espaço de ar­ma­ze­na­mento

Os arquivos de ins­ta­la­ção do software ne­ces­sá­rio NGINX são re­la­ti­va­mente pequenos. Você só precisa con­si­de­rar a ca­pa­ci­dade de ar­ma­ze­na­mento se planeja salvar streams no servidor. Nesse caso, a duração e a qualidade da trans­mis­são se tornam fatores im­por­tan­tes.

Largura de banda

Você deve prestar atenção especial à largura de banda. Tenha em mente o tamanho do stream, que depende prin­ci­pal­mente da qualidade de imagem e som. Esse tamanho é mul­ti­pli­cado não apenas pelo número de es­pec­ta­do­res, mas também pelo número de streams. Se você quiser dis­tri­buir múltiplos streams por meio de um único servidor RTMP, a largura de banda deverá ser pro­por­ci­o­nal­mente maior.

Como hospedar um servidor RTMP com a IONOS

Na IONOS, você en­con­trará três opções di­fe­ren­tes de soluções de servidor:

  • Servidor dedicado: o hardware é usado ex­clu­si­va­mente para o seu servidor, com cobrança por minuto.
  • vServer: com um Servidor Virtual Privado (VPS), o ambiente de servidor é vir­tu­a­li­zado em hardware dedicado.
  • Cloud Server: um cloud server oferece total fle­xi­bi­li­dade, recursos podem ser adi­ci­o­na­dos ou removidos da con­fi­gu­ra­ção ra­pi­da­mente.

As soluções de servidor variam em termos de fle­xi­bi­li­dade e modelos de pre­ci­fi­ca­ção. Cloud servers e ser­vi­do­res dedicados são cobrados por minuto. Assim que você libera os recursos, excluindo o servidor, não incorre em mais cobranças. Com um vServer, por outro lado, você deve planejar um orçamento mensal fixo. Um cloud server também oferece um alto grau de fle­xi­bi­li­dade. Com apenas alguns cliques, você pode aumentar ou reduzir, conforme ne­ces­sá­rio, recursos como espaço de ar­ma­ze­na­mento, RAM ou núcleos de CPU para o seu servidor RTMP.

Dedicated Servers
Per­for­mance through in­no­va­tion

O encontro do hardware com a nuvem: servidor dedicado com nuvem integrada e cobrança por minuto, incluindo as­sis­tente pessoal!

  • Dedicated en­ter­prise hardware
  • Con­fi­gu­ra­ble hardware equipment
  • ISO-certified data centers

Como con­fi­gu­rar seu próprio servidor RTMP passo a passo

Neste tutorial, você aprenderá como con­fi­gu­rar seu próprio servidor RTMP com fa­ci­li­dade. O exemplo utiliza um cloud server da IONOS exe­cu­tando Windows. Se você estiver usando uma dis­tri­bui­ção Linux como sistema ope­ra­ci­o­nal do servidor, será ne­ces­sá­rio ajustar algumas das etapas de acordo.

Passo 1: es­ta­be­leça uma conexão com o servidor

Primeiro, você precisa se conectar ao seu servidor. Para isso, faça login na sua conta de usuário IONOS e vá para a seção “Server & Cloud”. Após se­le­ci­o­nar o contrato cor­res­pon­dente, você será di­re­ci­o­nado ao Cloud Panel. Lá, nos dados de acesso, você en­con­trará o link “Remote Desktop Con­nec­tion”. Ao clicar no link, seu navegador fará o download de um arquivo que carrega au­to­ma­ti­ca­mente as con­fi­gu­ra­ções corretas para a fer­ra­menta de “conexão de área de trabalho remota” do Windows. Em seguida, basta inserir a senha (também exibida no Cloud Panel) e es­ta­be­le­cer a conexão. Isso levará você à área de trabalho do seu servidor.

Imagem: Cloud Panel da IONOS para um servidor RTMP
Nas con­fi­gu­ra­ções do servidor no Cloud Panel, você en­con­trará o arquivo ne­ces­sá­rio para a conexão remota com o seu servidor RTMP.

Se você não estiver usando um PC com Windows, ainda assim poderá se conectar re­mo­ta­mente. Basta instalar um software de área de trabalho remota adequado e usar as cre­den­ci­ais for­ne­ci­das no Cloud Panel para acessar o servidor.

Passo 2: instale o NGINX com o módulo RTMP

Para o servidor RTMP, usamos o NGINX. O software é, na verdade, um servidor web, mas, com a ajuda de um módulo adicional, também permite o streaming via RTMP.

Nota

A com­pi­la­ção oficial do NGINX para Windows não inclui o módulo RTMP por padrão. Para usar RTMP, você precisa de uma versão do NGINX compilada com o módulo de terceiros nginx-rtmp-module. Você pode verificar se sua ins­ta­la­ção o inclui exe­cu­tando o comando nginx -V. A saída deve listar uma re­fe­rên­cia a “nginx-rtmp-module”.

Em vez disso, faça o download de uma versão pré-compilada do software que já inclua o módulo. Um exemplo é a variante de build nginx-rtmp-win32, que está dis­po­ní­vel como binário para Windows no GitHub. Essas versões têm o módulo RTMP compilado, poupando você do trabalho de com­pi­la­ção manual. Você pode então iniciar o NGINX pelo prompt de comando. Abra a linha de comando, navegue até a pasta extraída e inicie o servidor web com um único comando:

start NGINX
bash

Nenhuma nova janela será aberta; o servidor é executado em segundo plano. Para testar se o software NGINX está fun­ci­o­nando, você pode abrir o endereço IP do servidor no seu navegador. Agora você deverá ver um aviso sobre o NGINX.

Passo 3: configure o RTMP

Para garantir que seu servidor esteja pronto para RTMP, agora você precisa ajustar o arquivo de con­fi­gu­ra­ção. Na pasta do NGINX, procure o arquivo chamado “nginx.conf”. Você pode abri-lo com um editor de texto. No final do arquivo, adicione o seguinte código:

rtmp {
    server {
        listen 1935;
        chunk_size 4096;

        application live {
            live on;
            record off;

            # Enable HLS
            hls on;
            hls_path C:/nginx/hls;
            hls_fragment 3s;
            hls_playlist_length 30s;
        }
    }
}

http {
    server {
        listen 8080;

        location /hls {
            types {
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }

            root C:/nginx;
            add_header Cache-Control no-cache;
            add_header Access-Control-Allow-Origin *;
        }
    }
}
nginx

Essa con­fi­gu­ra­ção garante que seu servidor RTMP aceite streams de entrada na porta 1935 via RTMP. Dentro da aplicação live, o stream é pro­ces­sado e, se o recurso HLS estiver ativado, também con­ver­tido em segmentos de vídeo menores jun­ta­mente com um arquivo de playlist cor­res­pon­dente.

O bloco http então entrega esses arquivos HLS pela porta 8080, per­mi­tindo que sejam re­pro­du­zi­dos em um navegador ou em players de mídia com­pa­tí­veis. Enquanto o RTMP é res­pon­sá­vel por receber o stream, o HLS gerencia a entrega efetiva aos es­pec­ta­do­res.

Para aplicar a con­fi­gu­ra­ção atu­a­li­zada, volte ao prompt de comando e reinicie o NGINX:

NGINX -s stop
start NGINX
bash
Nota

Sem medidas de segurança adi­ci­o­nais, qualquer pessoa que conheça o endereço do seu servidor poderia, te­o­ri­ca­mente, publicar um stream na sua aplicação live. Isso pode resultar em uso indevido ou trans­mis­sões não au­to­ri­za­das. Para evitar isso, você pode limitar o acesso, por exemplo, a endereços IP es­pe­cí­fi­cos ou à sua rede interna. Adicione as seguintes linhas dentro do bloco application live do seu arquivo de con­fi­gu­ra­ção:

allow publish 192.168.1.0/24;
deny publish all;
nginx

Neste exemplo, apenas dis­po­si­ti­vos da rede 192.168.1.x têm permissão para enviar um stream para o servidor RTMP. Todas as outras conexões são au­to­ma­ti­ca­mente blo­que­a­das.

Passo 4: abra a porta

Para permitir que outros usuários acessem seu stream, você precisa abrir a porta TCP apro­pri­ada no firewall do servidor. Como cliente da IONOS, faça login na sua conta e abra o Cloud Panel. Na seção Network, você en­con­trará as con­fi­gu­ra­ções de firewall, onde será ne­ces­sá­rio abrir a porta TCP 1935.

Imagem: Cloud Panel: configurações de firewall do servidor com porta aberta para RTMP
No Cloud Panel, abra a porta 1935 para que seu servidor de streaming possa ser acessado.

Se você estiver usando HLS, também será ne­ces­sá­rio criar uma regra cor­res­pon­dente para a porta 8080. Além do firewall no Cloud Panel, você também deve con­fi­gu­rar o firewall do Windows Server. Abra o Firewall do Microsoft Defender com Segurança Avançada e crie uma nova regra de entrada para a porta TCP 1935 (RTMP) e, se ne­ces­sá­rio, para a porta 8080 (HLS).

Como al­ter­na­tiva, você pode adicionar a regra usando o PowerShell com um comando simples:

New-NetFirewallRule -DisplayName "RTMP Server" -Direction Inbound -Protocol TCP -LocalPort 1935 -Action Allow
bash
Nota

Em algumas redes cor­po­ra­ti­vas ou em ambientes de Wi-Fi público, a porta RTMP padrão 1935 pode estar bloqueada. Nesses casos, o RTMP pode ser executado pela porta 443 (TCP), que nor­mal­mente está aberta para conexões HTTPS. No entanto, essa con­fi­gu­ra­ção exige um servidor e uma con­fi­gu­ra­ção NGINX per­so­na­li­za­dos e, portanto, é mais adequada para usuários avançados.

Passo 5: inicie o stream

Agora você concluiu todas as con­fi­gu­ra­ções e já pode começar a enviar streams. Para isso, você ainda precisa de um software adequado. Uma opção muito popular é o OBS. No software de streaming, você deve então inserir o seu servidor RTMP da seguinte forma:

rtmp://<IP address>/live/stream
txt

Digite o endereço IP correto do seu servidor. Você também pode encontrar essa in­for­ma­ção no Cloud Panel. Usando esta URL, o live stream é enviado primeiro para o servidor RTMP, enquanto a re­pro­du­ção efetiva para os es­pec­ta­do­res acontece por meio de um protocolo de entrega separado, como o HLS.

Ir para o menu principal