FFmpeg Live Streaming – O que as emissoras profissionais precisam de saber [2022 Update]

Muitos radiodifusores profissionais utilizam software de transmissão em direto para além das suas plataformas de vídeo em linha. Normalmente, o software de transmissão de vídeo fornece ferramentas para codificação, transcodificação, adição de efeitos no ecrã e muito mais.

Se procura uma ferramenta leve e simples para a produção de transmissões em direto e outras tarefas de vídeo, o FFmpeg pode ser o software ideal para si. Pode utilizar o FFmpeg para criar fluxos rtmp.

Esta ferramenta rica em funcionalidades foi concebida principalmente para radiodifusores avançados. Para ajudar a reduzir a curva de aprendizagem, elaborámos este guia para explicar alguns dos códigos e funções disponíveis no FFmpeg. Este tutorial do FFmpeg ajudá-lo-á a compreender o seu funcionamento.

Neste post, vamos abordar como configurar o FFmpeg no Linux, Mac e Windows, e como usar o FFmpeg para transmitir transmissões ao vivo. Também apresentaremos uma breve descrição de como utilizar o software com o nosso próprio plataforma de transmissão em direto. Este tutorial do FFmpeg irá cobrir o que precisa de saber para usar o FFmpeg para streaming.

Vamos começar com os princípios básicos do FFmpeg live streaming e as suas ferramentas úteis.

Índice:

  • O que é o FFmpeg?
  • O que se pode fazer com o FFmpeg?
  • Como funcionam as ferramentas de transmissão em direto do FFmpeg
  • Como descarregar e configurar o FFmpeg
  • Como utilizar o FFmpeg para transmissão em direto
  • Como transmitir ao vivo usando FFmpeg e Dacast
  • Conclusão

O que é o FFmpeg?

fluxo ffmpeg
O FFmpeg é um utilitário de linha de comandos gratuito e de código aberto com ferramentas para transmissão em direto.

O que é o FFmpeg? O FFmpeg é um software de streaming concebido para para converter, gravar, juntar, editar, reproduzir, codificar, muxing/demuxing e ficheiros multimédia em fluxo contínuo. Funciona com áudio, imagens e vídeo em praticamente qualquer codec ou formato utilizado nos últimos 20 anos.

O FFmpeg é gratuito e de código aberto, o que significa que qualquer pessoa pode descarregar o software sem qualquer custo. Os programadores poderão também integrar o FFmpeg noutros projectos.

Este programa é um utilitário de linha de comando, o que significa que o FFmpeg não foi construído em torno de uma Interface Gráfica de Utilizador (GUI). Em vez disso, é uma aplicação que aceita comandos através de “interfaces de linha de comandos” (CLI)O que significa que é necessário um pouco de conhecimento técnico.

Se alguma vez utilizou um computador baseado em Unix, como o Linux ou o macOS, pode ter utilizado a aplicação “terminal”. No Windows, o MS-DOS e o mais moderno “Powershell” fornecem uma interface de linha de comando.

Os utilizadores avançados, os administradores de sistemas, os programadores e outras pessoas que trabalham com código complexo preferem geralmente um CLI. Muitas vezes, as ferramentas de administração do sistema só estão disponíveis através do CLI. A criação de scripts, a automatização e outras tarefas avançadas são frequentemente mais fáceis através da CLI. Assim, o FFmpeg serve este público ao fornecer ferramentas multimédia a partir da linha de comandos. Os programas FFmpeg requerem um pouco de conhecimento de programação.

O que se pode fazer com o FFmpeg?

O FFmpeg tem uma vasta gama de capacidades para a transmissão de vídeo em direto. Com o FFmpeg, os utilizadores podem fazer o seguinte:

  • Converter entre diferentes formatos de ficheiros e codecs (ou seja, codificação)
  • Ajustar a taxa de bits (áudio e vídeo)
  • Ajustar o volume, remover áudio e/ou fundir um ficheiro de áudio com um ficheiro de vídeo
  • Remapear uma fonte de áudio mono para canais estéreo
  • Cortar, dimensionar ou rodar um ficheiro de vídeo
  • Gravação de entrada de uma webcam ou outra fonte de vídeo
  • Transmitir em direto um fluxo de vídeo

Quando se trata de multimédia, não há muito que o FFmpeg não possa fazer. A transmissão em direto e a criação de vídeos com o FFmpeg é muito diversificada e permite-lhe fazer praticamente tudo o que quiser num vídeo.

