FFMPEG на Youtube Live

У меня есть аудиопоток, я использую ffmpeg для потоковой передачи его на YouTube в прямом эфире с изображением в качестве фона с помощью следующей команды,

ffmpeg -loop 1 -i x.jpg -i http://xxx.xxx.xxx.xxxx:5305/stream -c:a aac -s 1280x720 -ab 128k -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/xxxxx

Но я получаю следующее сообщение на YouTube,

YouTube is not receiving enough video to maintain smooth streaming. As such, viewers will experience buffering это вызывает буферизацию в выходном потоке.

Кто-нибудь знает, как это исправить?

Помощь будет оценена.

1 ответ

Так что у меня есть решение.

ffmpeg -re -loop 1 -framerate 2 -i test1.jpg -i https://xxxxxxx:8443/live.ogg -c:a aac -s 2560x1440 -ab 128k -maxrate 2048k -bufsize 2048k -framerate 30 -g 60 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/xxxxxxxxxxxxx

Важными частями являются

-re

в начале, который имеет дело с проблемой буферизации.
Тогда

кадр 2

между "-loop 1" и изображением. Это работает, и я получаю хороший чистый поток высокого качества, который не буферизуется.

Надеялся, что это помогло!

Редактировать 1

ffmpeg -re -loop 1 -framerate 2 -i test1.jpg -i https://xxxxxxxxxxx:8443/live.ogg -c:a aac -s 2560x1440 -ab 128k -vcodec libx264 -pix_fmt yuv420p -maxrate 2048k -bufsize 2048k -framerate 30 -g 2 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/xxxxxxxxxxxxx

Итак, эта обновленная версия должна исправить почти все проблемы с потоком.

-vcodec libx264 -pix_fmt yuv420p

Кодекс H.264 изменен. Исправлена ​​эта проблема.

-g 2

Это исправляет последнюю проблему буферизации.

Последний код отличный, но я все еще получаю сообщение об ошибке "Разрешение видео" на YouTube Live с последней командой. Исправил, заменив:

yuv420p with yuvj420p

Я исследовал jpg с помощью ffprobe, и он вернул вышеуказанный yuv420p

Другие вопросы по тегам