直播排期

您可使用直播视频 API 创建将于预定时间开始直播的直播视频,预定时间可为自创建日期起七天内的任何时间。

2024 年 6 月 10 日,Meta 将推出一些新要求。账户必须先满足这些要求,才能在 Facebook 上开始直播。新要求如下:

  • Facebook 账户存在时长必须不少于 60 天
  • Facebook 公共主页或专业模式个人主页必须拥有至少 100 名粉丝

如要在“用户”、“主页”、“小组”或“活动”页面上创建将于未来某日开始直播的直播视频,请发送请求至:

POST /<ID>/live_videos?status=SCHEDULED_UNPUBLISHED&event_params=<UNIX_TIMESTAMP_FOR_START_TIME>

使用 event_params 参数和 UNIX 时间戳来表示所需的开始时间。

测试 API 调用时,您可以在调用中加入 access_token 参数,并将其设为您的访问口令。但是,从您的应用发出安全调用时,应使用访问口令类

这将在目标节点上创建一个 LiveVideo 对象,并返回直播视频的 secure_stream_urlid。在安排开始时间之时或之前,结合使用安全直播网址与编码器,将直播视频数据流式传输到该 LiveVideo 对象。只要直播收到投射视频数据,直播便会在预定开始时间出现在该节点的时间线/动态中。

已作出排期的直播视频可在开始日期之前的任意时间接收直播数据,以用于预览。

请求示例

curl -i -X POST \ 
      "https://graph.facebook.com/v21.0/<ID>/live_videos?status=SCHEDULED_UNPUBLISHED&event_params=1541539800"

响应示例

{
  "id": "10214937378883406",  //LiveVideo object ID
  "stream_url": "rtmp://rtmp-api.facebook...",
  "secure_stream_url": "rtmps://rtmp-api.facebook..."  //Stream URL
}
    

要获取已作出排期的直播视频列表,请参阅获取已作出排期的直播视频

预览直播视频

您可使用直播视频 API 预览未发布的直播视频;在创建此类 LiveVideo 对象时,其 status 设为 SCHEDULED_UNPUBLISHEDUNPUBLISHED

如要预览未发布的直播视频,请发送请求至:

GET /<LIVE_VIDEO_ID?fields={fields}

使用 fields 参数获取 LiveVideo 对象的 dash_preview_url

请求示例

curl -i -X GET \
 "https://graph.facebook.com/v21.0/<LIVE_VIDEO_ID>?fields=dash_preview_url"

响应示例

{
  'dash_preview_url': 'https://video.xx.fbcdn.net/...',
  'id': '<LIVE_VIDEO_ID>'
}

这样将返回直播视频的 dash_preview_urlid。复制此网址并粘贴到 Dash Player,以预览直播视频。

尽管使用第三方测试播放器预览直播视频能够有效验证直播视频内容,但我们仍建议您在测试主页上播放。您必须取得主页管理员或编辑身份,以便在主页上播放。此外,您还可设置隐私参数,以创建仅对您本人显示的投射视频。

获取已排期的视频直播

如要获取“用户”、“公共主页”或“活动”页面上已作出排期的直播列表,请先取得具有 publish_video 权限的相应访问口令,并发送请求至:

GET /<ID>/live_videos?broadcast_status=["SCHEDULED_UNPUBLISHED"]

注意,broadcast_status 值必须为数组。请参阅 LiveVideo 参考文档,获取其他值的完整列表。

主页直播清单示例

curl -i -X GET \ 
  "https://graph.facebook.com/v21.0/<ID>/live_videos?broadcast_status=["SCHEDULED_UNPUBLISHED"]"

响应示例

{
  "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>?event_params=<UNIX_TIMESTAMP_FOR_NEW_START_TIME>

<UNIX_TIMESTAMP_FOR_NEW_START_TIME> 值必须为 UNIX 时间戳,表示新的开始时间。成功后,API 将在响应中提供 LiveVideo 对象编号。

主页直播视频示例

curl -i -X POST \
  "https://graph.facebook.com/v21.0/<LIVE_VIDEO_ID>?event_params=1541540800"

响应示例

{
  "id": "10214937378883406"
}

立即开始直播

如要立即开始直播,您可以发送请求至:

POST /<LIVE_VIDEO_ID>?status=LIVE_NOW

在与表示直播的 LiveVideo 对象关联的直播网址收到投射视频数据后,系统便会开始直播。成功后,API 将在响应中提供 LiveVideo 对象编号。

请求示例

curl -i -X POST \
  "https://graph.facebook.com/v21.0/<LIVE_VIDEO_ID>?status=LIVE_NOW"

JSON 响应示例

{
  "id": "10214937378883406" // <LIVE_VIDEO_ID>
}