本指南提供了使用 Wowza Streaming Engine 设置和流式传输直播视频到 Facebook Live 的全面演练。它涵盖了从系统先决条件到流配置、流目标设置和故障排除技巧的一切。请按照以下步骤操作,以确保从 Wowza 到 Facebook Live 的流畅流式传输体验。
先决条件
要成功使用 Wowza Streaming Engine 流式传输到 Facebook Live,您必须具备:
- Wowza Streaming Engine 版本 4.5 或更高版本
- 有效的 Facebook 帐户(个人或企业)
- 自 2019 年 5 月 1 日起,Facebook Live 需要 RTMPS
Facebook 流要求:
- 分辨率: 最大 720p (1280x720),30 fps
- 关键帧 (I-frames): 必须至少每 2 秒发送一次
- 视频比特率: 建议最大 4 Mbps
- 音频: 必需;必须是 AAC
- 音频比特率: 128 Kbps 单声道
- 音频采样率: 44.1 kHz
- 最大流持续时间: 8 小时
- 360 视频格式: 推荐等距柱状投影
注意: 如果流超过 8 小时限制,Facebook 将结束帖子并保存视频。Wowza 将自动创建一个新帖子并继续流式传输。
步骤 1:Facebook 设置
- 登录 Facebook。
- 创建或访问要流式传输到的 Facebook 页面。如果您要流式传输到您的时间线或现有页面,则无需进一步配置。
步骤 2:在 Wowza 中创建流目标
- 在 Wowza Streaming Engine Manager 中,导航到流目标并单击添加流目标。
- 在第三方目的地中选择“Facebook Live”。
- 在配置页面上填写以下详细信息:
- 流目标名称: 唯一名称(避免使用特殊字符,例如 < > : " / \ | ? * .. ~)
- 源流名称: 在 Wowza 中定义的输入流名称
- 标题/描述: 这些将显示在 Facebook Live 帖子中
- 360 投影: 如果流式传输 360 视频,选择“等距柱状投影”,否则选择“无”
- 单击登录并授权 Wowza 访问您的 Facebook 帐户。
- 出现提示时,设置您的首选默认隐私级别(公开、朋友等)。
注意:
- 如果登录失败,请尝试在另一个标签页中退出并重新登录 Facebook。
- 流目标与设置期间使用的 Facebook 帐户相关联。
- 我们建议每个 Facebook 帐户的并发流目标不超过 10 个。
步骤 3:选择视频目的地
- 我的时间线: 直接流式传输到您的个人时间线。
- 页面: 从我的页面下拉列表中选择您管理的页面。
如果流式传输到您的时间线,还需要设置隐私级别(仅我、朋友、朋友的朋友或公开)。
单击添加此目标以保存配置。
步骤 4:设置业务集成隐私
- 登录 Facebook。
- 导航到设置 > 业务集成。
- 单击Wowza Streaming Engine。
- 选择您想要的可见性级别,然后单击保存。
步骤 5:启用流目标
- 在 Wowza Streaming Engine Manager 中,转到您的应用程序。
- 单击流目标,然后单击启用流目标。
状态指示器:
- 等待: 已启用但正在等待输入流
- 活动: 流正在发送到 Facebook
- 错误: 流连接失败(检查凭据、源流或令牌有效性)
如果 Facebook 令牌已过期或失效,日志将显示:
PushPublishFacebookTokenInfo.log: token is invalid
解决办法:
- 重新编辑流目标
- 再次登录 Facebook 并保存
在高级选项卡中启用调试日志记录以跟踪令牌问题。
步骤 6:测试流
- 启动编码器或摄像机将 H.264 流发送到 Wowza。
- 在 Wowza Manager 中,转到传入流并单击流名称。
- 验证状态为活动。
- 检查 Facebook 以确认直播视频已发布。
- 要结束测试,请停止编码器或摄像机流。
关于 Facebook Live 帖子
当 Facebook 流目标变为活动状态时:
- 帖子标有直播。
- 如果源流短暂断开,Facebook 会等待并恢复流。
- 如果断开时间过长,Facebook 会结束直播帖子并将其转换为点播视频。如果流恢复,Wowza 将生成一个新的直播帖子。
新直播帖子的触发器:
- 重新启动 Wowza 服务器或应用程序
- 禁用、编辑或删除流目标
故障排除 Facebook 流目标
如果流失败,增加读取/写入超时可能会有所帮助:
- 在 Wowza Streaming Engine Manager 中,转到您的应用程序。
- 选择您的 Facebook 流目标。
- 单击自定义选项卡 > 编辑。
- 单击添加自定义属性并输入:
- 名称:
facebook.readWriteTimeout
- 类型: Integer
- 值: 15000(以毫秒为单位)
- 名称:
- 保存并重新启动应用程序。