- Servidor RTSPpor mascarenhas.dj
Configurar um servidor de streaming em tempo real (RTSP)
Instale os pacotes necessários:
raspberrypi ~ $ sudo apt-get install vlc
Execute o UV4L com o driver raspicam :
raspberrypi ~ $ uv4l --driver raspicam --auto-video_nr --framerate 25 --encoding=h264 --extension-presence=0 [core] Dispositivo detectado! [core] Registrando o nó do dispositivo /dev/video0
Opcionalmente, forneça uma política de agendamento em tempo real ao processo do driver para melhor desempenho (que é o mesmo que executar uv4l com sudo uv4l –sched-rr ):
raspberrypi ~ $ sudo greyhound -a -r -p 99 `pgrep uv4l`
Execute o servidor de streaming VideoLan em tempo real no seu Raspberry Pi com a resolução preferida:
raspberrypi ~ $ cvlc -vvv v4l2c:///dev/video0:width=640:height=480:chroma=H264 --sout '#rtp{sdp=rtsp://:8554/}' --demux h264
embora mais apropriado em teoria, o comando acima foi relatado como vazando memória por causa de algumas versões com bugs do cvlc . Se este for o caso, tente o seguinte comando alternativo para executar o servidor:
raspberrypi ~ $ dd if=/dev/video0 bs=1M | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' --demux=h264
Agora você pode se conectar ao seu Raspberry Pi do cliente, por exemplo (não se esqueça da barra final):
mypc ~ $ vlc rtsp://raspberrypi:8554/
onde raspberrypi é o nome do host ou IP do seu RaspberryPi.
Você pode definir qualquer propriedade de imagem em tempo real (enquanto a câmera está transmitindo). Por exemplo, para listar todos os controles disponíveis e alterar o brilho:
raspberrypi ~ $ sudo apt-get install v4l-utils raspberrypi ~ $ v4l2-ctl --list-ctrls --device /dev/video0 brilho (int): min=0 max=100 step=1 default=50 value=50 contraste (int): min=-100 max=100 step=1 default=0 value=0 saturação (int): min=-100 max=100 step=1 default=0 value=0 iso (int): min=0 max=1200 step=1 default=400 value=400 horizontal_mirror (bool): default=0 value=0 vertical_mirror (bool): default=0 value=0 nitidez (int): min=-100 max=100 step=1 default=0 value=0 raspberrypi ~ $ v4l2-ctl --set-ctrl=brightness=50 --device=/dev/video0
Uma interface mais amigável para alterar as propriedades da imagem durante a transmissão com este/qualquer método é a página da Web do Painel de controle que acompanha o plug-in HTTP Streaming Server para UV4L.
- Servidor de RTSP no Linodepor mascarenhas.dj
Versão gratuita da plataforma escalável de streaming de vídeo ao vivo com latência ultra baixa.
Suporta WebRTC Live Streaming, para além de CMAF e HLS streaming. Pode ser ingerido através de RTMP ou WebRTC ou HLS. Qualquer câmara IP pode ser ligada através de RTSP ou ONVIF. Também permite o Live Restreaming para Plataformas de Meios de Comunicação Social. Todos os códigos H.264, H.265, VP8 estão activados e também a codificação baseada em GPU está também disponível.
Ant Media Server Community Edition é uma versão limitada da Ant Media Server Enterprise Edition e suporta apenas as seguintes características.
- Publicar transmissões ao vivo com WebRTC, RTMP – Reproduzir transmissões ao vivo e VoD com RTMP e HLS
- Apoio RTMP, RTSP, MP4 e HLS
- Adaptador WebRTC para RTMP
- Fluxos 360 graus ao vivo e VoD Streams
- Painel de Gestão Web
- Suporte de Câmara IP
- Re-streams de fluxo remoto (IPTV)
- Código Aberto https://github.com/ant-media/Ant-Media-Server
- Simulcasting para Periscópio
- Os seus fluxos Live ou VoD podem ser reproduzidos em qualquer lugar, incluindo os navegadores móveis (Android, iOS).
https://www.youtube.com/embed/k5IbcYqXCqs?feature=oembedOpções de Linode
Depois de fornecer as opções específicas da App, forneça configurações para o seu servidor Linode:
Configuração Descrição Seleccione uma imagem Ubuntu 20.04 LTS é actualmente a única imagem suportada pela Ant Media Server Marketplace App, e está pré-seleccionada na página de criação de Linode. Necessário. Região A região onde gostaria que residisse o seu Linode. Em geral, é melhor escolher um local que seja o mais próximo de si. Para mais informações sobre a escolha de um CD, consulte o guia Como Escolher um Centro de Dados. Pode também gerar relatórios MTR para uma análise mais profunda das rotas da rede entre si e cada um dos nossos centros de dados. Necessário. Plano Linode Os recursos de hardwaredo seu Linode. Ant Media Server pode ser suportado em Linode de qualquer tamanho, mas sugerimos que implemente a sua Ant Media Server App num plano Linode 8GB. Se decidir que precisa de mais ou menos recursos de hardware depois de implementar a sua aplicação, pode sempre redimensionar o seu Linode para um plano diferente. Necessário. Etiqueta Linode O nome para o seu Linode, que deve ser único entre todos os Linodes da sua conta. Este nome é a forma como identifica o seu servidor no Cloud Manager Dashboard. Necessário. Senha de Raiz A senha administrativa primária para a sua instância Linode. Esta palavra-passe deve ser fornecida quando iniciar sessão no seu Linode via SSH. A palavra-passe deve satisfazer os requisitos de validação da força da complexidade para uma palavra-passe forte. A sua palavra-passe de raiz pode ser utilizada para executar qualquer acção no seu servidor, tornando-a assim longa, complexa, e única. Necessária. Depois de fornecer todas as opções de Linode necessárias, clicar no botão Criar. O seu Ant Media Server App completará a instalação em qualquer lugar entre 2-5 minutos após o seu Linode ter terminado o provisionamento.
Começar após a implantação
Aceda ao seu Ant Media Server App
Após a instalação do Ant Media Server, poderá aceder ao seu servidor com o endereço IPv4 do seu Linode. Copie o endereço IPv4 do seu Linode a partir do Linode Cloud Managere depois ligar-se ao servidor a partir do seu browser utilizando o endereço e porta IPv4 do seu Linode
5080
(por exemplo192.0.2.0:5080
).Para mais informações sobre o Ant Media Server, consulte os seguintes recursos:
O aplicativo Community Edition Marketplace de Ant Media foi construído para Linode por Ant Media. Para apoio relativo ao desenvolvimento de aplicações, contactar Apoio Linode. Para apoio relativo à ferramenta ou software em si, utilizar a informação na barra lateral para contactar o apoio Ant Media .
- Configurando um servidor RTMP de streamingpor mascarenhas.dj
Crie uma conta Linode para experimentar este guia com um crédito de $ 100.Este crédito será aplicado a quaisquer serviços válidos usados durante os primeiros 60 dias.Inscrever-se
A transmissão ao vivo se tornou uma maneira importante para criadores, jogadores, instrutores e personalidades da mídia alcançarem novos públicos. Muitos streamers ao vivo estão usando sites como Twitch e Facebook Live para transmitir. No entanto, um servidor de streaming RTMP ( Real-Time Messaging Protocol ) é outra maneira popular de distribuir transmissões ao vivo. O RTMP permite que você envie seu fluxo para um servidor central, que pode armazená-lo ou retransmiti-lo para reprodução do público.
Este guia discute como configurar um servidor de streaming RTMP e como usar software de código aberto para transmitir e conectar-se a um stream. Ele também explica como configurar multi-streaming para transmitir uma transmissão ao vivo simultaneamente para vários sites de mídia social.
Antes de você começar
- Se você ainda não o fez, crie uma conta Linode e Compute Instance. Veja nossos guias de Introdução ao Linode e Criando uma Instância de Computação .
- Siga nosso guia Configurando e protegendo uma instância de computação para atualizar seu sistema. Você também pode definir o fuso horário, configurar seu nome de host, criar uma conta de usuário limitada e proteger o acesso SSH.
ObservaçãoEste guia foi escrito para um usuário não root. Os comandos que exigem privilégios elevados são prefixados com
sudo
. Se você não estiver familiarizado com osudo
comando, consulte o guia deMais informações sobre RTMP
RTMP é um protocolo de rede, não um aplicativo. Ele usa a camada TCP ( Transmission Control Protocol ), para que a maioria dos servidores de mídia possa processá-lo. O RTMP era originalmente uma tecnologia proprietária pertencente à Adobe e foi projetada para transmissão de áudio, vídeo e dados de alto desempenho. No entanto, agora está disponível para uso público gratuito e atualmente é um dos formatos de streaming mais populares. A maioria dos codificadores pode transmitir RTMP, e os grandes sites de mídia o aceitam, mas o suporte do navegador pode ser irregular. Recomendamos que você use um reprodutor de mídia dedicado, como o VLC Media Player de código aberto gratuito para receber fluxos.
Se quiser saber mais sobre os detalhes técnicos por trás do RTMP, você pode descobrir mais no site de desenvolvimento da Adobe . A página da Wikipedia também fornece uma boa introdução.
Vantagens de usar um servidor de streaming RTMP
- O RTMP é um protocolo robusto que oferece conexões persistentes e de baixa latência e transmissão confiável. Os fluxos são divididos em fragmentos, com o tamanho negociado entre o cliente e o servidor de streaming. Diferentes fluxos podem ser multiplexados na mesma conexão. É bastante fácil configurar e usar RTMP, mas você deve usar um software compatível com RTMP para transmitir seu fluxo para o servidor.
- O uso de um servidor RTMP também permite implementar multi-streaming , o que reduz a quantidade de largura de banda usada em sua conexão local. Você transmite apenas uma cópia do seu stream para o servidor, mesmo que queira transmitir para várias plataformas. O RTMP se encarrega de encaminhar cópias do seu stream para quantos sites você quiser. Isso torna fácil e conveniente transmitir simultaneamente ao vivo para o YouTube, Facebook e Twitch ao mesmo tempo. No entanto, para alguns sites, você deve transcodificar o fluxo em um formato específico, alterando ou recompactando seu fluxo.
Requisitos de sistema
Um servidor de streaming RTMP não requer necessariamente muito poder de processamento ou memória. Para um único fluxo, uma solução Linode de 1 GB deve ser suficiente. Se você estiver retransmitindo para vários sites ou precisar converter um fluxo em um formato diferente, pode ser necessária uma solução mais poderosa. Neste caso, recomendamos um host com pelo menos 4 GB de memória , como uma solução Linode de 4 GB .
Um resumo do processo de configuração do servidor de streaming RTMP
Essas instruções de instalação são voltadas para o Ubuntu 20.04, mas o procedimento é semelhante na maioria das distribuições Linux. O RTMP é um protocolo e não um aplicativo, portanto, você não precisa instalá-lo. Para fazer uso do RTMP, você deve instalar um servidor web, como o NGINX , e realizar várias outras etapas de configuração. As seções a seguir descrevem cada etapa com mais detalhes.
- Instalar NGINX e componentes relacionados
- Configurar NGINX para dar suporte a RTMP
- Configurar e usar o cliente Open Broadcaster Software (OBS)
- Ver e testar o stream
- Configurar e testar multitransmissão
Instalar NGINX e componentes relacionados
O NGINX possui suporte total a RTMP e o recomendamos como seu servidor de streaming RTMP. Siga estas etapas para instalar o NGINX.
- Atualize seu host com as atualizações de pacote mais recentes.
sudo apt update sudo apt upgrade
- Instale o servidor NGINX, suporte RTMP e outros módulos relacionados.
sudo apt install build-essential libpcre3 libpcre3-dev libssl-dev nginx-full libnginx-mod-rtmp ffmpeg
- Verifique o status do servidor.
systemctl status nginx.service
Após a instalação,Systemctl
retorna um status deactive
.nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-02-14 15:21:39 UTC; 41s ago
Configurar NGINX para dar suporte a RTMP
Para fazer stream, você deve configurar alguns parâmetros do servidor através do
nginx.conf
arquivo e criar um aplicativo de stream. Esta seção explica como configurar o RTMP para aceitar um fluxo e disponibilizá-lo para visualização. Multi-streaming é discutido em uma seção posterior.- Use seu editor de texto favorito e abra o arquivo de configuração NGINX, normalmente localizado em
/etc/nginx/nginx.conf
.sudo vi /etc/nginx/nginx.conf
ObservaçãoSe você não encontrar onginx.conf
arquivo, execute o comandosudo nginx -t
. Ele exibe a localização do arquivo e valida sua sintaxe. - Adicione alguma configuração RTMP ao final do
nginx.conf
arquivo conforme mostrado neste exemplo.- A
chunk_size
configuração define o tamanho do fragmento. O tamanho ideal varia dependendo do servidor, mas4096
é um valor padrão razoável. - A porta padrão para a
listen
variável é1935
. - Dentro da configuração do servidor, crie um aplicativo e dê um nome a ele. Este exemplo usa
livestream
como nome do aplicativo, mas por motivos de segurança, recomendamos que você escolha um nome mais distinto. Você deve definirlive
comoon
para habilitar o streaming. - Se você quiser salvar uma cópia de seus streams, defina a
record
variável comoall
. Caso contrário, defina-o comonone
. - Se você definir
record
comoall
, deverá configurar um valor pararecord_path
. É aqui que as gravações de seus streams são salvas. - Recomendamos adicionar um método de autenticação para que seus fluxos não sejam invadidos. Definir um local para
on_publish
aqui permite ativar a validação de senha em uma etapa subsequente.Arquivo: /etc/nginx/nginx.conf 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... rtmp { server { listen 1935; chunk_size 4096; notify_method get; application livestream { live on; on_publish http://localhost/auth; #Set this to "record off" if you don't want to save a copy of your broadcasts record all; #The directory in which the recordings will be stored record_path /var/www/html/streams; record_unique on; } } }
- A
- Crie um diretório para salvar seus streams. A localização do diretório deve corresponder ao valor de
record_path
.sudo mkdir -p /var/www/html/streams
- Defina as permissões para o novo diretório para que o servidor possa gravar nele.
sudo chown -R www-data:www-data /var/www/html/streams/
- Se você pretende impor a autenticação para fluxos de entrada, abra o
/etc/nginx/sites-enabled/default
arquivo e adicione as seguintes informações dentro doserver
bloco. Substituayourpassword
por uma senha mais segura.- Se a senha que você fornecer ao iniciar sua transmissão corresponder à senha neste arquivo, o servidor de transmissão retornará um código HTML de
200
(“OK”). - Se a senha estiver incorreta, ele retorna um código de
401
(“Não autorizado”) e desconecta a sessão.Arquivo: /etc/nginx/sites-enabled/default1 2 3 4 5 6 7 8 9 ... listen 8080; location /auth { if ($arg_pwd = 'yourpassword') { return 200; } return 401; }
- Se a senha que você fornecer ao iniciar sua transmissão corresponder à senha neste arquivo, o servidor de transmissão retornará um código HTML de
- Reinicie o servidor para aplicar suas alterações.
systemctl restart nginx.service
- Revise o status do servidor para garantir que ele ainda esteja em execução. Procure o status de
active
.systemctl status nginx.service
Observação
Você pode encontrar exemplos mais detalhados de configurações NGINX para RTMP na página NGINX GitHub .
Você pode forçar os espectadores a se autenticarem antes de assistir a um stream com a
on_play
variável, que funciona da mesma forma queon_publish
. Para segurança extra, você pode remover ahtml
configuração deste arquivo se não estiver planejando usar o NGINX como um servidor web. Certifique-se de não excluir oevents
bloco de configuração ao fazê-lo.Configurar e usar o cliente Open Broadcaster Software (OBS)
Os streamers geralmente usam um serviço comercial de streaming baseado na Web ou um aplicativo em seu computador. Para transmitir para seu servidor RTMP, recomendamos o Open Broadcaster Software (OBS) . O OBS é um aplicativo de transmissão de código aberto gratuito que é flexível e fácil de usar. Está disponível para os sistemas operacionais mais comuns, incluindo o Ubuntu.
- Acesse o site do OBS e escolha o download apropriado para o seu sistema. Este software deve ser instalado em seu computador e não no servidor de streaming RTMP.
- Abra o aplicativo e procure o
Controls
menu na parte inferior direita da janela do aplicativo. Clique no botão Configurações . - Quando a janela Configurações aparecer, clique em Stream no painel esquerdo e insira as seguintes informações sobre seu stream:
Service
:Custom
Server
:rtmp:///
.- Substitua
yourserverIP
pelo endereço IP real do seu servidor de streaming. - Substitua
RTMP_application
pelo nome que você escolheu para seu aplicativo no bloco de configuração RTMP. No exemplo anterior, usamos o nomelivestream
.
- Substitua
Stream Key
:.
your_stream_name
pode ser qualquer nome que você queira para identificar o stream.yourpassword
é a senha que você configurou em/etc/nginx/sites-enabled/default
.
- Clique em OK .
- Para iniciar a transmissão, clique no botão Iniciar transmissão no canto inferior direito do aplicativo na
Controls
seção.ObservaçãoUma maneira rápida de testar seu fluxo é com uma mensagem de texto de rolagem. Clique no botão +
sources
no menu para criar um objeto de texto. Quando você tiver criado o objeto, clique com o botão direito do mouse na fonte e selecione o filtro para aplicar um efeito de rolagem. Consulte o Wiki do OBS para obter mais informações. - Se você estiver gravando seus fluxos, poderá confirmar facilmente se o servidor está aceitando a entrada transmitida ou não. Navegue até o
record_path
diretório (da sua configuração RTMP) e liste seu conteúdo com ols
comando. Se você vir um novo arquivo, o servidor de streaming está recebendo e salvando seu stream corretamente.cd /var/www/html/streams ls
ObservaçãoA transmissão em uma taxa muito alta pode fazer com que o OBS se desconecte do servidor. Se sua conexão for rejeitada, clique em Configurações e selecione Saída . Defina oVideo Bitrate
para um valor mais baixo. O OBS fornece algumas dicas úteis de depuração na página do GitHub do OBS .
Ver e testar o stream
Agora você está pronto para se conectar e visualizar seu fluxo em um reprodutor multimídia. Recomendamos o VLC Video Player de código aberto porque é simples, gratuito, tem bom desempenho e roda em todas as plataformas. Estas instruções e as capturas de tela associadas são para um desktop Apple, mas o processo é semelhante para outros sistemas operacionais.
- Navegue até o site VideoLAN e baixe o software VLC para seu sistema operacional.
- Clique no menu Arquivo e selecione Abrir rede .
- Isso exibe a caixa de diálogo “Open Source”. No
URL
campo, insira as informações do seu stream no formatortmp:////
. SubstituayourserverIP
pelo IP real do seu servidor de streaming eRTMPApplication
pelo nome do aplicativo de stream do arquivo de configuração do servidor. O valor deyour_stream_name
deve corresponder ao nome do stream do OBS. Por fim, marque aStream output
caixa.
ObservaçãoAlém do básico, o VLC pode ficar complicado. Se você tiver problemas, consulte a
página de suporte do VideoLAN .
Configurar e testar multitransmissão
O RTMP é particularmente uma boa opção para streaming para vários sites ao mesmo tempo, pois economiza largura de banda com eficiência. Em vez de ter que transmitir um fluxo separado para cada canal, você pode enviar um fluxo para o servidor de fluxo RTMP. O servidor então lida com a redistribuição de fluxos, enviando uma cópia para cada terminal. Você pode habilitar o multi-streaming em sua configuração RTMP com uma
push
entrada para cada destino. Para configurar o multi-streaming, siga o procedimento abaixo:- Abra o
/etc/nginx/nginx.conf
arquivo para edição.sudo vi /etc/nginx/nginx.conf
- Localize as informações de ingestão do serviço para o qual você deseja transmitir. Por exemplo, o Twitch fornece uma lista de todos os seus pontos de ingestão . Encontre o ponto de ingestão mais próximo de você e anote o URL de ingestão. Para o YouTube, você pode encontrar o URL do servidor de ingestão na sua página do YouTube Studio. Consulte a documentação do seu serviço de streaming para obter informações mais detalhadas.
- Adicione uma notificação por push para cada serviço ao bloco de aplicativo de fluxo na configuração RTMP. A configuração deve estar no formato
push rtmp:///;
. Ostreaming_service_ingest_url
é o URL de ingestão que você localizou na etapa anterior. Cada serviço de streaming oferece uma maneira de você determinar sua privacidadestream_key
. No Twitch, você pode encontrar sua chave de transmissão em seu painel, enquanto no YouTube, ela está no mesmo local em que você encontrou o URL do servidor de ingestão. Este exemplo ilustra a configuração para enviar para o servidor de ingestão de Londres do Twitch.Arquivo: /etc/nginx/nginx.conf1 2 3 4 5 6 7 8 9 10 11
... rtmp { server { ... application livestream { ... push rtmp://lhr04.contribute.live-video.net/app/; } } }
- Adicione
push
entradas adicionais para os outros sites para os quais você está transmitindo. - Reinicie o servidor para aplicar suas alterações.
systemctl restart nginx.service
- Inicie sua transmissão novamente. Agora você pode visualizá-lo no site de streaming de sua escolha.
- (Opcional) Para maior segurança e controle mais granular, você pode criar um aplicativo para cada serviço de streaming e chamá-lo do aplicativo principal. Essa técnica oferece a capacidade de substituir as
livestream
configurações e desativar a gravação de alguns serviços. Edite cadapush
notificação em seulivestream
aplicativo para enviar para o novo aplicativo.No exemplo acima:- Altere a configuração push do Twitch para
push rtmp://localhost/twitch;
. - Adicione a configuração para
application twitch
como mostrado abaixo. - Reinicie o servidor e seu stream assim que terminar para verificar se as alterações estão corretas.Arquivo: /etc/nginx/nginx.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
... rtmp { server { ... application livestream { ... push rtmp://localhost/twitch; } application twitch { live on; record off; allow publish 127.0.0.1; deny publish all; push rtmp://lhr04.contribute.live-video.net/app/; } } }
- Altere a configuração push do Twitch para
Observação
Os servidores de ingestão podem ser alterados sem aviso prévio. Recomendamos que você revise as especificações do seu serviço de streaming regularmente. Alguns serviços de streaming, como o Facebook Live, exigem que você transcodifique seu stream em seu formato específico. Você pode fazer isso usando a biblioteca FFmpeg .
Consulte a página NGINX GitHub para obter uma configuração de exemplo.
Mais Informações
Você pode querer consultar os seguintes recursos para obter informações adicionais sobre este tópico. Embora estes sejam fornecidos na esperança de que sejam úteis, observe que não podemos garantir a precisão ou pontualidade dos materiais hospedados externamente.
- Como Configurar um Codificador RTMP para Transmissãopor mascarenhas.dj
Codificador RTMP
Para muitas emissoras B2C, os codificadores de software são suficientes. No entanto, como organismo de radiodifusão profissional, é importante considerar a utilização de RTMP. RTMP é um protocolo de transmissão de vídeo que torna possível a transmissão ao vivo de alta qualidade.
Hoje vamos mergulhar num dos tópicos mais complicados da transmissão em directo: A codificação RTMP.
Vamos discutir como a transcodificação de vídeo se encaixa num fluxo de trabalho de transmissão de vídeo ao vivo e como configurar um codificador RTMP e ligá-lo a uma plataforma de transmissão de vídeo ao vivo. Vamos também rever alguns dos principais protocolos de transmissão de vídeo e o software de codificação RTMP mais popular no mercado.
Este post foi actualizado para reflectir a informação mais precisa e actualizada sobre as novas funcionalidades nas últimas versões de codificadores habilitados para RTMP lançadas a partir de 2021.
Tabela de Conteúdos
- O que é um Codificador?
- Hardware vs. Codificadores de Software
- O que é a Transmissão RTMP?
- O que é o RTMP Ingest e Porque É Importante?
- Protocolos Comuns de Transmissão de Vídeo
- Configurando o Seu Codificador RTMP em 6 Passos
- Codificadores RTMP Populares para Transmissão de Vídeo ao Vivo
- Conclusão
O que é um Codificador?
Um codificador converte tipos de ficheiros de vídeo para os tornar mais fáceis de transmitir. Um codificador de vídeo ao vivo é uma ferramenta que converte um vídeo do formato RAW para o formato digital. Por um lado, as imagens de vídeo de uma câmara são alimentadas para o codificador. Esta filmagem é convertida para um formato diferente em tempo real. O objectivo da conversão é preparar o vídeo a ser transmitido através da Internet.
Pode utilizar um codificador de hardware ou um codificador de software. Cada um tem vantagens e desvantagens.
Codificadores de Hardware vs. Software
Existem dois tipos de codificadores: hardware e software. Um codificador de software é um programa que funciona com a sua plataforma de vídeo online. Este usa o poder de processamento do seu computador para codificar e entregar o vídeo.
Um codificador de hardware é um dispositivo dedicado. Eles vêm em várias formas. Alguns são pequenos e adequados para montagem numa câmara. Outros são montados em mochilas ou em prateleiras para utilização em estúdios ou veículos de radiodifusão.
Os codificadores de hardware são tipicamente considerados superiores aos seus equivalentes de software porque produzem vídeo de maior qualidade. Contudo, os codificadores de hardware requerem tipicamente um investimento muito maior do que os codificadores de software.
Dependendo do tipo de emissão que está a fazer, investimento no hardware pode valer a pena. Uma vez que existe software de codificação disponível por menos de 100 dólares, vale a pena testá-lo se não tiver a certeza se está ou não pronto para fazer o investimento.
O que é a Transmissão de Vídeo RTMP?
O RTMP torna possível o streaming ao vivo, e o seu papel principal é fornecer conteúdo de um codificador para um anfitrião de vídeo online. A transmissão de vídeo RTMP é um método de transmissão de vídeo diferente dos seus predecessores no sentido em que mantém um contacto constante entre o leitor de vídeo RTMP e o servidor RTMP. Este contacto constante torna uma transmissão ao vivo RTMP muito robusta e fiável. Também é possível streaming ao vivo em dispositivos móveis através da ingestão de RTMP para HLS.
Durante muitos anos, o Flash Player e o RTMP trabalharam em conjunto para produzir transmissões ao vivo com latência ultra baixa.
Muitos consideram a transmissão RTMP desactualizada, uma vez que estava tão estreitamente interligada com a tecnologia do Flash Player, que hoje em dia está completamente morta em termos de transmissão OTT. No entanto, a tecnologia de transmissão de vídeo ao vivo em RTMP sobrevive através de codificadores habilitados para RTMP.
O que é o RTMP Ingest e Porque É Importante?
A RTMP ingest é a tecnologia que transmite os ficheiros de vídeo do codificador para a plataforma de vídeo online. RTMP ingest requer o uso de um codificador compatível, mas felizmente, a maioria dos codificadores de topo no mercado utiliza esta tecnologia.
RTMP ingest envolve três fases: o aperto de mão, a ligação, e a transmissão.
Este processo é altamente técnico, e os emissores que utilizam uma plataforma de vídeo online geralmente não precisam de se preocupar com o que se passa nos bastidores. No entanto, compreender como funciona o RTMP ingest pode ajudá-lo a compreender a importância da escolha de um codificador capaz.
Protocolos Comuns de Transmissão de Vídeo
Agora que tem uma melhor ideia da finalidade dos codificadores de transmissão de vídeo RTMP, vamos fazer uma rápida comparação dos protocolos de transmissão de vídeo mais comuns.
Protocolo de Transmissão RTMP
A maioria dos codificadores utiliza o formato RTMP stream. RTMP significa “Real-Time Messaging Protocol” (Protocolo de Mensagens em Tempo Real). RTMP streaming é um método concebido para a transmissão ao vivo. Não é um codec, mas um protocolo RTMP usa normalmente o codec H.264. Simplificando, o objectivo de um codificador de transmissão ao vivo é codificar os fluxos de vídeo em RTMP ou outro protocolo de transmissão ao vivo e enviá-los para um servidor de transmissão RTMP.
O protocolo RTMP já não é comummente utilizado para fazer chegar os streams aos espectadores. Na maioria das vezes, é preferível uma opção moderna como o protocolo de streaming HLS. Uma vez que RTMP ainda é o padrão para entregar streams em plataformas de vídeo online, os dois trabalham em conjunto para tornar possível a magia de transmissão de vídeo ao vivo.
Para colocar as coisas em perspectiva, o seu vídeo segue este caminho:
- Gravado por uma câmara IP com RTMP
- Alimentado para codificador RTMP e preparado para entrega usando o protocolo de mensagens em Tempo Real
- Enviado para a sua plataforma de vídeo online
- Preparado para chegar aos telespectadores usando o protocolo HLS
- Enviado aos telespectadores
Este caminho é percorrido quase instantaneamente. RTMP e HLS ‘confiam’ um no outro para garantir que a sua transmissão ao vivo chegue ao seu público.
Protocolo HLS Streaming
HLS significa “HTTP Live Streaming“. É um protocolo de streaming que foi originalmente concebido e utilizado pela Apple. A HLS é de facto responsável pela eliminação progressiva do Quicktime.
A transmissão HLS funciona cortando vídeos em clipes mais pequenos para facilitar a sua transmissão através da Internet.
Embora elogiada pela sua compatibilidade, a HLS tem cerca de 15-30 segundos de latência.
Protocolo de Transmissão RTSP
RTSP é um protocolo de transmissão ao vivo que utiliza uma ligação servidor-a-cliente para transmitir ficheiros de vídeo para uma plataforma de vídeo. RTSP, também conhecido como Real-Time Streaming Protocol, é um protocolo menos conhecido para transmissão de vídeo online.
Conhecido como protocolo de controlo de rede, este protocolo foi concebido para controlar os servidores de transmissão utilizados em sistemas de entretenimento e comunicações. Os servidores RTSP situam-se entre a transmissão ao vivo e o espectador, emitindo comandos “play,” “pause” e “record”.
Quando o RTSP controla a ligação servidor-a-cliente, são utilizados transmissões de vídeo a pedido; quando controla a ligação cliente-servidor, o RTSP utiliza transmissões de voz.
RTMP vs. RTSP
RTMP e RTSP são ambos protocolos de streaming, o que significa que são conjuntos de regras que regem a forma como os dados viajam de um sistema de comunicação para outro. Se os dados de vídeo que está a tentar enviar aos seus telespectadores são um carro, então o protocolo de streaming são as estradas que o carro percorre para ir de um lugar para outro.
A escolha entre os protocolos de streaming RTMP vs RTSP depende muito das suas necessidades comerciais individuais e de quantos passos extra está disposto a dar para tornar o seu conteúdo disponível no seu website.
RTMP vs HLS
Como mencionámos, RTMP e HLS trabalham em conjunto para dar vida às transmissões. Têm funções complementares.
RTMP transmite o vídeo a partir do codificador para a plataforma de vídeo online.
A HLS transmite o vídeo da plataforma de vídeo online para os dispositivos dos espectadores.
Configuração do Seu Codificador RTMP em 6 Passos
A fim de se preparar para uma transmissão de vídeo tranquila, tem de se certificar de que todas as suas definições RTMP estão devidamente configuradas.
Aqui está um tutorial de 6 passos para configurar o seu codificador habilitado para RTMP.
1. Ligue as Suas Fontes de Vídeo
Setting up your video capturing equipment is an important step in broadcasting. A instalação do seu equipamento de captura de vídeo é um passo importante na transmissão.
O primeiro passo é ligar as suas fontes de vídeo. O método que utiliza para o fazer difere dependendo se está a utilizar hardware de codificador RTMP ou um codificador de software.
Se estiver a usar hardware de codificador RTMP, o método é simples. Geralmente, os codificadores de hardware têm entradas de cabo dedicadas para câmaras de vídeo. Estas podem incluir entradas SDI, bem como HDMI. Além disso, alguns codificadores suportam câmaras através de wifi. Geralmente, estes sistemas são plug-and-play.
O método de ligação de câmaras a codificadores de software pode ser um pouco mais complexo. Geralmente, isto envolve a instalação de um “cartão de captura” num computador de secretária. Os computadores portáteis e outros dispositivos podem utilizar cartões de captura externos que muitas vezes são ligados via USB.
Uma vez que a sua câmara esteja fisicamente ligada ao codificador, deve ser auto-detectada. Pode seleccioná-la a partir de um menu suspenso de “entradas”.
2. Criar um Novo Canal Vivo e Ligar o Seu OVP
O passo seguinte é a criação de um novo canal ao vivo. Isto ocorre de facto através da sua plataforma de vídeo online.
Para completar este passo com Dacast, siga estes passos:
- Entre na sua conta.
- Clique em “Canais ao vivo” na barra lateral esquerda.
- Clique no botão laranja “Criar”, no canto superior direito.
- Introduza um título para o seu novo canal ao vivo, depois clique em “Adicionar novo”.
- Clique no separador “Configuração de Codificador” na região central superior do ecrã.
- Este separador mostra três passos simples de configuração. O primeiro passo envolve a selecção de um ponto de publicação (opcional) e a selecção de uma taxa de bits, resolução, e relação de aspecto (também opcional). As definições que seleccionar no seu codificador irão sobrepor-se a estas definições.
- O segundo passo permite-lhe seleccionar um codificador. Seleccione a opção que corresponde ao codificador que está a usar, ou seleccione “outro codificador RTMP”.
- Finalmente, no lado direito da janela, aparecerá uma caixa de diálogo com um URL da transmissão, um login, e uma palavra-passe. Deixe esta janela aberta.
Após a criação do seu novo canal ao vivo, terá de ligar o seu codificador ao Dacast. Isto envolve a navegação pelas suas definições de codificador, normalmente etiquetadas algo como “Definições de Emissão” ou “Output”. Introduza aqui o URL, nome de utilizador e palavra-passe da sua transmissão Dacast. O seu codificador está agora ligado à sua plataforma de vídeo online.
3. Seleccione Opções de Codificação de Vídeo e Áudio
O passo seguinte é seleccionar as suas definições de vídeo e áudio. Primeiro, seleccione uma resolução, tal como 1920 x 1080 (full HD) ou 720 x 480 (definição padrão). Nesta etapa, seleccionará também um bitrate e um codec. É mais comum utilizar compressão de vídeo H.264, ou codificação de vídeo avançada (AVC) para vídeo, e AAC para áudio.
Para mais informações sobre como configurar o seu codificador e escolher as melhores definições, consulte o nosso guia. Para saltar à frente e aceder às definições de configuração do codificador ao vivo, consulte as nossas definições recomendadas de codificador ao vivo.
4. Obtenha um Código Embed
Neste momento, recomendamos-lhe que realize um breve teste. Uma transmissão de teste começa com a incorporação de um leitor de vídeo no seu website. Uma vez que se trata apenas de um teste, poderá desejar utilizar uma página web privada.
O método exacto para incorporar vídeo em directo no seu sítio web depende da plataforma de vídeo que está a utilizar. Se estiver a utilizar o Dacast, fornecemos códigos de incorporação simples que podem ser colados em qualquer website para exibir o seu vídeo.
5. Fazer uma Transmissão Teste
Agora, está pronto para iniciar uma transmissão de teste. Dirija-se para o back office do Dacast e carregue no botão para ligar o seu canal ao vivo. Liguem as vossas câmaras e comecem a gravar. Uma vez que isto é um teste, não importa o que está a transmitir. Comece a sua transmissão ao vivo a partir do codificador com RTMP que está a utilizar para transmitir.
Visite a página web em que incorporou o seu leitor de vídeo e veja como a transmissão está a funcionar. Teste-o tanto com um computador de secretária como com um dispositivo móvel.
Se estiver a ter problemas aqui, terá de resolver alguns problemas de transmissão ao vivo. A resolução de problemas pode ser frustrante, por isso tente ser o mais sistemático possível. Verifique todas as ligações no sistema. Certifique-se de que os cabos estão ligados e que as definições estão correctas. Se precisar de mais ajuda, considere contactar o apoio técnico da Dacast.
6. Iniciar a Transmissão de Vídeo
Agora configurou totalmente o seu codificador com RTMP e está pronto para iniciar a transmissão em directo. Sinta-se livre para copiar o seu leitor de vídeo para qualquer página web ou site em que planeie fazer streaming.
Está agora pronto para iniciar a sua transmissão ao vivo.
Codificadores RTMP Populares para Transmissão de Vídeo ao Vivo
Vamos rever alguns dos codificadores RTMP mais populares no mercado. Se estiver no mercado para um codificador RTMP para transmissão em directo, esta avaria pode ajudá-lo a reduzir as suas opções e assim não terá de fazer compras.
1. OBS Studio
OBS Studio é um software codificador RTMP gratuito e de código aberto para gravação de vídeo e transmissão ao vivo. OBS Studio, anteriormente conhecido como Open Broadcaster Studio, é uma plataforma de código-fonte aberto com capacidades de codificação. Este é um codificador de software e o nosso artigo baseia-se na última versão do clássico OBS Studio Version 27.1.3 lançada a de 2021 para download gratuito. Este software profissional de transmissão e transmissão de vídeo está disponível tanto para sistemas operativos MacOS como Windows.
Dacast estabeleceu uma parceria com OBS Studio para criar um software personalizado de transmissão ao vivo no OBS Studio que se integra perfeitamente com a plataforma Dacast.
Funcionalidade Básica:
OBS Studio oferece muitas características excelentes para novas emissoras que ainda estão a apanhar o jeito da transmissão em directo. O software tem um conjunto de configurações específicas de OBS e requisitos de sistema para garantir a melhor experiência de transmissão ao vivo.
Características Principais:
OBS Studio vem com uma variedade de ferramentas de gravação e codificação, incluindo mistura de áudio e vídeo, múltiplas opções de integração, e uma interface fácil de usar. Outras características chave incluem:
- Funcionalidade de transmissão e gravação em directo HLS
- Mistura de áudio e vídeo, filtros e transições
- Apoio a hotkeys
- Chroma key / suporte de ecrã verde
- As cenas permitem preparar antecipadamente sobreposições para uma mudança rápida
- Apoio a uma vasta gama de fontes de vídeo, áudio e imagem, assim como capturas de ecrã
- Expansível via plugins para adicionar funcionalidade NDI, controlo remoto via WebSockets, comutação avançada de cena, e mais
- Uma desvantagem notável é que o OBS Studio não oferece transmissão multi-bitrate
- Wiki detalhado e fórum de utilizadores altamente activo para apoio/ajuda. Muitos tutoriais do YouTube também estão disponíveis.
Prós:
- Grátis de usar
- Funciona com a maioria dos OVPs
- Funciona com Windows 8, 8.1, e 10; macOS 10.12+; assim como com Linux
- É de fonte aberta para desenvolvimento contínuo e melhorias de crowdsourced
- Óptimo para principiantes
Contras:
- Falta de orientação e apoio detalhados
- Compatibilidade muito básica com macOS
- Muito pesado para a CPU e memória
Preços:
OBS Studio é de uso livre para todos e tem uma integração com o Dacast.
Melhor Uso:
OBS Studio é melhor utilizado como um software de codificação juntamente com uma plataforma de vídeo profissional online.
2. Wirecast
O Wirecast é uma ferramenta de produção de transmissão de vídeo ao vivo com capacidades de codificação RTMP. O Wirecast é uma ferramenta de transmissão de vídeo ao vivo com capacidades de codificação. É propriedade e operado pela Telestream, que existe desde 2004, mas as suas ferramentas de produção de vídeo existem desde 1998. A equipa da Telestream lançou recentemente a última versão da Wirecast a 18 de Maio de 2021. 14.2.1 é a mais recente versão completa desta última actualização.
Funcionalidades Básicas:
Wirecast é um alternador de vídeo de software que controla a alternância em tempo real entre várias fontes de vídeo.
É utilizado para a codificação e mistura de emissões profissionais.
Funcionalidades Principais:
- Fontes de entrada de câmaras, microfones, webcams, câmaras IP, cartões de captura, e desktops
- Ideal para desportos: repetição instantânea, placares, relógios e temporizadores
- A aplicação gratuita da câmara sem fios permite-lhe utilizar qualquer dispositivo iOS como fonte de vídeo
- Apoio NDI
- Ferramenta gráfica e de titulação
- Misturador de áudio e até 8 pistas de áudio
- Ferramenta de videoconferência incorporada
- Transmitir para mais do que um destino simultaneamente
- Suporte para controladores de hardware MIDI
- Fluxo e registo em simultâneo, com opções de re-stream e legendas em directo
- Transmissão multi-serviços
- Funciona tanto em Windows como em macOS
- Gráficos 3D
- Capacidades de Simulcasting
- As novas características da versão 14.1 estão incluídas:
- Nova Chave Luma e Chave de Cor
- Definições Chave de Precisão Chroma
- Maior Capacidade de Tamanho e Escala de Fontes, bem como Ligações de Fontes
- Biblioteca de Meios de Comunicação de Stock Gratuito
- Caixas e Camadas de Tiro Melhoradas
- Actualizações do Facebook Streaming
- Controlos da câmara NDI PTZ (Apenas na versão Pro)
- Actualização: as novíssimas características da Versão 14.2.1 incluem:
- Suporte Universal Apple: Agora o Wirecast pode ser executado nativamente em M1 Macs.
- Placeholders e Templates de Imagem: Novos e melhorados Templates de Imagens permitem-lhe adicionar facilmente um esquema de fotografia pré-configurado ao seu documento.
- Saída de Exibição Secundária (Apenas Pro): Adiciona um novo tipo de saída que envia o feed do programa ao vivo para um ecrã secundário sem a necessidade de hardware específico.
- Lock Shot Icon: Tira um instantâneo da imagem em directo e guarda-o como imagem de miniatura de um ícone.
- Indicador ISO do disparo: Verá um indicador de contagem de imagens nas imagens que estão actualmente a ser gravadas ISO.
- Controlo PTZ das câmaras Sony da série X: Adicionado perfil de protocolo VISCA/UDP da Série X da Sony no controlador PTZ.
- Suporte de Auto-Legendagem Live LinkedIn: Torne as suas transmissões LinkedIn Live mais acessíveis adicionando legendas auto-geradas a qualquer vídeo LinkedIn Live.
- Selector de ligações de entrada para dispositivos Blackmagic: Esta nova opção permite-lhe seleccionar o tipo de ligação de entrada de vídeo/áudio (HDMI/SDI) utilizado para as fontes de entrada Blackmagic Designs.
- Áudio na fonte da página Web: Adicionada a capacidade de ajustar áudio de uma fonte de Página Web, bem como de o transmitir como parte da sua emissão.
Prós:
- Com funções avançadas
- Compatível tanto com Mac como com Windows
- Grande apoio ao cliente
- Actualizações regulares do sistema
Contras:
- Preço elevado
- Ligeiramente complicado
Preços:
O Wirecast tem dois planos de codificação, e o software vem em duas versões:
- Wirecast Studio para produção e transmissão ao vivo melhorada: o preço é de $599
- Wirecast Pro para produção avançada ao vivo e streaming: o preço é de $799
Isto é um pouco caro para software de codificação, mas está orientado para emissores avançados. Oferecem um teste gratuito de 30 dias, se quiser experimentar antes de comprar.
Estão disponíveis actualizações adicionais de Wirecast, incluindo:
- O suporte de Wirecast vem em 2 níveis: Suporte interno: $99/ano; Suporte Premium: $299/ano
- Suporte de entrada de câmara HDV Firewire (os utilizadores de estúdio só precisam de comprar esta funcionalidade; a versão Pro inclui-a): $99
- NewBlueFX Titler Live (para criação de gráficos e títulos animados): $245 versão Standard, $445 versão Advance, $945 versão Ultimate
- Virtualsetworks (conjuntos virtuais pré-fabricados para uso em ecrã verde): $329
Melhor Uso:
O Wirecast Studio é mais adequado para emissoras avançadas e profissionais que pretendem operar transmissões em directo elaboradas.
3. VidBlasterX
VidBlasterX oferece às emissoras profissionais soluções de software de produção, codificação e transmissão de vídeo ao vivo. VidBlasterX é um codificador de software de transmissão ao vivo que se concentra na produção de vídeo. VidblasterX já não é gratuito e depende de uma instalação local baseada em assinatura para distribuir o seu software. A última edição é a X, ou a 5ª versão da solução, e tem 3 edições: Home, Studio, e Broadcast. Cada edição vem com mais características do que a sua versão de nível inferior, e a maior diferença entre elas está no número de módulos permitidos num único perfil: Home suporta até 7 módulos, Studio suporta até 25, e a edição de Broadcast de nível superior suporta até 50.
Funcionalidades Básicas:
Oferecem 3 pacotes: VidblasterX Home, VidBlasterX Studio, e VidBlasterX Broadcast. A principal diferença entre cada versão é o número de módulos que cada um suporta. Cada módulo sucessivo adiciona também características avançadas adicionais que os emissores profissionais apreciarão.
VidBlasterX Home é um produto básico. Suporta até 7 módulos. VidBlasterX Studio tem várias características para a produção de vídeos em estúdio (daí o nome) e permite uma maior versatilidade de vídeo. A versão Studio suporta produção com qualidade de televisão em HD e ecrã inteiro, bem como apoio comunitário. VidBlasterX Broadcast incorpora todas as características do VidBlaster Studio, acrescenta mais capacidade de módulos, e é recomendado para estúdios de emissão profissionais. Com a Broadcast, recebe apoio directo por correio electrónico do programador.
Características Principais:
- Interface de utilizador modular; tudo é personalizável
- Inclui funcionalidades de macro e de scripting para automatizar ou acções chave-na-mão
- Suporta sobreposições e terços inferiores
- Suporte Chroma key
- Transmissão em directo e gravação até 4K de resolução
- Compatível com plataformas de redes sociais, bem como com a maioria dos OVPs, incluindo Dacast com integração directa
- Misturador de áudio
- Apoio multiview
Prós:
- Versão gratuita
- Planos para cada orçamento
- Suporta múltiplas transmissões
- Configuração fácil
- Mistura de áudio e edição de vídeo
Contras:
- Branding na versão gratuita
- Só funciona no sistema operativo Windows
Preços:
VidBlasterX está disponível em 3 versões. Cada uma das seguintes opções tem o seu preço com um modelo de assinatura anual:
- A versão Home ($9/ano) suporta 7 módulos.
- A versão Studio ($99/ano) suporta 25 módulos.
- A versão de Broadcast ($999/ano) suporta 100 módulos. Esta versão também suporta vários módulos de gravador e streamer num único perfil.
Primeiro, a diferença entre as versões é o número de módulos simultaneamente activos que se pode ter. As edições Home suportam até sete módulos, o suficiente para transmissão ao vivo básico. A edição de Estúdio suporta até 25 módulos, e a edição de Broadcast suporta 50 módulos. Estes limites superiores permitem aos utilizadores profissionais com múltiplos monitores configurar e supervisionar fluxos de trabalho complexos.
Além disso, a edição Broadcast também suporta streaming UDP, múltiplas fontes de streaming, e módulos gravadores num único perfil, e inclui apoio prioritário.
Melhor Uso:
VidBlaster tem uma vasta gama de melhores utilizações, uma vez que tem uma enorme variedade de planos, mas as ferramentas de codificação estão no centro. Funciona bem com OVPs profissionais como o Dacast. Aqui está um tutorial sobre como fazer streaming no Dacast com VidBlasterX.
- Interface de utilizador modular; tudo é personalizável
- Inclui funcionalidades de macro e de scripting para automatizar ou acções chave-na-mão
- Suporta sobreposições e terços inferiores
- Suporte Chroma key
- Transmissão em directo e gravação até 4K de resolução
- Compatível com plataformas de redes sociais, bem como com a maioria dos OVPs, incluindo Dacast com integração directa
- Misturador de áudio
- Apoio multiview
Prós:
- Versão gratuita
- Planos para cada orçamento
- Suporta múltiplas transmissões
- Configuração fácil
- Mistura de áudio e edição de vídeo
Contras:
- Branding na versão gratuita
- Só funciona no sistema operativo Windows
Preços:
VidBlasterX está disponível em 3 versões. Cada uma das seguintes opções tem o seu preço com um modelo de assinatura anual:
- A versão Home ($9/ano) suporta 7 módulos.
- A versão Studio ($99/ano) suporta 25 módulos.
- A versão de Broadcast ($999/ano) suporta 100 módulos. Esta versão também suporta vários módulos de gravador e streamer num único perfil.
Primeiro, a diferença entre as versões é o número de módulos simultaneamente activos que se pode ter. As edições Home suportam até sete módulos, o suficiente para transmissão ao vivo básico. A edição de Estúdio suporta até 25 módulos, e a edição de Broadcast suporta 50 módulos. Estes limites superiores permitem aos utilizadores profissionais com múltiplos monitores configurar e supervisionar fluxos de trabalho complexos.
Além disso, a edição Broadcast também suporta streaming UDP, múltiplas fontes de streaming, e módulos gravadores num único perfil, e inclui apoio prioritário.
Melhor Uso:
VidBlaster tem uma vasta gama de melhores utilizações, uma vez que tem uma enorme variedade de planos, mas as ferramentas de codificação estão no centro. Funciona bem com OVPs profissionais como o Dacast. Aqui está um tutorial sobre como fazer streaming no Dacast com VidBlasterX.
4. vMix
VidBlasterX oferece às emissoras profissionais soluções de software de produção, codificação e transmissão de vídeo ao vivo. vMix é uma ferramenta de software de streaming com capacidades de codificação que foi concebida para sistemas operativos Windows. vMix foi desenvolvido pelo StudioCoast. A última versão do software específico para Windows é 24.0.0.63 e inclui uma actualização para um teste gratuito de 60 dias do vMix PRO para download. Enquanto o vMix é apenas para Windows, o software pode ser instalado num Mac via Boot Camp se a máquina tiver uma partição Windows.
Funcionalidades Básicas:
vMix oferece uma série de planos de ferramentas de streaming de vídeo. Oferecem uma vasta gama de funcionalidades a diferentes preços, pelo que existem opções para emissoras de todos os níveis de especialização. vMix oferece poderosos serviços de codificação.
Funcionalidades Principais:
- Suporte para uma vasta gama de entradas, incluindo webcams, câmaras, cartões de captura, DVDs, placas de som, listas de reprodução, fotografias, apresentações PPT, e mais
- Apoio NDI
- Chroma key e conjuntos virtuais
- Ferramenta de titulação incorporada que suporta animação via XAML
- Integração de plataformas de transmissão ao vivo (inclusive com a plataforma de streaming Dacast)
- O vMix Social permite-lhe exibir conteúdos de plataformas populares de meios de comunicação social
- Reprodução instantânea, câmara lenta, e painéis de pontuação
- Vídeos de formação disponíveis
- “sistemas de referência” vMix facilitam a dificuldade em torno da construção de um sistema personalizado de produção ao vivo
Prós:
- Muitas características poderosas
- Apoio ao cliente de confiança
- Plataforma profissional
- Velocidade acrescida para codecs especializados
Contras:
- Preço elevado para a maioria dos planos inclusivos
- Só funciona com Windows
- Um pouco complicado de usar
Preços:
O vMix está disponível apenas para computadores Windows, e vem em 5 edições diferentes de licenças vitalícias. Cada compra nunca expira, e todas as edições incluem actualizações gratuitas durante 1 ano. As versões são:
- Básico (gratuito), que suporta 4 (até 2 câmaras/NDI) entradas e vídeo até 768 x 576 resolução
- HD básico ($60), que suporta 4 entradas (até 3 câmaras/NDI) e vídeo até à resolução Full HD 1920×1080
- HD ($350), que suporta 1.000 entradas, adiciona funcionalidade de chamada vMix, 4 canais sobrepostos, e suporta vídeo Full HD na resolução 1920×1080
- 4K ($700), que suporta 1.000 entradas, vídeo de resolução 4K (4096 x 2160), controlo PTZ, 2 gravadores, reprodução instantânea, 4 saídas SRT, e muito mais
- Pro ($1200), que também suporta 1.000 entradas, inclui todas as funcionalidades 4K e 2 registos, mais até 8 chamadas, até 4 câmaras para repetição instantânea, e 4 saídas SRT
O seguinte é uma licença de subscrição e inclui, e é cobrado mensalmente:
- MAX ($50/mês), que também suporta 1.000 entradas, 1.000 entradas NDI, e inclui todos os vídeos de resolução 4K (4096 x 2160), controlo PTZ, 2 gravadores, reprodução instantânea, 4 saídas SRT
Melhor Uso:
O vMix é melhor utilizado como uma ferramenta de codificação juntamente com uma plataforma de vídeo profissional online.
5. TriCaster
TriCaster é uma tecnologia inovadora orientada por software, oferecendo aos emissores ferramentas de qualidade profissional para a codificação e produção de vídeo. TriCaster oferece hardware de codificador RTMP de alta qualidade da NewTek para emissores avançados. Tem uma vasta gama de capacidades que vão para além da codificação. Uma vez que se trata de uma solução de hardware, não existem versões ou edições de download em linha rastreáveis. Dito isto, a TriCaster tem 4 produtos principais: Mini 4K, TC410 Plus, TC1, e o porta-estandarte 2 Elite.
Funcionalidades Básicas:
As ferramentas de codificação TriCaster são concebidas para ajudar as emissoras na transmissão em directo através da codificação em tempo real.
Funcionalidades Principais:
- Hardware dispendioso
- Ferramentas de mistura incorporadas
- Codificação em tempo real
- Capacidades de gravação
Prós:
- Pode processar gráficos em movimento
- Registo para DDR
Contras:
- Preço elevado
- Requer ferramentas adicionais pagas para utilizar
- Configuração complicada
- Muito pesado (alguns dispositivos com mais de 10 kg)
Produtos Principais:
NewTek oferece vários produtos diferentes na linha TriCaster, incluindo
- TriCaster 2 Elite: Dispositivo de codificação para emissão avançada, de qualidade televisiva
- TriCaster 4k Mini: Codificador portátil de secretária
- TriCaster TC410 Plus: Ferramenta de codificação para produções de tamanho médio
- TriCaster TC1: Tudo o que as emissoras precisam para a produção de vídeo de ponta a ponta
Preços:
Os dispositivos de codificação Tricaster começam em $8.995 para o modelo base Mini 4K, $9.995 para o TC410 Plus, $14.995 para o TC1 num chassis 2RU, e $27.995 para o TriCaster 2 Elite.
Melhor Uso:
Os dispositivos de codificação do Tricaster são mais adequados para emissoras avançadas e profissionais.
6. TeraDek
A tecnologia Teradek oferece soluções de vídeo e codificação e é utilizada em todo o mundo por emissoras profissionais e amadoras para capturar e partilhar conteúdos. O TeraDek é uma ferramenta de codificação física que foi construída para emissão móvel. É mais utilizado por emissoras avançadas e profissionais devido ao seu preço elevado. A sua funcionalidade e o seu design conveniente fazem com que valha a pena o seu forte investimento. Tal como o TriCaster, TeraDek é um codificador de hardware com uma variedade de produtos, mas apresenta CORE 2.0, que é uma plataforma de gestão de streaming baseada na nuvem, concebida para actualizar e suportar capacidades de transmissão ao vivo para a sua linha de produtos. O serviço funciona com tecnologia de nuvem, permitindo aos utilizadores de qualquer parte do mundo aceder à plataforma através dos produtos de hardware TeraDek.
Funcionalidades Básicas:
O hardware do codificador RTMP TeraDek foi construído para codificar em movimento. Existem 4 produtos principais: Bolt 4K, TeraDek RT, VidiU Go, e Cube. Os seus desenhos compactos e chassis portáteis permitem que as emissoras transmitam para além do estúdio.
Características Principais:
- Suficientemente pequeno para filmar e codificar em movimento
- Apoio e actualização de produtos através de CORE
- Qualidade de vídeo fenomenal
- Um pouco caro
Prós:
- Construído para transmissão ao vivo
- Qualidade de vídeo topo de gama
- Chassis portátil
- Desenho compacto
Contras:
- Preço muito elevado
Produtos Principais:
A Teradek oferece uma vasta gama de dispositivos de codificação para radiodifusão profissional. Alguns dos seus produtos principais incluem:
- Bolt: Uma solução compacta muito potente para vídeo em movimento de qualidade de cinema HD 4K com latência zero
- Vidiu Go: Codificador de streaming ao vivo que pode ser utilizado para emissão em movimento
- Bond: codificador de mochila para emissão em movimento
- Prism: dispositivo de codificação e descodificação 4K
- Cube: Concebido para suportar vídeo IP
- Ranger: Codificador para ligação sem fios ao OVP a partir de equipamento de captura de grau de televisão
Preços:
As ferramentas de codificação Teradek começam em $1,490 para Vidiu Go, $1,790 para CUBE, $2,490 para o Bolt 4K LT, e $3,499.95 para a versão CTRL.3 do TeraDek RT.
Melhor Uso:
O TeraDek é mais adequado para emissoras avançadas e profissionais.
7. Niagara Video
O Niagara Video oferece uma solução de montagem adequada para várias organizações e inclui codificação, transcodificação, e descodificação de vídeo. O Niagara Video oferece quase 20 diferentes opções de hardware e software de codificador RTMP para emissoras de diferentes níveis de especialização. O Niagara Video tem servido a comunidade de radiodifusão há quase 20 anos e é considerado um “pioneiro e inovador” na sua indústria. A empresa oferece soluções tanto de hardware como de software, concentrando-se em verticais incluindo a radiodifusão desportiva, empresarial e empresarial, igrejas e casas de culto, governo, educação, e muito mais.
Funcionalidades Básicas:
As ferramentas de codificação do Niagara são concebidas para codificar e transcodificar o conteúdo de vídeo.
Características Principais:
- Uma grande variedade de ferramentas de codificação à escolha
Prós:
- Muitas escolhas de codificação de hardware e software
Contras:
- Sem transparência de preços
Produtos Principais
Os codificadores do Niagara incluem actualmente várias linhas de modelos, cada uma das quais disponível numa variedade de configurações. Cada modelo inclui também uma garantia limitada de 1 ano.
- O novo Niagara Série 9300 é uma unidade de montagem em rack 1U que suporta entradas HD e/ou SD SDI com até 8 pares estéreo (16 canais) de áudio incorporado. O 9300 permite a entrega de múltiplos streams simultâneos. Também inclui um SDK web para permitir personalizações e integrações. Além disso, suporta o novo software SCX Linux ou software SCX+.
- Os codificadores GoStream Digital e Analógico são codificadores de streaming poderosos e compactos de dois canais com unidades de estado sólido integradas. Estão disponíveis em versões SDI ou DVI-I, bem como versões que suportam Componente/Composto/S-Video e HDMI/DVI VGA. Além disso, suportam Transport Stream (UDP/RTP), Adobe Flash (RTMP), Windows Media, e o protocolo HLS da Apple.
- O codificador GoStream B264 foi concebido para uso em aplicações de transmissão e streaming. Esta pequena unidade (3 cabe em 1 RU) apresenta 2 entradas SDI, duas saídas ASI, 4 portas Gigabit Ethernet, e uma variedade de outras opções de conectividade.
- Finalmente, o GoStream Mini 200 é um codificador flexível e acessível com baixo consumo de energia e suporte para formatos de vídeo comuns ao consumidor e profissional como AVC / HEVC, H.264 / H.265. O dispositivo inclui entradas para SDI, HDMI, componente, composto, DVI/VGA, e áudio desequilibrado. Adicionalmente, também tem a capacidade de gravar um ficheiro como MP4 enquanto transmite em directo.
Preços:
A Niagara tem muitos produtos, e seria melhor contactar directamente a Niagara para obter preços nos seus produtos e soluções, uma vez que os seus preços não são transparentes. Contudo, para lhe dar uma melhor ideia dos seus pontos de preço, conseguimos encontrar um preço de $1,299 para o GoStream Mini 150 colocado online.
Melhor Uso:
Uma vez que o Niagara oferece uma grande variedade de produtos e soluções, não há uma única melhor utilização. Contudo, a principal função dos seus produtos é codificar e transcodificar o conteúdo de vídeo ao vivo.
Conclusão
Há tanto para saber sobre a codificação de vídeo. Desde RTMP e HLS a dispositivos de gravação e OVPs, há realmente tantas partes móveis envolvidas na transmissão ao vivo.
A configuração de um codificador RTMP requer muitos passos, mas não tem de ser confusa ou complicada. Embora possa ser muita coisa, especialmente se for o seu primeiro streaming, o processo torna-se bastante simples com um pouco de direcção.
Felizmente, existem tantas ferramentas de codificação maravilhosas no mercado, por isso não terá problemas em encontrar uma com as características que melhor se adaptem às suas necessidades de transmissão.
Se está à procura de uma plataforma de vídeo em directo de ponta a ponta para alojar as suas transmissões ao vivo, não procure mais. Está interessado em experimentar as nossas soluções de streaming? Porque não tirar partido do nosso teste gratuito de 30 dias (não é necessário cartão de crédito). Pode testar todas as características do Dacast para ver se é bom para si!
Alguma pergunta? Informe-nos, deixando um comentário abaixo! Temos experiência com a maioria dos tipos de codificadores de streaming de vídeo ao vivo, pelo que provavelmente podemos ajudar, independentemente dos problemas que esteja a enfrentar. Para ofertas exclusivas e dicas regulares de transmissão em directo, junte-se ao nosso grupo do LinkedIn.
Obrigado pela leitura e boa transmissão!
- Como configurar um servidor de streaming de vídeo usando Nginx-RTMP no Ubuntu 20.04por mascarenhas.dj
Introdução
Existem muitos casos de uso para streaming de vídeo. Provedores de serviços como o Twitch são muito populares para lidar com os aspectos de descoberta na web e gerenciamento de comunidade do streaming, e softwares gratuitos como o OBS Studio são amplamente usados para combinar sobreposições de vídeo de várias fontes de stream diferentes em tempo real. Embora essas plataformas sejam muito poderosas, em alguns casos você pode querer hospedar um fluxo que não dependa de outros provedores de serviços.
Neste tutorial, você aprenderá como configurar o servidor web Nginx para hospedar um fluxo de vídeo RTMP independente que pode ser vinculado e visualizado em diferentes aplicativos. RTMP, o Real-Time Messaging Protocol , define os fundamentos da maioria dos streamings de vídeo na Internet. Você também aprenderá a hospedar fluxos HLS e DASH que suportam plataformas mais modernas usando a mesma tecnologia.
Pré-requisitos
Para concluir este guia, você precisará de:
- Um servidor Ubuntu 20.04 e um usuário não root com privilégios sudo. Você pode aprender mais sobre como configurar um usuário com esses privilégios em nosso guia Configuração inicial do servidor com Ubuntu 20.04 .
- Nginx instalado, seguindo Como instalar o Nginx no Ubuntu 20.04 .
Este tutorial usará o nome de domínio de espaço reservado your_domain para URLs e nomes de host. Substitua isso pelo seu próprio nome de domínio ou endereço IP enquanto você trabalha no tutorial.
Etapa 1 — Instalando e configurando o Nginx-RTMP
A maioria das ferramentas de streaming modernas suporta o protocolo RTMP, que define os parâmetros básicos de um stream de vídeo na Internet. O servidor da web Nginx inclui um módulo que permite fornecer um fluxo RTMP com configuração mínima a partir de uma URL dedicada, assim como fornece acesso HTTP a páginas da web por padrão. O módulo Nginx RTMP não está incluído automaticamente no Nginx, mas no Ubuntu 20.04 e na maioria das outras distribuições Linux você pode instalá-lo como um pacote adicional.
Comece executando os seguintes comandos como um usuário não root para atualizar suas listagens de pacotes e instalar o módulo Nginx:
sudo apt update sudo apt install libnginx-mod-rtmp
cópia de
A instalação do módulo não começará automaticamente a fornecer um fluxo. Você precisará adicionar um bloco de configuração ao arquivo de configuração do Nginx que define onde e como o fluxo estará disponível.
Usando
nano
ou seu editor de texto favorito, abra o arquivo de configuração principal do Nginx,/etc/nginx/nginx.conf
, e adicione este bloco de configuração ao final do arquivo:sudo nano /etc/nginx/nginx.conf
cópia de/etc/nginx/nginx.conf
. . . rtmp { server { listen 1935; chunk_size 4096; allow publish 127.0.0.1; deny publish all; application live { live on; record off; } } }
listen 1935
significa que o RTMP estará escutando conexões na porta 1935, que é padrão.chunk_size 4096
significa que o RTMP enviará dados em blocos de 4KB, o que também é padrão.allow publish 127.0.0.1
edeny publish all
significa que o servidor só permitirá a publicação de vídeo do mesmo servidor, para evitar que outros usuários enviem seus próprios fluxos.application live
define um bloco de aplicativo que estará disponível no/live
caminho da URL.live on
habilita o modo ao vivo para que vários usuários possam se conectar ao seu stream simultaneamente, uma suposição básica de streaming de vídeo.record off
desativa a funcionalidade de gravação do Nginx-RTMP, para que todos os fluxos não sejam salvos separadamente no disco por padrão.
Salve e feche o arquivo. Se estiver usando
nano
, pressioneCtrl+X
, quando solicitadoY
e Enter.Isso fornece o início de sua configuração RTMP. Por padrão, ele escuta na porta
1935
, o que significa que você precisará abrir essa porta em seu firewall. Se você configurouufw
como parte da configuração inicial do servidor, execute o seguinte comando.sudo ufw allow 1935/tcp
cópia de
Agora você pode recarregar o Nginx com suas alterações:
sudo systemctl reload nginx.service
cópia de
Agora você deve ter um servidor RTMP funcionando. Na próxima seção, abordaremos o streaming de vídeo para seu servidor RTMP de fontes locais e remotas.
Passo 2 — Enviando vídeo para seu servidor RTMP
Existem várias maneiras de enviar vídeo para seu servidor RTMP. Uma opção é usar o
ffmpeg
, um utilitário popular de áudio e vídeo de linha de comando, para reproduzir um arquivo de vídeo diretamente em seu servidor. Se você ainda não tem um arquivo de vídeo no servidor, pode baixar um usandoyoutube-dl
, uma ferramenta de linha de comando para capturar vídeo de plataformas de streaming como o YouTube. Para usaryoutube-dl
, você também precisará de uma instalação atualizada do Python em seu servidor.Primeiro, instale o Python e seu gerenciador de pacotes,
pip
:sudo apt install python3-pip
cópia de
Em seguida, use
pip
para instalaryoutube-dl
:pip install youtube-dl
cópia de
Agora você pode usar
youtube-dl
para baixar um vídeo do YouTube. Se você não tem um em mente, experimente este vídeo, apresentando a plataforma de aplicativos da DigitalOcean:youtube-dl https://www.youtube.com/watch?v=iom_nhYQIYk
cópia de
Você verá alguma saída
youtube-dl
combinando os fluxos de vídeo e áudio que está baixando de volta em um único arquivo – isso é normal.Output[youtube] iom_nhYQIYk: Downloading webpage WARNING: Requested formats are incompatible for merge and will be merged into mkv. [download] Destination: Introducing App Platform by DigitalOcean-iom_nhYQIYk.f137.mp4 [download] 100% of 32.82MiB in 08:40 [download] Destination: Introducing App Platform by DigitalOcean-iom_nhYQIYk.f251.webm [download] 100% of 1.94MiB in 00:38 [ffmpeg] Merging formats into "Introducing App Platform by DigitalOcean-iom_nhYQIYk.mkv" Deleting original file Introducing App Platform by DigitalOcean-iom_nhYQIYk.f137.mp4 (pass -k to keep) Deleting original file Introducing App Platform by DigitalOcean-iom_nhYQIYk.f251.webm (pass -k to keep)
Agora você deve ter um arquivo de vídeo em seu diretório atual com um título como
Introducing App Platform by DigitalOcean-iom_nhYQIYk.mkv
. Para transmiti-lo, você deve instalarffmpeg
:sudo apt install ffmpeg
cópia de
E use
ffmpeg
para enviá-lo ao seu servidor RTMP:ffmpeg -re -i "Introducing App Platform by DigitalOcean-iom_nhYQIYk.mkv" -c:v copy -c:a aac -ar 44100 -ac 1 -f flv rtmp://localhost/live/stream
cópia de
Este
ffmpeg
comando está fazendo algumas coisas para preparar o vídeo para um formato compatível com streaming. Este não é umffmpeg
tutorial, então você não precisa examiná-lo muito de perto, mas você pode entender as várias opções da seguinte forma:-re
especifica que a entrada será lida em sua taxa de quadros nativa.-i "Introducing App Platform by DigitalOcean-iom_nhYQIYk.mkv"
especifica o caminho para nosso arquivo de entrada .-c:v
está definido comocopy
, o que significa que você está copiando o formato de vídeo obtido do YouTube nativamente.-c:a
tem outros parâmetros, a saberaac -ar 44100 -ac 1
, porque você precisa reamostrar o áudio para um formato compatível com RTMP.aac
é um codec de áudio amplamente suportado,44100
hz é uma frequência comum e-ac 1
especifica a primeira versão da especificação AAC para fins de compatibilidade.-f flv
envolve o vídeo em umflv
contêiner de formato para compatibilidade máxima com RTMP.
O vídeo é enviado
rtmp://localhost/live/stream
porque você definiu olive
bloco de configuração na Etapa 1 estream
é um URL escolhido arbitrariamente para este vídeo.Observação: você pode aprender mais sobre
ffmpeg
as opções em ffmprovisr , um catálogo deffmpeg
exemplos de comandos mantido pela comunidade ou consultar a documentação oficial .Enquanto
ffmpeg
estiver transmitindo o vídeo, ele imprimirá códigos de tempo:Outputframe= 127 fps= 25 q=-1.0 size= 405kB time=00:00:05.00 bitrate= 662.2kbits/s speed=frame= 140 fps= 25 q=-1.0 size= 628kB time=00:00:05.52 bitrate= 931.0kbits/s speed=frame= 153 fps= 25 q=-1.0 size= 866kB time=00:00:06.04 bitrate=1173.1kbits/s speed=
Esta é a
ffmpeg
saída padrão. Se você estava convertendo o vídeo para um formato diferente, isso pode ser útil para entender a eficiência com que o vídeo está sendo reamostrado, mas, neste caso, você só quer ver se ele está sendo reproduzido de forma consistente. Usando este vídeo de exemplo, você deve obterfps= 25
incrementos exatos.Enquanto o ffmpeg está em execução, você pode se conectar ao seu fluxo RTMP a partir de um player de vídeo. Se você tiver
VLC
,mpv
, ou outro reprodutor de mídia instalado localmente, poderá visualizar seu stream abrindo o URL no seu reprodutor de mídia. Sua transmissão será encerrada após a reprodução do vídeo. Se você quiser que ele continue em loop indefinidamente, você pode adicionar ao início do seu comando.rtmp://your_domain/live/stream
ffmpeg
-stream_loop -1
ffmpeg
Nota: Você também pode transmitir diretamente para, por exemplo, o Facebook Live usando
ffmpeg
sem precisar usar o Nginx-RTMP substituindortmp://localhost/live/stream
em seuffmpeg
comando por . O YouTube usa URLs como . Outros provedores de streaming que podem consumir streams RTMP devem se comportar da mesma forma.rtmps://live-api-s.facebook.com:443/rtmp/your-facebook-stream-key
rtmp://a.rtmp.youtube.com/live2
Agora que você aprendeu a transmitir fontes de vídeo estáticas a partir da linha de comando, aprenderá a transmitir vídeo de fontes dinâmicas usando o OBS em uma área de trabalho.
Passo 3 — Streaming de vídeo para seu servidor via OBS (opcional)
A transmissão via
ffmpeg
é conveniente quando você tem um vídeo preparado que deseja reproduzir, mas a transmissão ao vivo pode ser muito mais dinâmica. O software mais popular para transmissão ao vivo é o OBS ou Open Broadcaster Software – é gratuito, de código aberto e muito poderoso.O OBS é um aplicativo de desktop e se conectará ao seu servidor a partir do seu computador local.
Depois de instalar o OBS, configurá-lo significa personalizar quais janelas da área de trabalho e fontes de áudio você deseja adicionar ao seu fluxo e, em seguida, adicionar credenciais para um serviço de streaming. Este tutorial não abordará sua configuração de streaming, pois depende de preferência e, por padrão, você pode ter uma demonstração de trabalho apenas transmitindo toda a área de trabalho. Para definir suas credenciais de serviço de streaming, abra o menu de configurações do OBS, navegue até a opção Stream e insira as seguintes opções:
Streaming Service: Custom Server: rtmp://your_domain/live Play Path/Stream Key: obs_stream
obs_stream
é um caminho escolhido arbitrariamente – nesse caso, seu vídeo estaria disponível em . Você não precisa habilitar a autenticação, mas precisa adicionar uma entrada adicional à lista de permissões de IP que você configurou na Etapa 1.rtmp://your_domain/live/obs_stream
De volta ao servidor, abra o arquivo de configuração principal do Nginx,
/etc/nginx/nginx.conf
, e adicione umaallow publish
entrada adicional para seu endereço IP local. Se você não souber seu endereço IP local, é melhor acessar um site como Qual é o meu IP, que pode informar de onde você o acessou:sudo nano /etc/nginx/nginx.conf
cópia de/etc/nginx/nginx.conf
. . . allow publish 127.0.0.1; allow publish your_local_ip_address; deny publish all; . . .
Salve e feche o arquivo e recarregue o Nginx:
sudo systemctl reload nginx.service
cópia de
Agora você deve conseguir fechar o menu de configurações do OBS e clicar
Start Streaming
na interface principal! Tente visualizar seu stream em um media player como antes. Agora que você viu os fundamentos do streaming de vídeo em ação, você pode adicionar alguns outros recursos ao seu servidor para torná-lo mais pronto para a produção.Etapa 4 — Adicionando monitoramento à sua configuração (opcional)
Agora que você configurou o Nginx para transmitir vídeo usando o módulo Nginx-RTMP, uma próxima etapa comum é habilitar a página de estatísticas RTMP. Em vez de adicionar mais e mais detalhes de configuração ao seu
nginx.conf
arquivo principal, o Nginx permite adicionar configurações por site a arquivos individuais em um subdiretório chamadosites-available/
. Nesse caso, você criará um chamadortmp
:sudo nano /etc/nginx/sites-available/rtmp
cópia de
Adicione o seguinte conteúdo:/etc/nginx/sites-available/rtmp
server { listen 8080; server_name localhost; # rtmp stat location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /var/www/html/rtmp; } # rtmp control location /control { rtmp_control all; } }
Salve e feche o arquivo. O
stat.xsl
arquivo deste bloco de configuração é usado para estilizar e exibir uma página de estatísticas RTMP em seu navegador. Ele é fornecido pelalibnginx-mod-rtmp
biblioteca que você instalou anteriormente, mas vem compactado por padrão, portanto, você precisará descompactá-lo e colocá-lo no/var/www/html/rtmp
diretório para corresponder à configuração acima. Observe que você pode encontrar informações adicionais sobre qualquer uma dessas opções na documentação do Nginx-RTMP .Crie o
/var/www/html/rtmp
diretório e descompacte ostat.xsl.gz
arquivo com os seguintes comandos:sudo mkdir /var/www/html/rtmp sudo gunzip -c /usr/share/doc/libnginx-mod-rtmp/examples/stat.xsl.gz > /var/www/html/rtmp/stat.xsl`
cópia de
Finalmente, para acessar a página de estatísticas que você adicionou, você precisará abrir outra porta em seu firewall. Especificamente, a
listen
diretiva é configurada com port8080
, portanto, você precisará adicionar uma regra para acessar o Nginx nessa porta. No entanto, você provavelmente não quer que outras pessoas acessem sua página de estatísticas, então é melhor permitir apenas para seu próprio endereço IP. Execute o seguinte comando:sudo ufw allow from your_ip_address to any port http-alt
cópia de
Em seguida, você precisará ativar essa nova configuração. A convenção do Nginx é criar links simbólicos (como atalhos) de arquivos
sites-available/
para outra pasta chamadasites-enabled/
conforme você decide ativá-los ou desativá-los. Usando caminhos completos para maior clareza, faça esse link:sudo ln -s /etc/nginx/sites-available/rtmp /etc/nginx/sites-enabled/rtmp
cópia de
Agora você pode recarregar o Nginx novamente para processar suas alterações:
sudo systemctl reload nginx.service
cópia de
Agora você deve poder acessar em um navegador para ver a página de estatísticas RTMP. Visite e atualize a página durante a transmissão de vídeo e observe como as estatísticas de transmissão mudam.
http://your_domain:8080/stat
Agora você viu como monitorar seu fluxo de vídeo e enviá-lo para provedores de terceiros. Na seção final, você aprenderá como fornecê-lo diretamente em um navegador sem o uso de plataformas de streaming de terceiros ou aplicativos de media player independentes.
Etapa 5 — Criando fluxos modernos para navegadores (opcional)
Como etapa final, você pode adicionar suporte para protocolos de streaming mais recentes para que os usuários possam transmitir vídeo do seu servidor usando um navegador da Web diretamente. Existem dois protocolos que você pode usar para criar fluxos de vídeo baseados em HTTP: HLS da Apple e MPEG DASH . Ambos têm vantagens e desvantagens, então você provavelmente desejará oferecer suporte a ambos.
O módulo Nginx-RTMP suporta ambos os padrões. Para adicionar suporte a HLS e DASH ao seu servidor, você precisará modificar o
rtmp
bloco em seunginx.conf
arquivo. Abra/etc/nginx/nginx.conf
usandonano
ou seu editor preferido e adicione as seguintes diretivas destacadas:sudo nano /etc/nginx/nginx.conf
cópia de/etc/nginx/nginx.conf
. . . rtmp { server { . . . application live { live on; record off; hls on; hls_path /var/www/html/stream/hls; hls_fragment 3; hls_playlist_length 60; dash on; dash_path /var/www/html/stream/dash; } } } . . .
Salve e feche o arquivo. Em seguida, adicione isso na parte inferior do seu
sites-available/rtmp
:sudo nano /etc/nginx/sites-available/rtmp
cópia de/etc/nginx/sites-available/rtmp
. . . server { listen 8088; location / { add_header Access-Control-Allow-Origin *; root /var/www/html/stream; } } types { application/dash+xml mpd; }
Nota: O
Access-Control-Allow-Origin *
cabeçalho habilita CORS , ou Cross-Origin Resource Sharing , que é desabilitado por padrão. Isso comunica a qualquer navegador da Web que acesse dados do seu servidor que o servidor pode carregar recursos de outras portas ou domínios. O CORS é necessário para compatibilidade máxima com clientes HLS e DASH e uma alternância de configuração comum em muitas outras implantações da Web.Salve e feche o arquivo. Observe que você está usando a porta8088aqui, que é outra escolha arbitrária para este tutorial para evitar conflitos com quaisquer serviços que você possa estar executando na porta 80 ou 443. Você vai querer abrir essa porta em seu firewall por enquanto também:
sudo ufw allow 8088/tcp
cópia de
Por fim, crie um
stream
diretório em sua raiz da web para corresponder ao bloco de configuração, para que o Nginx possa gerar os arquivos necessários para HLS e DASH:sudo mkdir /var/www/html/stream
cópia de
Recarregue o Nginx novamente:
sudo systemctl reload nginx
cópia de
Agora você deve ter um fluxo HLS disponível em e um fluxo DASH disponível em . Esses endpoints gerarão todos os metadados necessários em seu feed de vídeo RTMP para oferecer suporte a APIs modernas.
http://your_domain:8088/hls/stream.m3u8
http://your_domain:8088/dash/stream.mpd
Conclusão
As opções de configuração usadas neste tutorial estão todas documentadas na página Nginx RTMP Wiki . Os módulos Nginx normalmente compartilham uma sintaxe comum e expõem um conjunto muito grande de opções de configuração, e você pode revisar sua documentação para alterar qualquer uma de suas configurações aqui.
Quase todo o streaming de vídeo da Internet é implementado em RTMP, HLS e DASH e, usando a abordagem que você explorou neste tutorial, você pode fornecer seu stream por meio de outros serviços de transmissão ou expô-lo de qualquer outra maneira que desejar. Em seguida, você pode configurar o Nginx como um proxy reverso para disponibilizar alguns desses diferentes endpoints de vídeo como subdomínios.