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 работает. Я могу просмотреть поток в браузере по этой ссылке.
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.