ffmpeg
Большинство людей транслируют в Owncast с помощью программного обеспечения, такого как OBS. Если вы предпочитаете транслировать напрямую из командной строки, ffmpeg может захватывать видео с камеры или видеокарты и передавать его на ваш сервер по RTMP. Это продвинутый путь и подразумевает, что вы комфортно работаете в командной строке.
Пример ниже для Linux, захватывающего камеру /dev/video2 и аудиоустройство 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>
Что делают основные опции:
-i /dev/video2и-i hw:1,0: видео- и аудиовходы. Это те части, которые вы изменяете для вашего оборудования и платформы (см. ниже).-c:v libx264 -preset veryfast: кодировать видео с помощью x264.veryfastжертвует некоторой эффективностью сжатия в пользу меньшего использования ЦП. Более медленные предустановки выглядят лучше при той же битрейте, но используют больше ЦП.-b:v 1984k -maxrate 1984k -bufsize 3968k: стремитесь к битрейту видео около 1984 кбит/с и ограничьте его. См. выбор качества видео, чтобы выбрать битрейт для вашего контента и скорости загрузки.-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: аудио AAC на 128 кбит/с и 44,1 кГц.-f flv rtmp://.../live/<your-streaming-key>: отправьте результат на ваш сервер Owncast. Сохраните путь/live/и используйте свой ключ потока.
Входные данные на других платформах
Только входные флаги меняются между операционными системами. Параметры кодирования и вывода остаются прежними.
macOS использует avfoundation. Список ваших устройств, затем выбирайте их по индексу в порядке видео:аудио:
ffmpeg -f avfoundation -list_devices true -i ""
ffmpeg -f avfoundation -framerate 30 -i "0:0" ...
Windows использует dshow. Список ваших устройств, затем выбирайте их по имени:
ffmpeg -list_devices true -f dshow -i dummy
ffmpeg -f dshow -i video="Your Camera":audio="Your Microphone" ...
Для большинства установок отдельное приложение для трансляции легче, чем поддерживать команду ffmpeg. Смотрите обзор программного обеспечения для трансляции для общих параметров.
Improve this page
See something missing or incorrect? Edit this page and improve the documentation for everyone.
