Instalação do Nginx-RTMP no Ubuntu 14.04

O RTMP é ótimo para veicular conteúdo ao vivo. Quando o RTMP é emparelhado com o FFmpeg, os fluxos podem ser convertidos em várias qualidades. O Vultr é ótimo para esses aplicativos, pois eles fornecem desempenho rápido e dedicado da CPU. A rede global da Vultr também garante que você possa fornecer conteúdo ao vivo de alta qualidade com o mínimo atraso. Vamos começar!

Instalando o Nginx e o Nginx-RTMP

Instale as ferramentas necessárias para compilar o Nginx e o Nginx-RTMP a partir da origem.

sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

Crie um diretório de trabalho e mude para ele.

mkdir ~/working
cd ~/working

Faça o download da fonte Nginx e Nginx-RTMP.

wget http://nginx.org/download/nginx-1.7.5.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

Instale o pacote Descompactar.

sudo apt-get install unzip

Extraia a fonte Nginx e Nginx-RTMP.

tar -zxvf nginx-1.7.5.tar.gz
unzip master.zip

Alterne para o diretório Nginx.

cd nginx-1.7.5

Adicione módulos com os quais o Nginx será compilado. Nginx-RTMP está incluído.

./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master

Compile e instale o Nginx com o Nginx-RTMP.

make
sudo make install

Instale os scripts de inicialização do Nginx.

sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx
sudo update-rc.d nginx defaults

Inicie e pare o Nginx para gerar arquivos de configuração.

sudo service nginx start
sudo service nginx stop

Instalando o FFmpeg

Adicione o PF FFmpeg.

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next

Atualize as listas de pacotes.

sudo apt-get update

Instale o FFmpeg.

sudo apt-get install ffmpeg

Nota: O comando apt-add-repository pode não estar instalado em alguns casos. Para instalá-lo, execute sudo apt-get install software-properties-common.

Configurando Nginx-RTMP e FFmpeg

Abra o arquivo de configuração do Nginx.

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

Anexe o seguinte.

rtmp {
    server {
            listen 1935;
            chunk_size 4096;

            application live {
                    live on;
                    record off;
                    exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
            }
            application live360p {
                    live on;
                    record off;
        }
    }
}

Depois de adicionar o acima, você pode personalizar configurações como taxa de bits de vídeo, taxa de bits de áudio e resolução. Essas alterações serão aplicadas apenas ao fluxo de qualidade inferior. Para adicionar mais qualidades, copie e cole a linha exec ffmpeg e altere as configurações. Você também precisará criar um novo aplicativo. Você pode fazer isso copiando e colando o exemplo live360 que foi incluído. Não se esqueça de atualizar a linha exec ffmpeg com o endereço do novo aplicativo. Você pode fazer isso alterando o endereço RTMP final na linha exec ffmpeg.

Nota: Alterar o valor depois -b:valterará a taxa de bits do vídeo. Isso é medido em kilobits por segundo. Alterar o valor depois -b:amudará a taxa de bits do áudio. Isso é medido em kilobits por segundo. Alterar o valor depois -smudará a resolução.

Salve o arquivo pressionando Control e X juntos. Reinicie o Nginx.

sudo service nginx restart

Nota: Para obter o melhor desempenho, cada fluxo sendo convertido deve ter seu próprio núcleo de CPU. Por exemplo, duas qualidades, 360P e 480P estão sendo criadas a partir de um fluxo 720P. Uma instância do Vultr com pelo menos dois núcleos de CPU deve ser usada.

Nota de segurança

Se você estiver usando um firewall, precisará garantir que o TCP 1935 seja permitido.

A configuração atual permite que qualquer pessoa faça streaming no seu servidor. Podemos corrigir isso permitindo apenas a determinados endereços IP a permissão de publicação. Abra a configuração do Nginx.

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

Procure as seguintes linhas.

                live on;
                record off;

Adicione o seguinte a cada conjunto das linhas acima. Altere 0.0.0.0 para o seu endereço IP.

                allow publish 127.0.0.1;
                allow publish 0.0.0.0;
                deny publish all;

A configuração agora deve se parecer com isso.

rtmp {
    server {
            listen 1935;
            chunk_size 4096;

            application live {
                    live on;
                    record off;
                    allow publish 127.0.0.1;
                    allow publish 0.0.0.0;
                    deny publish all;
                    exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
            }
            application live360p {
                    live on;
                    record off;
                    allow publish 127.0.0.1;
                    allow publish 0.0.0.0;
                    deny publish all;
        }
    }
}

Salve o arquivo pressionando Control e X juntos. Reinicie o Nginx.

sudo service nginx restart

Configurando o software para funcionar com o Nginx-RTMP

Aplicativos de streaming geralmente têm dois campos para informações de conexão. O primeiro campo é geralmente para as informações do servidor e o segundo campo é para o nome ou a chave do fluxo. As informações que você deve colocar em cada campo são listadas. O nome ou a chave do fluxo pode ser definido como qualquer coisa.

Field 1: rtmp://your.vultr.ip/live/
Field 2: stream-key-you-set

Para visualizar fluxos, abra os seguintes links em um player compatível com RTMP.

rtmp://your.vultr.ip/live/stream-key-you-set
rtmp://your.vultr.ip/live360p/stream-key-you-set

A configuração de um player para exibir vídeo ao vivo em um site está além do escopo deste guia. A pesquisa do termo 'RTMP web player' pode ajudá-lo.



Leave a Comment

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.