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:
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.