YouTube Live сообщает, что не получает данные

Итак, я использую ffmpeg. Я могу транслировать видео на YouTube в прямом эфире, которое я успешно скачал из Интернета, используя эту команду:

ffmpeg -re -i "C:\video.flv" -c:v libx264 -preset slow -crf 18 -c:a copy -f flv "rtmp://a.rtmp.youtube.com/live2/xyz"

Когда я пытаюсь транслировать видео, записанное с определенного устройства, которое также является flv и с той же командой, оно не работает. FFMpeg говорит, что передает, ошибок нет. На панели инструментов YouTube в реальном времени у меня на короткое время появляется зеленый значок «Запуск», но затем он становится серым, что означает, что данные не принимаются. Единственная разница - это сами файлы flv.

Любая идея, почему YouTube Live скажет, что не получает никаких данных, а не выдает мне ошибку, когда он явно получает их, потому что он работает с другими видеофайлами? Спасибо


person Steve Lobdell    schedule 14.08.2016    source источник


Ответы (2)


Что ж, для всех, кто может столкнуться с этим, моя проблема заключалась в том, что в моем видео не было звука. Не уверен, почему это должно иметь значение, но установка беззвучной звуковой дорожки поверх видео устранила мою проблему.

person Steve Lobdell    schedule 15.08.2016
comment
Вы можете добавить беззвучный звук с помощью аудиофильтра anullsrc. - person llogan; 27.12.2016

Да, нужна звуковая дорожка, спасибо Стиву.

Это моя команда ffmpeg (например) с нулевым источником звука:

ffmpeg -f lavfi -i anullsrc=r=16000:cl=mono \
   -f v4l2 -r 10 -i /dev/video1 -c:v libx264 -pix_fmt yuv420p -preset ultrafast -g 20 -b:v 2500k \
   -c:a aac -ar 44100 -threads 0 -bufsize 512k -strict experimental \
   -f flv rtmp://a.rtmp.youtube.com/live2/$CHANNELID
person José Ibañez    schedule 17.11.2018