Планирование прямых эфиров упразднено для версии 12.0 и будет упразднено для всех остальных версий с 14 декабря 2021 г. Вызовы к конечной точке POST /ID/live-video
с параметром planned_start_time
будут завершаться с ошибкой.
API Live Video позволяет проводить видеотрансляции в назначенное время (в течение семи дней после создания видео).
Чтобы создать прямую видеотрансляцию с датой начала в будущем для пользователя, Страницы, группы или события, отправьте такой запрос:
POST /{node-id}/live_videos?status=SCHEDULED_UNPUBLISHED&planned_start_time={start-time}
Укажите дату начала в виде метки времени в формате UNIX в параметре planned_start_time
.
В целевом узле будет создан объект LiveVideo, и будут возвращены secure_stream_url
и id
видеотрансляции. Передайте защищенный URL трансляции в кодировщик для передачи данных видео в объект LiveVideo заблаговременно или при запуске трансляции. Трансляция появится в хронике или ленте узла в назначенное время (при условии, что ее данные поступают).
Для предварительного просмотра запланированной трансляции потоковые данные можно передавать в любой момент до даты начала.
curl -i -X POST \
"https://graph.facebook.com/{page-id}/live_videos?status=SCHEDULED_UNPUBLISHED&planned_start_time=1541539800&access_token={access-token}"
{ "id": "10214937378883406", //LiveVideo object ID "stream_url": "rtmp://rtmp-api.facebook...", "secure_stream_url": "rtmps://rtmp-api.facebook..." //Stream URL }
Информацию о том, как получить список запланированных трансляций, см. в этом разделе.
API Live Video позволяет выполнять предварительный просмотр неопубликованной видеотрансляции, то есть объекта LiveVideo со значением SCHEDULED_UNPUBLISHED
или UNPUBLISHED
в поле status
.
Для предварительного просмотра неопубликованной видеотрансляции отправьте такой запрос:
GET /{live_video_id}?fields={fields}
Используйте параметр {fields}
, чтобы получить dash_preview_url
объекта LiveVideo
.
curl -i -X GET \
"https://graph.facebook.com/{live-video-id}
?fields=dash_preview_url
&access_token={access-token}"
{ 'dash_preview_url': 'https://video.xx.fbcdn.net/...', 'id': '{live-video-id}' }
Ответ содержит dash_preview_url
и id
видеотрансляции. Для предварительного просмотра трансляции скопируйте URL и вставьте его в проигрыватель Dash.
Для проверки содержимого трансляции можно использовать и сторонний проигрыватель, однако мы рекомендуем делать это на тестовой странице. Для проведения трансляции на странице необходимо быть ее администратором или редактором. Кроме того, можно настроить параметр конфиденциальности так, чтобы трансляция была видна только вам.
Чтобы получить список запланированных трансляций для пользователя, Страницы, группы или события, получите соответствующий маркер доступа с разрешением publish_video
и отправьте такой запрос:
GET /{node-id}/live_videos?broadcast_status=["SCHEDULED_UNPUBLISHED"]
Примечание. Значение broadcast_status
должно быть массивом. Полный список значений можно найти в справке по LiveVideo.
curl -i -X GET \
"https://graph.facebook.com/{page-id}/live_videos?broadcast_status=["SCHEDULED_UNPUBLISHED"]&access_token={access-token}"
{ "data": [ { "status": "SCHEDULED_UNPUBLISHED", "stream_url": "rtmp://rtmp-api-dev.facebook.com:80/rtmp/...", "secure_stream_url": "rtmps://rtmp-api-dev.facebook.com:443/rtmp/...", "embed_html": "<iframe src=\"https://www.facebook.com/plugins/video.php?...", "id": "10214937378883406 " //LiveVideo object ID } ] }
Чтобы изменить назначенное время начала трансляции, отправьте такой запрос:
POST /{live-video-id}?planned_start_time={new-start-time}
{new-start-time}
— это новое время начала в виде метки времени в формате UNIX. В случае успеха API вернет ID объекта LiveVideo.
curl -i -X POST \
"https://graph.facebook.com/{live-video-id}?planned_start_time=1541540800&access_token={access-token}"
{ "id": "10214937378883406" }
Чтобы начать трансляцию немедленно, отправьте такой запрос:
POST /{live-video-id}?status=LIVE_NOW
Трансляция начнется, если ее данные передаются на URL трансляции, который связан с объектом LiveVideo, представляющим трансляцию. В случае успеха API вернет ID объекта LiveVideo.
curl -i -X POST \
"https://graph.facebook.com/{live-video-id}?status=LIVE_NOW&access_token={access-token}"
{ "id": "10214937378883406" }