Se já utilizou software de edição de imagem, de vídeo ou de áudio, provavelmente já utilizou o FFmpeg. Dada a sua natureza gratuita e de código aberto, muitos outros aplicações com uma GUI usam o FFmpeg para fornecer processamento de backend. YPoderia facilmente ter trabalhado com o FFmpeg online sem o saber.

É importante salientar que o FFmpeg NÃO é um codificador para principiantes que pretendam transmitir transmissões em direto. Para os novos organismos de radiodifusão, seria melhor começar com um codificador gratuito, como o Estúdio OBS. Podem também considerar investir em opções de software de codificação pagas, tais como Transmissão por cabo, vMix, e VidBlasterX. O FFmpeg é para pessoas com conhecimentos mais avançados de codificação e transmissão.

Como funcionam as ferramentas de transmissão em direto do FFmpeg

FFmpeg rtmp stream
O FFmpeg oferece uma coleção impressionante de ferramentas de transmissão em direto que funcionam com a maioria das entradas e saídas.

No que respeita à transmissão de vídeo em direto No que diz respeito ao software, o FFmpeg fornece uma variedade relativamente grande de ferramentas. O FFmpeg suporta muitas entradas de vídeo e áudio que são acessíveis ao seu computador. Estas incluem webcams, microfones USB e câmaras que se ligam através de placas de captura.

Além disso, pode especificar uma saída como um fluxo RTMP destinado à sua plataforma deplataforma de streaming. O FFmpeg aceitará as suas informações de início de sessão para lhe permitir transmitir para este destino. Isto proporciona uma interface de linha de comando simples para a funcionalidade de transmissão em direto. Neste caso, o FFmpeg actua como o software de codificação em direto. Pode utilizar o FFmpeg para transmitir em direto.

Uma aplicação importante do FFmpeg diz respeito à mistura de uma produção complexa ao vivo. Para esta função, pode querer ter um computador potente dedicado à captura de imagens de várias câmaras. É necessária uma grande capacidade de processamento para misturar produções complexas ao vivo.

Um engenheiro colocado nesta câmara mistura então o conteúdo de vídeo em tempo real. Depois, o engenheiro pode enviar um feed para outro computador com FFmpeg. Este computador, por sua vez, pode transmitir em direto o resultado final. O FFmpeg oferece transcodificação e transmissão em tempo real.

Esta configuração divide efetivamente a carga de processamento entre várias máquinas.

Como descarregar e configurar o FFmpeg

Para utilizar o FFmpeg para transmissão em direto, é necessário descarregar primeiro o software.

A maneira mais fácil de descarregar FFmpeg é a partir de diretamente no sítio Web. A instalação terá um aspeto diferente consoante o sistema operativo que utilizar.

Aqui está um breve passo a passo para configurar o FFmpeg no Linux, macOS e Windows.

1. Instalação do Linux

O site site do FFmpeg tem pacotes Linux para Debian, Ubuntu, Fedora e Red Hat Enterprise Linux. Muitos outros distros devem ser capazes de instalar facilmente o FFmpeg usando a sua variação de localização do comando install. Por exemplo:

sudo apt-get install ffmpeg

No entanto, recomendamos que compilar o FFmpeg você mesmo porque esta abordagem permite-lhe transmitir vídeos RTMP através da biblioteca librtmp. Para o fazer, vamos utilizar o Ubuntu como a nossa distribuição de exemplo.

Para começar, execute os seguintes comandos:

$ sudo apt-get update

$ sudo apt-get install build-essential git libssl-dev

ffmpeg file logs

Em seguida, recupere o código-fonte do librtmp no repositório oficial do git.

$ git clone git://git.ffmpeg.org/rtmpdump

Em seguida, navegue na pasta do repositório local. Uma vez lá, execute o processo de compilação.

$ cd rtmpdump

$ cd librtmp

$ make

Em seguida, instale a biblioteca no diretório raiz do seu sistema.

# DESTDIR=/usr make install

Depois, é necessário instalar e compilar manualmente a libaacplus. Também é necessário instalar outras dependências. Nesta altura, executará os seguintes comandos:

$ sudo apt-get install libfftw3-dev pkg-config autoconf automake libtool unzip

$ wget https://tipok.org.ua/downloads/media/aacplus/libaacplus/libaacplus-2.0.2.tar.gz

$ tar -xzf libaacplus-2.0.2.tar.gz

$ cd libaacplus-2.0.2

$ ./autogen.sh –enable-shared –enable-static

$ make

$ sudo make install

$ sudo ldconfig

# apt-get install yasm libfaac-dev libfdk-aac-dev libfreetype6-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libopenjpeg-dev libopus-dev libschroedinger-dev libspeex-dev libtheora-dev libvo-aacenc-dev libvorbis-dev libvpx-dev libx264-dev libxvidcore-dev

Agora, vai obter o código-fonte do ffmpeg a partir do repositório oficial do git:

$ git clone https://github.com/FFmpeg/FFmpeg.git

Navegue até à pasta do repositório local e, em seguida, execute o processo de compilação:

$ cd FFmpeg

$ ./configure –enable-gpl –enable-version3 –enable-nonfree –enable-postproc –enable-libaacplus –enable-libfaac –enable-libfdk-aac –enable-libfreetype –enable-libmp3lame –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libopenjpeg –enable-openssl –enable-libopus –enable-libschroedinger –enable-libspeex –enable-libtheora –enable-libvo-aacenc –enable-libvorbis –enable-libvpx –enable-libx264 –enable-libxvid –prefix=/usr/local –enable-librtmp

$ make

Finalmente, use este código para instalar o ffmpeg no diretório raiz do seu sistema:

# make install

2. Instalação do macOS

Tal como no Linux, recomendamos o macOS os utilizadores compilam uma versão personalizada do FFmpeg. Pode fazê-lo com a ajuda do gestor de pacotes Brew.

Também é necessário instalar ferramentas de linha de comando. Para configurar estas dependências, utilize os seguintes comandos na aplicação “Terminal” e siga as instruções que possam surgir:

xcode-select –install

/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

Depois de configurar as ferramentas de linha de comando e o Brew, está pronto para instalar o FFmpeg.

Utilize os seguintes comandos no seu terminal:

terminal ffmpeg

Primeiro, instale o librtmp com o brew:

brew install librtmp

Depois, instale a libx264 com o brew:

brew install libx264

Em seguida, instale a libfdk-aac com o brew:

brew install fdk-aac

Finalmente, instale o FFmpeg com todas as bibliotecas específicas:

brew install ffmpeg –enable-libfdk-aac –with-x264 –with-rtmpdump

3. Instalação no Windows:

Os utilizadores do Windows podem instalar o FFmpeg utilizando pacotes pré-construídos na página “Builds” do site do FFmpeg.

Como utilizar o FFmpeg para transmissão em direto

Para iniciar a transmissão em direto com o FFmpeg, tem de descarregar e instalar o software no seu computador. Pode escolher o método de instalação correto para o seu sistema operativo a partir das três opções acima indicadas neste tutorial do FFmpeg.

Nesta altura, pode também criar um canal de transmissão na sua plataforma de alojamento de vídeo.

Assim que o FFmpeg estiver instalado no seu computador, é altura de o ligar à sua solução de alojamento de vídeo. Pode ligar o FFmpeg como codificador. O seu gestor de alojamento de vídeo fornecerá as credenciais para introduzir no FFmpeg.

Estas credenciais encontram-se normalmente na secção de configuração do codificador do seu canal de transmissão na sua plataforma de alojamento de vídeo e incluem o início de sessão, a palavra-passe, o nome da transmissão e o URL da transmissão.

A partir daí, terá de introduzir as credenciais no FFmpeg. Terá de colar o seguinte fragmento de código no editor de texto ou na CLI:

$ ffmpeg -re -f lavfi -i testsrc -c:v libx264 -b:v 1600k -preset ultrafast -b 900k -c:a libfdk_aac -b:a 128k -s 1920×1080 -x264opts keyint=50 -g 25 -pix_fmt yuv420p -f flv “rtmp://p.ep246802.i.akamaientrypoint.net/EntryPoint flashver=FMLE/3.020(compatible;20FMSc/1.0) live=true pubUser=123456 pubPasswd=789123 playpath=dclive_1_1@246802”

Terá de substituir o texto “rtmp://…” pela ligação URL do seu fluxo, definir “pubUser” para o seu início de sessão, “pubPasswd” para a sua palavra-passe e “playpath” para o seu nome do fluxo.

Quando executa este comando, inicia uma transmissão em direto x264 com uma resolução de 480p (reduzida de 1080p HD) a uma taxa de bits de 1600 kbps, com um buffer de 900kb.

Notas importantes sobre o FFmpeg Live Streaming

Aqui estão algumas outras coisas a ter em conta quando se transmite em direto com o FFmpeg:

  • Também deve substituir “-f lavfi -i testsrc” por “-i” e, em seguida, a fonte do seu próprio feed de câmara ou outro feed de programa (-i /seu_caminho_de_fonte). Caso contrário, não terá a sua transmissão em direto, mas apenas o ecrã de teste.
  • Um erro de digitação recorrente na utilização do fdk aac durante o processo de instalação, é necessário introduzir “-enable-fdk-aac” mas quando o utiliza no comando é “-c:a libfdk_aac”
  • Para obter uma melhor qualidade, pode alterar o sinalizador “predefinido” para “rápido” em vez de “ultrarrápido”.
  • Se pretender uma latência baixa, pode adicionar o sinalizador “-tune zerolatency” diretamente após o sinalizador de predefinição. Ambos os comandos requerem poder de processamento adicional.
  • Para aumentar o tamanho da memória intermédia para uma reprodução mais suave, substitua “-b 900k” por “-buffsize 3000k”.
  • Certifique-se de que está a utilizar as melhores definições para si. Estas incluem a definição de taxas de bits de vídeo e áudio de acordo com a sua ligação à Internet, resoluções consistentes com essas taxas de bits e intervalos de fotogramas-chave de 2s.

Consulte os nossos guias dedicados para utilizar o FFMPEG com o Dacast em Linux e Mac.

Como transmitir ao vivo usando FFmpeg e Dacast

Solução de transmissão em direto Dacast FFMpeg
O FFmpeg funciona na perfeição para a transmissão em direto com o Dacast.

Depois de ter descarregado e configurado o FFmpeg, está pronto para transmitir uma transmissão em direto através do Dacast. Oferecemos carregamento seguro de vídeo e muitas outras funcionalidades para tornar a transmissão em direto acessível a todos os tipos de emissores.

Vejamos os três passos para configurar FFmpeg para transmissão em direto via Dacast. Este é um tutorial simples do FFmpeg para trabalhar com o Dacast.

1. Abrir a configuração do codificador do Dacast

Em primeiro lugar, é necessário recolher as informações de configuração do codificador a partir da sua conta Dacast.

Num navegador Web, visite o sítio Web da Dacast e inicie sessão na sua conta. Clique no (ou crie o) canal em direto que pretende transmitir e, em seguida, clique em “Encoder setup” (Configuração do codificador).

Seleccione “Outro codificador RTMP” no lado esquerdo do ecrã.

2. Encontre as suas credenciais

No lado direito do ecrã, copie estas informações: Início de sessão, Palavra-passe, URL do fluxo e Nome do fluxo.

3. Executar o seguinte comando

Em seguida, copie o comando para um editor de texto ou diretamente para o seu CLI como descrevemos no tutorial geral do FFmpeg acima. Certifique-se de que introduz corretamente o URL do fluxo, o início de sessão, a palavra-passe e o nome do fluxo.

Mais uma vez, o comando deve ter o seguinte aspeto:


$ ffmpeg -re -f lavfi -i testsrc -c:v libx264 -b:v 1600k -preset ultrafast -b 900k -c:a libfdk_aac -b:a 128k -s 1920×1080 -x264opts keyint=50 -g 25 -pix_fmt yuv420p -f flv “rtmp://


[STREAM URL]


flashver=FMLE/3.020(compatível;20FMSc/1.0) live=true pubUser=


[LOGIN]


Passwd=


[PASSWORD]


playpath=
[STREAM NAME]

Uma vez introduzido esse comando, deve estar pronto para transmitir.


Consulte o nosso


guia de configuração do codificador


para um tutorial mais detalhado sobre a configuração do FFmpeg e de outros softwares semelhantes com o Dacast.

Conclusão

O FFmpeg é um pouco complexo, uma vez que utiliza uma interface de linha de comandos, mas não há como negar que esta poderosa peça de software é altamente útil na situação certa e com o conhecimento certo. Esperamos que este artigo do tutorial FFmpeg lhe tenha fornecido as ferramentas e a confiança necessárias para utilizar o FFMPEG para transmitir em direto fluxos.

Para obter dicas regulares sobre transmissão em direto e ofertas exclusivas, convidamo-lo a juntar-se ao nosso grupo do LinkedIn.

Está à procura de uma plataforma de transmissão em direto e de alojamento de vídeo para apoiar os seus projectos de transmissão em direto? Se assim for, porque não experimentar o Dacast? Oferecemos uma avaliação gratuita de 14 dias (não é necessário cartão de crédito) e gostaríamos de o ajudar a testar todas as nossas funcionalidades hoje mesmo!

COMEÇAR GRATUITAMENTE

Obrigado pela leitura e boa sorte com as suas transmissões em direto!

Max Wilbert

Max Wilbert is a passionate writer, live streaming practitioner, and has strong expertise in the video streaming industry.