Живое видео Facebook можно просматривать только во время потоковой передачи с экрана моего Mac.

Я использую следующую команду ffmpeg, чтобы поделиться своей потоковой передачей экрана на Facebook.

введите здесь описание изображения

ffmpeg -f avfoundation -r 10 -video_size 352x288 -i "0" -c:v h264 -f flv 
"rtmp://rtmp-api.facebook.com:80/rtmp/1269140699772419?ds=1&a=AaYsXcYcdHQrrrUF"

затем я могу увидеть сцены предварительного просмотра видео введите здесь описание изображения

однако, как только я нажимаю кнопку «Начать жить» и захожу на свою страницу в Facebook, я могу найти сообщение о том, что я живу сейчас. Когда я нажимаю «кнопку воспроизведения», появляются только черные сцены, которые длятся 1–2 секунды, и видео заканчивается.

введите здесь описание изображения

И еще есть странная вещь, видео может воспроизводиться, когда я заканчиваю прямую трансляцию. При обновлении страницы я могу найти сообщение о том, что я в прямом эфире, видео этого сообщения может быть успешно воспроизведено.

Кто-нибудь знает, почему видео можно смотреть при предварительном просмотре и завершении в прямом эфире, но не в реальном времени?

[обновлено]

Во время прямой трансляции, если я нажимаю кнопку воспроизведения, появляются только 1-2 секунды черных сцен, и прямая трансляция заканчивается. введите здесь описание изображения

Однако, если я снова нажму на видеокадр, появится другое модальное окно, после чего я смогу увидеть прямую трансляцию. Это баг фейсбука? введите здесь описание изображения


person iownthegame    schedule 09.09.2016    source источник
comment
Я подозреваю, что это связано с поддержкой кодеков в вашем браузере. Какой браузер вы используете? И, просто для ясности, предварительный просмотр в порядке, но вы не можете посмотреть настоящее видео на своей стене в Facebook?   -  person Brad    schedule 10.09.2016
comment
@Brad Я использую последнюю версию Google Chrome. И да, предварительный просмотр работает хорошо, но видео на моей стене ничего не показывает во время потоковой передачи.   -  person iownthegame    schedule 11.09.2016
comment
У меня похожие проблемы с предварительным просмотром. Поскольку окончательная запись идеальна, я решил, что это ошибка Facebook. Тем не менее, я также использую Chrome, поэтому теперь думаю, стоит ли в следующий раз попробовать другой браузер.   -  person Mike Versteeg    schedule 16.11.2016
comment
Спасибо, но как вы подтвердили, что это ошибка Facebook, вы сообщили в Facebook? Кстати, я также пробовал Safari и рабочий стол FireFox, ни один из них не работал.   -  person iownthegame    schedule 17.11.2016
comment
Я сказал вычислил, не подтвердил. Но их выпущено больше (например, fb требуется несколько минут, чтобы определить, что поток закончился), поэтому мне кажется, что это бета-версия. Я обсуждал это с ними, и они ответили, что должны использовать API, чтобы правильно отметить завершение потока. Я объяснил им, что мне не разрешено использовать их API (поскольку я могу транслировать на несколько хостов) и что у других CDN нет проблем с обнаружением конца потока. Их ответ был, э-э, бесполезен.   -  person Mike Versteeg    schedule 07.01.2017


Ответы (2)


Я также столкнулся с той же проблемой. В моем случае я перебирал изображения, чтобы сделать видео и транслировать его на Facebook без отправки аудиопотока.

В соответствии с рекомендациями Facebook, видеопоток в реальном времени должен содержать аудиопоток, в противном случае видео в реальном времени считается оконченным.

Убедитесь, что входной файл, который вы транслируете на fb, содержит аудиопоток. В случае, если у него нет аудиопотока, вы все равно можете использовать любой другой аудиопоток вместе с ним, а затем вы сможете увидеть свое видео в прямом эфире после нажатия кнопки «Начать трансляцию».

ffmpeg -loop 1 -re -y -f image2 -i "image_path" -i "silent_audio_or_any_other_audio" -codec:a aac -ac 1 -ar 44100 -b:a 128k -pix_fmt yuv420p -profile:v high -s 1280x720 -vb 400k -maxrate 400k -minrate 400k -bufsize 600k -deinterlace -vcodec libx264 -preset veryfast -g 30 -r 30 -strict -2 -f flv "rtmp_link"

Я все еще использую этот код, и он отлично работает для меня :)

Надеюсь, это может помочь кому-то.

person Aakash Gupta    schedule 22.01.2017
comment
Да! Вы поняли! Я также ссылаюсь на stackoverflow.com/questions/ 32017827/, чтобы добавить беззвучный звук, поэтому моя команда выглядит так: ffmpeg -f lavfi -i anullsrc -f avfoundation -r 10 -video_size 352x288 -i 0 -f flv rtmp_stream_url, я немного обновлю ваш ответ. - person iownthegame; 24.01.2017

Когда вы просматриваете видео в режиме реального времени, посмотрите на панели проверки Chrome, есть ли там что-нибудь. Могут быть какие-то предупреждения или ошибки, почему видео не проходит. У меня была такая же проблема при работе с WebRTC через wss.

Еще одна вещь, которую можно попробовать для команды ffmpeg, — добавить: -c:v libx264 -profile:v baseline -level 3.1 -pix_fmt yuv420p

to be: ffmpeg -f avfoundation -r 10 -i "0" -c:v libx264 -profile:v baseline -level 3.1 -pix_fmt yuv420p -f flv "rtmp://rtmp-api.facebook.com:80/rtmp/1269140699772419?ds=1&a=AaYsXcYcdHQrrrUF"

Вы можете просмотреть видео после прямого эфира, поскольку для его сохранения происходит кодирование, и оно доступно для просмотра в браузере и тестирования. Для прямых трансляций происходит только копирование, и вам нужно поиграть с аргументами ffmpeg, чтобы сделать его доступным для просмотра на этой странице.

person Olga Khylkouskaya    schedule 26.09.2016
comment
Благодарю. Я проверил консоль, но с прямой трансляцией все в порядке. И я попробовал параметры, которые все еще не могут быть просмотрены в прямом эфире. Но если вы нажмете видео, видео может быть воспроизведено (я обновляю свой пост для некоторых скриншотов, это ошибка facebook?) - person iownthegame; 29.09.2016