Como configurar o nginx rtmp

Como configurar o nginx rtmp
Na última década, a transmissão ao vivo se tornou cada vez mais popular à medida que os usuários se comunicam com a família e os amigos, assistem conteúdo on -line e executam operações de negócios. Embora existam serviços e plataformas populares para realizar transmissões ao vivo, ele pode ser um desafio e caro para configurar uma sessão particular.

Este tutorial procura resolver isso mostrando como configurar um servidor pessoal de transmissão ao vivo que aproveita o NGINX, um servidor da web poderoso e leve e proxy reverso e o protocolo RTMP.

Antes de prosseguir, garanta:

  • Você está executando o Ubuntu ou o Debian Server
  • Tenha acesso ao seu servidor via SSH
  • Usuário root ou privilégios sudo

Vamos começar.

O que é nginx

Como mencionado acima, o nginx é um servidor da web de código aberto rápido e leve e proxy reverso usado para atender sites estáticos simples ou aplicativos maciços. Nginx é um servidor da Web de alto desempenho, com velocidade e segurança incríveis. Graças à sua natureza leve, é uma escolha muito eficiente para streaming de serviços e tráfego com tráfego maciço.

Você pode aprender mais sobre o NGINX com o recurso fornecido abaixo:

https: // nginx.org/pt/docs/

O que é nginx rtmp

Nginx RTMP é um módulo de código aberto e poderoso para o servidor da Web nginx. Ele permite o protocolo RTMP, HTTP Live Streaming (HLS) e streaming adaptativo dinâmico sobre HTTP (DASH).

Você pode aprender mais sobre HLS e correr na página de recursos:

https: // www.Cloudflare.com/aprendizagem/vídeo/what-s-mpeg-dash/

Agora que você sabe o que são Nginx e Nginx RTMP, vamos configurar o servidor:

Configure para o servidor

O primeiro passo é obter acesso ao servidor. Verifique se o SSH do seu servidor está ativado e você terá as chaves adicionadas para facilitar o login.

ssh [email protected]
Debian@Streaming: ~ $

Depois de ter acesso ao servidor, podemos começar a instalar os pacotes e bibliotecas necessários. Primeiro, verifique se o seu servidor está atualizado:

Atualização de sudo apt-get
sudo apt -get upgrade -y

Instalando o software necessário

Para configurar o servidor de streaming, precisaremos construir o nginx a partir da fonte e ativar o módulo RTMP. Para isso, usaremos os essenciais de construção e outros pacotes. Use o comando APT abaixo para instalar todas as dependências.

sudo apt-get install -y edifício-essencial libpcre3 libpcre3-dev libssl-dev git zlib1g-dev

A próxima etapa é compilar e instalar o nginx com o módulo RTMP ativado. Para se manter organizado, crie um diretório para o processo.

mkdir ~/make
cd ~/make/

Em seguida, clone o módulo Nginx-Rtmp:

git clone git: // github.com/arut/nginx-rtmp.git

Agora precisamos baixar o nginx.

Vá para http: // nginx.org/pt/download.HTML e selecione sua opção de download.

wget http: // nginx.org/download/nginx-1.19.8.alcatrão.gz
TAR XZF NGINX-1.19.8.alcatrão.gz
CD nginx-1.19.8

A etapa final desta seção é compilar o nginx com o módulo RMTP ativado. Use os comandos abaixo:

sudo ./configure ---with-http_sssl_module --add-module =… /nginx-rtmp-module
sudo make
sudo make install

Configurando a transmissão ao vivo

Para ativar o suporte ao RTMP, precisamos editar o arquivo de configuração nginx e especificar o bloco RTMP.

sudo nano/usr/local/nginx/conf/nginx.conf

Digite o bloco de suporte RTMP como:

rtmp
servidor
Ouça 1935;
ping 30s;
Aplicativo ao vivo
viver em;
intercalado;
hls em;
hls_path /tmp /hls;
hls_sync 100ms;
hls_fragment 15s;



http
default_type Application/Octet-Stream;
servidor
Ouça 80;
Localização /TV
raiz /tmp /hls;


Tipos
APLICAÇÃO/VND.maçã.mpequirl m3u8;
vídeo/mp2t ts;
texto/html html;

Na configuração acima, habilitamos o módulo RTMP e HLS. Considere a documentação para aprender a ativar o traço.

Depois de ter a configuração, salve o arquivo e inicie o serviço Nginx.

sudo/usr/local/nginx/sbin/nginx

Comece a transmitir

Depois de configurar tudo corretamente, você pode começar a transmitir usando o FFMPEG-é o mais fácil. Você também pode configurar outras ferramentas, como o OB Studio, mas não vou cobrir isso neste tutorial.

Use o comando ffmpeg como:

sudo ffmpeg -re -i sample -mp4 -file.mp4 -c cópia -f hls rtmp: // localhost/vive/stream

Jogue o fluxo usando FFPLAY ou VLC Media Player no recurso.

ffPlay rtmp: // ip/vive/stream

Depois de executar o fluxo, você pode expor o serviço a uma rede externa.

OBSERVAÇÃO: Certifique -se de garantir seu servidor antes de permitir o acesso público.

Conclusão

Este tutorial abordou como configurar um servidor de streaming usando o nginx e o módulo nginx rtmp. Lembre -se de que existem muitas engrenagens envolvidas na criação de um serviço de streaming e você pode personalizá -lo de acordo com suas necessidades.

Considere os seguintes recursos para explorar mais.

  • https: // ffmpeg.org/ffmpeg.html
  • https: // ffmpeg.org/ffPlay.html
  • https: // ffmpeg.org/ffmpeg-formats.html
  • https: // obsproject.com/docs/
  • https: // wiki.videolan.org/documentação: streaming_howto