Я пытаюсь передать веб-страницу в Facebook Live видео с помощью ffmpeg. Я знаю, что могу использовать OBS, но я пытаюсь сделать это с сервера, поэтому я не могу пойти с OBS. Он отлично работает, когда я просматриваю, но как только я нажимаю «Go live», сначала кажется, что он запускается, но потом, когда он доводит меня до живого просмотра, он просто говорит, что видео закончилось. Я даже проверил ошибку видео-журнала с помощью Graph API, ничего. Я использую PhantomJS для труб скриншотами для FFmpeg:Использование ffmpeg для потоковой передачи в Facebook Live Video: можно просмотреть, но не вживую
phantomjs phantom.js | ffmpeg -y -c:v mjpeg \
-f image2pipe \
-r 5 -i \
- -c:v libx264 \
-x264-params keyint=5 \
-b:v 1000k -minrate 1000k -maxrate 1000k -bufsize 500k \
-f flv 'rtmp://rtmp-api.facebook.com:80/rtmp/xxxxxxxxxxxxxxxx'
Как я уже сказал, что он работает нормально в окне предварительного просмотра живого потока на Facebook, но только немедленно заканчивается, когда я иду жить. Я добавил параметры битрейта, чтобы попытаться сохранить постоянный битрейт в соответствии с требованиями Facebook (https://developers.facebook.com/docs/videos/live-video/production-broadcasts), и у меня есть ключевой кадр каждые 5 кадров (довольно низкая частота кадров со скоростью 5 кадров в секунду), так что требование также выполняется.
Я не отправляю аудио, это может вызвать проблемы?
У меня точно такая же проблема. Я также не отправляю аудио. Предварительный просмотр работает, но когда я нажимаю «Go Live», это занимает некоторое время, а затем показывает, что видео закончилось. Вскоре после остановки ffmpeg. – BugHunterUK
Пробовал добавлять аудио, не повезло. Я думаю, что на самом деле это связано с тем, что частота кадров немного меняется из-за живой обработки, пытаясь найти способы обойти это, поэтому ffmpeg может вытаскивать изображения в нужный момент. –
Я получил это от работы: https: // gist.github.com/JamesTheHacker/56fb9caf36244de582540e7d5c2fd6a5 – BugHunterUK