Cloudflare Stream 与所有支持 HLS 和 DASH 的视频播放器兼容,这些是流媒体标准格式,在所有 Web 浏览器、移动操作系统和流媒体设备上得到广泛支持。
平台特定指南:
每个视频和直播流都有其唯一的 HLS 和 DASH 清单。您可以通过将 <UID> 替换为视频或直播输入的 UID,将 <CODE> 替换为您的唯一客户代码来访问清单:
https://customer-<CODE>.cloudflarestream.com/<UID>/manifest/video.m3u8https://customer-<CODE>.cloudflarestream.com/<UID>/manifest/video.mpd如果 Live Input 启用了 Low-Latency HLS Beta,请在 HLS manifest URL 中添加查询字符串 ?protocol=llhls,以在自定义播放器中测试低延迟清单。请参阅 开始直播 以启用此选项。
https://customer-<CODE>.cloudflarestream.com/<UID>/manifest/video.m3u8?protocol=llhls-
在 Cloudflare 仪表板中,前往 Stream 页面。
Go to Videos ↗ -
从视频列表中找到您的视频并选择它。
-
在 Settings(设置) 选项卡中,找到 HLS Manifest URL(HLS 清单 URL) 和 Dash Manifest URL(DASH 清单 URL)。
-
选择要使用的选项下的 Click to copy(点击复制)。
请参阅 Stream 视频详情 API 文档 了解如何使用 Cloudflare API 获取 manifest URL。
每个 HLS 和 DASH 清单提供视频的多个分辨率。您的播放器包含自适应码率逻辑,以估算观众的可用带宽并选择播放的最佳分辨率。每个播放器的决策逻辑不同,大多数提供配置选项以允许您自定义或覆盖带宽或分辨率。
如果您的播放器缺少此类配置选项或需要覆盖它们,可以在请求获取 manifest 文件时添加 clientBandwidthHint 查询参数。这应仅作为最后手段——我们建议您首先使用播放器提供的自定义选项。请记住,虽然您可能在快速 Internet 连接上开发网站或应用,并想使用此设置强制高质量播放,但许多观众可能通过较慢的移动网络连接。
clientBandwidthHintfloat- 仅返回最接近所提供带宽值(Mbps)的视频表示。这可用于强制特定质量级别。如果您指定的值会导致提供无效或空清单,提示将被忽略。
请参阅下面的示例,仅显示码率最接近 1.8 Mbps 的视频表示。
https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/manifest/video.m3u8?clientBandwidthHint=1.8如果您需要超低延迟,且用户在原生应用中观看直播视频,您可以使用 SRT 或 RTMPS 播放直播视频,实现端到端(glass-to-glass)延迟低于 1 秒 ↗。
SRT 和 RTMPS 播放内置于 ffmpeg ↗。您需要将自己的视频播放器与 ffmpeg 集成——AVPlayer (iOS) 和 ExoPlayer (Android) 均不原生支持 SRT 或 RTMPS 播放。
我们建议使用 ffmpeg-kit ↗ 作为 ffmpeg 的跨平台包装器。