ffmpeg: я не могу заставить тройник работать на перераспределение - PullRequest
0 голосов
/ 24 апреля 2018

Я пытался наложить изображение на поток rtmp и отправить его в Facebook Live и Twitch, используя nginx с модулем rtmp и ffmpe. Я использовал этот код для каждой услуги:

ffmpeg -i rtmp://localhost/app/streamkey -i logo.png -filter_complex "[0:v][1:v] overlay=0:0" -c:v libx264 -preset veryfast -bufsize 4000k -c:a aac -b:a 160k -ar 44100 -f flv rtmp://live-api.facebook.com:80/rtmp/streamkey;

У меня есть одна команда для Facebook Live и другая для Twitch, но она потребляет много оборудования, поэтому, оглядываясь по сторонам, я нашел способ использовать tee seudo-mixer:

ffmpeg -i rtmp://localhost/app/streamkey -i logo.png -filter_complex "[0:v][1:v]overlay=10:10" -c:v libx264 -preset veryfast -bufsize 4000k -c:a aac -b:a 160k -ar 44100 -f tee "[f=flv]rtmp://live-api.facebook.com:80/rtmp/streamkey|[f=flv]rtmp://live-jfk.twitch.tv/app/streamkey"

Он отлично работает с Facebook Live, но когда Twitch запускает прямую трансляцию, изображение отсутствует, только черный экран.

Что я делаю не так, и как мне заставить этот поток работать?

1 Ответ

0 голосов
/ 24 апреля 2018

Отобразите все потоки явно и для FLV требуются глобальные заголовки.

ffmpeg -i rtmp://localhost/app/streamkey -i logo.png -filter_complex "[0:v][1:v]overlay=10:10[v]" -map "[v]" -map 0:a? -c:v libx264 -preset veryfast -bufsize 4000k -c:a aac -b:a 160k -ar 44100 -flags +global_header -f tee "[f=flv]rtmp://live-api.facebook.com:80/rtmp/streamkey|[f=flv]rtmp://live-jfk.twitch.tv/app/streamkey"
...