您可使用直播视频 API 创建将于预定时间开始直播的直播视频,预定时间可为自创建日期起七天内的任何时间。
2024 年 6 月 10 日,Meta 将推出一些新要求。账户必须先满足这些要求,才能在 Facebook 上开始直播。新要求如下:
如要在“用户”、“主页”、“小组”或“活动”页面上创建将于未来某日开始直播的直播视频,请发送请求至:
POST /<ID>/live_videos?status=SCHEDULED_UNPUBLISHED&event_params=<UNIX_TIMESTAMP_FOR_START_TIME>
使用 event_params
参数和 UNIX 时间戳来表示所需的开始时间。
测试 API 调用时,您可以在调用中加入 access_token
参数,并将其设为您的访问口令。但是,从您的应用发出安全调用时,应使用访问口令类。
这将在目标节点上创建一个 LiveVideo
对象,并返回直播视频的 secure_stream_url
和 id
。在安排开始时间之时或之前,结合使用安全直播网址与编码器,将直播视频数据流式传输到该 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_UNPUBLISHED
或 UNPUBLISHED
。
如要预览未发布的直播视频,请发送请求至:
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_url
和 id
。复制此网址并粘贴到 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"
{ "id": "10214937378883406" // <LIVE_VIDEO_ID> }