Я пытаюсь транслировать несколько источников (изображения, файлы фильмов и веб-камеры) в rtmp-протокол youtube, используя ffmpeg.

Я думал создать список воспроизведения m3u8 через командную строку:

ffmpeg -i source1.mp4 -c:v h264 -flags +cgop -g 60 -hls_time 1 stream.m3u8

Для YouTube я использую команду, которая запускается сразу после запуска предыдущей команды:

ffmpeg -re -i "stream.m3u8" -vcodec libx264 -preset "ultrafast" -maxrate 3000k -b:v 2500k -bufsize 600k -pix_fmt yuv420p -g 60 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv -s 1280x720 "rtmp://a.rtmp.youtube.com/{event}/{key}"

На данный момент я хочу изменить камеру, я прерываю первую команду и запускаю ее как новую команду:

ffmpeg -i source2.mp4 -c:v h264 -flags +cgop -g 60 -hls_time 1 stream.m3u8

Etcetera. Так что я могу на лету создавать список m3u8 из нескольких источников и передавать его на YouTube.

Хотя я вижу, что YouTube получает мой поток, но видео не видно. ffmpeg не дает никаких ошибок. В чем моя ошибка? Как я могу получить эту работу?

0