入门指南

本文档介绍如何在应用中使用直播视频 API 在用户个人主页上创建直播视频。如果没有应用,则可使用图谱 API 探索工具和免费直播软件,例如 OBSPlayer.me

准备工作

您需要以下对象的访问权限:

  • Facebook 开发者帐户
  • 已注册且配置好基本设置的 Facebook 应用

如果没有应用,则需做如下准备:

1. 配置 Facebook 登录

在应用面板中为您的应用添加 Facebook 登录产品。

您可以保留所有默认设置。如果您想手动实现 Facebook 登录(不推荐),请在有效 OAuth 跳转 URI 字段中输入您的 redirect_uri。如果您要使用我们其中一个 SDK,则可将该字段留空。

2. 实现 Facebook 登录

按照针对您所在平台提供的Facebook 登录文档,在您的应用中实现 Facebook 登录。如果应用所在设备没有允许用户登录 Facebook 的界面,请改为实现使用 Facebook 登录设备

您的应用将需要以下权限:

如果您的应用尚未准备就绪且您正在使用图谱 API 探索工具和直播软件,您可以跳过此步骤。

3. 获取访问口令

实现 Facebook 登录后,请确保已登录 Facebook 开发者帐户,然后访问应用并触发 Facebook 登录模式。如果您正在使用图谱 API 探索工具,请从 Facebook 应用下拉菜单中选择应用,并点击生成访问口令按钮。

触发 Facebook 登录模式后,点击下拉菜单并选择仅限自己,这样您将成为唯一能看到直播的人。点击确定后,在下一个模式中再次点击确定,以向应用授予 publish_video 权限。API 应该会返回用户访问口令。获取该口令,以供您的应用在后续的若干查询中使用。

如果您在使用图谱 API 探索工具,系统会自动获取该口令,并将其显示在访问口令字段中以供参考:

4. 创建 LiveVideo 对象

现在您已获取访问口令和 publish_video 权限,可以使用此口令在用户个人主页上创建 LiveVideo 对象。

POST /me/live_videos?status=LIVE_NOW 端点发送请求。例如:

curl -i -X POST \
 "https://graph.facebook.com/v3.3/me/live_videos?status=LIVE_NOW&access_token={access-token}"

这样,系统将返回如下响应内容:

{ 
  "id": "10214937378883406",  //The LiveVideo object ID
  "stream_url": "rtmp://rtmp-api.faceboo...",
  "secure_stream_url": "rtmps://rtmp-api.faceboo...", //The stream URL
  "stream_secondary_urls": [],
  "secure_stream_secondary_urls": []
}

获取系统返回的 idsecure_stream_url 值。idLiveVideo 对象编号,可用于处理您的直播。secure_stream_url 是提取网址,可用于将直播视频数据从编码器流式传输至 LiveVideo 对象。

5. 将直播视频数据流式传输至安全直播网址

将上一步中获取的 secure_stream_url 值传递至编码设备,并将直播视频数据流式传输至该设备。当 LiveVideo 对象检测到直播数据后,用户个人主页上的直播便会开始。

查看您的个人主页,确认系统已创建新的直播视频帖子,并且正在播放您的直播数据。

如果使用直播软件而非开发自己的应用,则需为您的软件手动添加 secure_stream_url 值。根据使用的直播软件,可能需要将直播网址分解为其服务器 (rtmps://rtmp-api.facebook.com/rtmp/) 和关键组件(/rtmp/ 之后的所有内容)。

例如,在 OBS 中选择 OBS > 首选项。这样,系统将打开“设置”界面。将服务设置为 Facebook Live,在设置 > 直播 > 直播密钥中添加直播网址,然后开始直播。

6. 结束直播

在确认正在通过个人主页播放直播视频后,可通过向 POST /{live-video-id}?end_live_video=true 端点发送请求来结束直播。例如:

curl -i -X POST \
  "https://graph.facebook.com/v3.3/{live-video-id}?end_live_video=true&access_token={access-token}"

此操作将结束您的直播,并将其保存为点播视频 (VOD)。如需删除该 VOD,请向 DELETE /{live-video-id} 端点发送请求。

后续步骤

请查看常见用途,了解使用直播视频 API 安排直播视频发布到公共主页或小组以及获取用户心情和评论的更多示例。