API Graph Facebook: невозможно воспроизвести видео в реальном времени (rtmps)

Я пытаюсь воспроизвести видео в режиме реального времени с помощью приложения Facebook. Когда я нажимаю на конечную точку /me/live_videos в Graph API Explorer, я вижу свой поток:

{
      "status": "LIVE",
      "stream_url": "rtmps://rtmp.facebook.com:443/rtmp/1659765194096063?ds=1&s_efg=eyJxZV9ncm91cHMiOnsiZmJsaXZlX3NlcnZlcl9leHBlcmltZW50Ijp7InNlcnZpY2VfcG9ydCI6IjE3MDAwIn19fQ%3D%3D&a=ATiAO7IBgkxJpDTS",
      "secure_stream_url": "rtmps://rtmp.facebook.com:443/rtmp/1659765194096063?ds=1&s_efg=eyJxZV9ncm91cHMiOnsiZmJsaXZlX3NlcnZlcl9leHBlcmltZW50Ijp7InNlcnZpY2VfcG9ydCI6IjE3MDAwIn19fQ%3D%3D&a=ATiAO7IBgkxJpDTS",
      "embed_html": "<iframe src=\"https://www.facebook.com/plugins/video.php?href=https%3A%2F%2Fwww.facebook.com%2Fjonathan.apphus%2Fvideos%2F1659765184096064%2F&width=360\" width=\"360\" height=\"640\" style=\"border:none;overflow:hidden\" scrolling=\"no\" frameborder=\"0\" allowTransparency=\"true\" allowFullScreen=\"true\"></iframe>",
      "id": "1659765194096063"
}

Поток настроен как общедоступный, поэтому любой человек из Facebook или за его пределами может просматривать его. Моя проблема в том, что я не могу просмотреть поток, используя "stream_url" (или "secure_stream_url"). Я пытаюсь просмотреть его с помощью VLC (пробовал как настольное приложение, так и VLCKit lib на iOS).

Кстати, ссылка https из iframe работает. Я могу просмотреть поток в браузере по этой ссылке.

Ошибка на VLC

1 ответ

Решение

Возвращенный stream_url предназначен только для пересылки закодированного видеопотока, а не для приема.

Если вы хотите просмотреть живое видео, используйте поле dash_preview_url живого видео.

Вы можете использовать graph api, чтобы получить этот URL, отправив запрос GET в этой конечной точке:

/LIVE_ID?fields=dash_preview_url&access_token=YourAccessToken

Это вернет URL, который можно воспроизвести с помощью любого Dash Player. Насколько я знаю, VLC в настоящее время не поддерживает MPEG-DASH.

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