ffmpeg
A maioria das pessoas transmite para Owncast com software como OBS. Se você preferir transmitir diretamente da linha de comando, o ffmpeg pode capturar uma câmera ou uma placa de captura e enviá-la para seu servidor via RTMP. Este é um caminho avançado e pressupõe que você esteja confortável na linha de comando.
O exemplo abaixo é para Linux, capturando a câmera /dev/video2 e o dispositivo de áudio ALSA hw:1,0:
ffmpeg -f alsa -ac 2 -i hw:1,0 -thread_queue_size 64 \
-f v4l2 -framerate 60 -video_size 1280x720 -input_format yuyv422 -i /dev/video2 \
-c:v libx264 -preset veryfast -b:v 1984k -maxrate 1984k -bufsize 3968k \
-vf "format=yuv420p" -g 120 -c:a aac -b:a 128k -ar 44100 \
-f flv rtmp://<ip-of-your-server>/live/<your-streaming-key>
O que as principais opções fazem:
-i /dev/video2e-i hw:1,0: as entradas de vídeo e áudio. Estas são as partes que você muda para seu hardware e plataforma (veja abaixo).-c:v libx264 -preset veryfast: codifica o vídeo com x264.veryfasttroca um pouco da eficiência de compressão por menor uso da CPU. Presets mais lentos parecem melhores na mesma taxa de bits, mas usam mais CPU.-b:v 1984k -maxrate 1984k -bufsize 3968k: busque uma taxa de bits de vídeo de cerca de 1984 kbps e limite-a lá. Veja escolhendo a qualidade do vídeo para escolher uma taxa de bits para seu conteúdo e velocidade de upload.-g 120: emit a keyframe every 120 frames.-gcounts frames, not seconds, so at 60 fps this is a keyframe every 2 seconds, which is what Owncast needs to segment the stream cleanly. Set-gto twice your framerate.-c:a aac -b:a 128k -ar 44100: áudio AAC a 128 kbps e 44,1 kHz.-f flv rtmp://.../live/<sua-chave-de-streaming>: envie o resultado para seu servidor Owncast. Mantenha o caminho/live/e use sua chave de stream.
Entradas em outras plataformas
Apenas os flags de entrada mudam entre os sistemas operacionais. As opções de codificação e saída acima permanecem as mesmas.
macOS usa avfoundation. Liste seus dispositivos e escolha-os pelo índice na ordem vídeo:áudio:
ffmpeg -f avfoundation -list_devices true -i ""
ffmpeg -f avfoundation -framerate 30 -i "0:0" ...
Windows usa dshow. Liste seus dispositivos e escolha-os pelo nome:
ffmpeg -list_devices true -f dshow -i dummy
ffmpeg -f dshow -i video="Your Camera":audio="Your Microphone" ...
Para a maioria das configurações, um aplicativo de transmissão dedicado é mais fácil do que manter um comando do ffmpeg. Veja a visão geral do software de transmissão para as opções comuns.
Improve this page
See something missing or incorrect? Edit this page and improve the documentation for everyone.
