3

Используя OBS и ffmpeg, я пытаюсь транслировать на Facebook и Twitch одновременно. Моя текущая настройка работает, однако проблема в том, что она немного голодна.

FACEBOOK_KEY="123?ds=1\&s_l=1\&a=ggnore"
TWITCH_KEY="live_123_aBcEdFg"

ARGS="-c:v libx264 -preset medium -maxrate 3500k -bufsize 6000k -pix_fmt yuv420p -g 50 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv"

CMD="ffmpeg -re -listen 1 -i rtmp://127.0.0.1:5555"
CMD="$CMD $ARGS rtmp://live.twitch.tv/app/$TWITCH_KEY"
CMD="$CMD -r 30 $ARGS rtmp://rtmp-api.facebook.com:80/rtmp/$FACEBOOK_KEY"

eval $CMD

Настройки OBS просты:

Видео: 720p, битрейт 2500k, кодирование x264, 60FPS

Аудио: 160k AAC.

У меня есть две цели, которые я пытаюсь достичь с помощью установки.

  1. Для Twitch ffmpeg должен просто копировать исходный поток из OBS в Twitch без какого-либо преобразования, поскольку Twitch принимает то, что я передаю из OBS.
  2. Для Facebook он должен конвертировать FPS с 60 до 30, опять же с минимальным использованием ресурсов, так как Facebook принимает все поступающие из OBS, кроме FPS.

1 ответ1

1
ffmpeg -listen 1 -i rtmp://127.0.0.1:5555 -c copy -f flv rtmp://twitch -c:v libx264 -preset medium -maxrate 3500k -bufsize 6000k -r 30 -pix_fmt yuv420p -g 60 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmp//:facebook
  • Не используйте -re с живыми входными потоками. Документация говорит, что это может вызвать потерю пакета.

  • Я изменил -g 50 на -g 60 чтобы лучше соответствовать вашим 30 кадрам в секунду.

  • См. Fifo muxer, если вы хотите добавить опции, чтобы попытаться восстановить выходные данные в случае сбоя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .