除遵循本指南中的直播故障排除步骤外,请确保您的视频设置符合 Cloudflare 直播建议。如果您使用 OBS,还可以查看这些 OBS 特定建议。
如果您的直播出现缓冲、冻结、延迟问题或其他类似问题,请尝试以下故障排除步骤:
-
在 Cloudflare 仪表板中,前往 Live inputs(直播输入) 页面。
Go to Live inputs ↗ -
对于正在使用的直播输入,选择 Metrics(指标) 选项卡。
-
查看 Keyframe Interval(关键帧间隔) 图表。
它应是一条一致的平线,保持在 2s 到 8s 之间。如果您看到不一致或波浪形的线,或一条始终低于 2s 或高于 8s 的线,请在用于向 Cloudflare 发送流的软件或服务中调整关键帧间隔(也称为 GOP 大小)。编辑这些设置的确切步骤取决于您的平台。
-
首先将关键帧间隔设为 4s。如果播放稳定但延迟仍然过高,将其降低到 2s。如果您在播放中遇到缓冲或冻结,将其增加到 8s。
-
如果关键帧间隔为 "variable" 或 "automatic",请将其更改为特定数值,如 4s。
什么是关键帧间隔?
关键帧间隔(也称为 GOP 大小)是衡量向 Stream 发送关键帧频率的指标。较短的关键帧间隔需要广播端更多 Internet 带宽,但可以减少 glass-to-glass 延迟。较长的关键帧需要较少 Internet 带宽,可以减少缓冲和冻结,但可能增加 glass-to-glass 延迟。
-
-
查看 Upload-to-Duration Ratio 图表。
它应是一条始终低于 90% 的一致平线。如果您看到不一致或波浪形的线,或一条始终高于 100% 的线,请尝试以下故障排除步骤:
-
检查您的 Internet 上传速度 ↗ 是否至少为 20 Mbps。如果低于 20 Mbps,请使用常见故障排除步骤,如重启路由器、使用以太网连接而非 Wi-Fi,或联系您的 Internet 服务提供商。
-
检查用于向 Cloudflare 发送流的软件或服务中的视频码率设置。
- 如果为 "variable",将其更改为 "constant" 并指定数值,如 8 Mbps。
- 如果高于 15 Mbps,将其降低到 8 Mbps 或您 Internet 速度的 70%,取较低者。
-
按照上述步骤(关键帧间隔步骤)增加 用于向 Cloudflare 发送流的软件或服务中的关键帧间隔。
什么是 upload-to-duration ratio?
Upload-to-duration ratio 衡量上传流的一部分所需时间与该部分播放所需时间的比较。低于 100% 的比率意味着流上传速度至少与播放速度一样快,因此大多数用户不应遇到缓冲或冻结。100% 或更高的比率意味着视频上传速度比播放慢,因此大多数用户可能会遇到缓冲和冻结。
-
如果编码器显示连接错误(如 "Failed to connect to server")或在启动后很快反复断开,请尝试以下操作:
-
验证 RTMPS URL、stream key 和编码器软件是否正确复制到广播软件中。
-
验证直播输入是否已启用。已禁用 的直播输入将拒绝所有传入连接。您可以从仪表板的 Live inputs(直播输入) 页面或通过 API 使用
Go to Live inputs ↗enabled属性启用或禁用直播输入。curl -X GET \ --header "Authorization: Bearer <API_TOKEN>" \ https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id}如果响应中
enabled为false,请更新直播输入以启用它:curl --request PUT \ https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id} \ --header "Authorization: Bearer <API_TOKEN>" \ --data '{"enabled": true}' -
如果您使用 Live Webhooks,请检查
live_input.errored事件。webhook 负载包含 错误代码,可帮助您排查具体原因。
如果编码器已连接且仪表板显示绿色 Connected(已连接) 状态和有效指标,但播放器预览显示 Stream has not started yet,请尝试以下操作: