FFmpeg - Tutorial de configuração de streaming de vídeo

Use o FFmpeg como codificador para streaming de vídeo.

Siga este guia para configurar o FFmpeg como um codificador de vídeo ao vivo e transmitir diretamente para o seu servidor de vídeo Primcast via RTMP. Toda a configuração é feita através da linha de comando.

Guia de linha de comando para streaming RTMP com suporte ao vivo 24 horas por dia, 7 dias por semana.

Guia passo a passo

Cada passo explica uma parte do comando FFmpeg. Todos os valores mostrados em UPPERCASE devem ser substituídos pelos dados corretos da sua conta Primcast.

1

O comando FFmpeg completo

Este é o comando de exemplo completo. Copie-o e substitua os espaços reservados pelos dados da sua conta. As seções abaixo explicam cada opção.

 ffmpeg -i 'ARQUIVO ou LINK' \ -crf 30 -preset ultrafast \ -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 96k \ -vcodec libx264 -r 25 -b:v 300k \ -f flv \ 'rtmp://USERNAME:PASSWORD@STREAMING_ADDRESS:1935/APPLICATION_NAME/livestream' 
2

Configure sua fonte de entrada ( -i )

A opção -i indica ao FFmpeg de onde obter o fluxo de entrada. Pode ser um arquivo, um dispositivo de captura ou outro fluxo:

  • Dispositivo: -i video="screen-capture-recorder":audio="Stereo Mix (IDT High Definition)"
  • Arquivo: -i '/home/user/sample.mp4'
  • Fluxo: -i 'udp://127.0.0.0:1000/'
3

Sinalizadores de qualidade e codificação de vídeo

Essas opções controlam como o vídeo é codificado:

  • -crf 30 - Define o fator de taxa constante. Mantém uma qualidade de vídeo razoavelmente consistente, mesmo com variação na taxa de bits durante cenas complexas. Um valor de 30 permite uma qualidade e taxa de bits um pouco menores.
  • -preset ultrafast - Oferece a velocidade de codificação mais rápida possível.
  • -vcodec libx264 - Define o codec de vídeo como H.264.
  • -r 25 - Define a taxa de quadros para 25 fps.
  • -b:v 300k - Define a taxa de bits do vídeo para 300 kbps.
4

sinalizadores de codificação de áudio

Essas flags controlam como o áudio é codificado:

  • -acodec aac - Define o codec de áudio para AAC (codificador AAC interno).
  • -strict experimental - Permite o uso de codecs experimentais. Necessário porque o codificador AAC interno é experimental.
  • -ar 44100 - Define a taxa de amostragem de áudio para 44.100 Hz.
  • -ac 2 - Especifica dois canais de áudio (estéreo).
  • -b:a 96k - Define a taxa de bits de áudio para 96 ​​kbps.
5

Formato de saída e destino RTMP

-f flv encapsula o fluxo de saída em um contêiner FLV, o que é necessário para o RTMP.

O último argumento é o URL de destino RTMP. Substitua cada marcador pelos detalhes da sua conta:

 rtmp://USERNAME:PASSWORD@STREAMING_ADDRESS:1935/APPLICATION_NAME/livestream
  • Substitua USERNAME e PASSWORD pelas credenciais da sua conta Primcast.
  • Substitua STREAMING_ADDRESS pelo endereço de streaming do painel de controle da sua conta (ex.: test.primcast.com ).
  • Substitua APPLICATION_NAME pelo nome do aplicativo exibido no seu painel.

Após a transmissão, você pode visualizar a saída através do link HLS em um reprodutor como o VLC, ou incorporá-la usando o link "Gerar reprodutor" no seu painel de controle.

Perguntas frequentes

Perguntas frequentes sobre o uso do FFmpeg para transmissão de vídeo ao vivo com o Primcast.

Onde encontro meu endereço de streaming, nome de usuário e senha?

Seu endereço de streaming, nome de usuário, senha e nome do aplicativo estão disponíveis no painel de controle da sua conta Primcast. Você também pode encontrá-los no seu e-mail de ativação.

Posso transmitir a partir de um arquivo em vez de uma fonte ao vivo?

Sim. Use a opção -i '/path/to/file.mp4' para transmitir a partir de um arquivo local. O FFmpeg irá codificar e enviar o vídeo para o seu servidor RTMP como se fosse uma transmissão ao vivo.

Quais codecs de vídeo e áudio o Primcast exige?

Os servidores de vídeo Primcast aceitam vídeo H.264 ( libx264 ) e áudio AAC ( aac ) entregues em um contêiner FLV via RTMP. Esses são os padrões no comando de exemplo.

Qual taxa de bits devo usar?

O exemplo usa 300 kbps para vídeo ( -b:v 300k ) e 96 kbps para áudio ( -b:a 96k ). Você pode aumentar a taxa de bits do vídeo para obter melhor qualidade, caso sua largura de banda de upload permita. A maioria das transmissões funciona bem entre 500 kbps e 2500 kbps para vídeo.

Como faço para assistir à minha transmissão ao vivo?

Assim que o FFmpeg estiver transmitindo, você poderá assistir ao vídeo usando o link HLS no painel do Primcast, em um player como o VLC. Você também pode gerar um player incorporável a partir do link "Gerar Player" na sua conta.

Pronto para entrar ao vivo?

Nossos serviços de streaming de áudio e vídeo incluem conexões ilimitadas, largura de banda ilimitada e suporte especializado 24 horas por dia, 7 dias por semana, para manter você no ar.