Потоковая передача на несколько серверов RTMP с ffmpeg с минимальными ресурсами

используя 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, он должен конвертировать кадров в секунду от 60 до 30, опять же с минимальным использованием ресурсов, как Facebook принимает все, что исходит от OBS других, то кадров в секунду.
5
задан Dustin
18.02.2023 10:27 Количество просмотров материала 3570
Распечатать страницу

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 если вы хотите добавить опции для восстановления выходных данных в случае сбоя.

1
отвечен LordNeckbeard 2023-02-19 18:15

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх