MoQ API:配置您自己的隔离中继
内容提要
Cloudflare推出MoQ(基于QUIC的媒体传输协议)中继配置API,允许用户创建隔离的中继并分别发放发布者和订阅者凭证,支持draft-14和draft-16版本。该API通过控制平面管理,无需部署服务器,可在全球网络快速生效,并提供免费测试。用户可通过API或仪表盘创建中继和令牌,实现访问控制,同时支持新特性如提前发布和命名空间订阅。
延伸解读
隔离中继的实际意义
MoQ 中继的隔离特性意味着不同应用的数据流不会相互干扰,这为多租户场景提供了基础。通过 API 创建的中继并非独立服务器,而是现有网络上的逻辑隔离域,因此无需管理基础设施,即可获得类似专用服务器的隔离效果。这种设计降低了运营成本,同时保持了性能。
凭证分离与访问控制
API 允许为发布者和订阅者分别发放不同权限的令牌,这解决了生产环境中角色分离的需求。例如,直播场景中,观众只能订阅,而主播可以发布。令牌支持过期和单独撤销,便于精细管理访问权限。这种机制避免了共享凭证带来的安全风险,是 MoQ 应用走向生产的关键一步。
draft-16 新特性带来的变化
支持 draft-16 引入了提前发布和命名空间订阅功能。提前发布允许数据在订阅者出现前就开始传输,减少了首帧延迟;命名空间订阅则简化了订阅流程,并自动覆盖后续新增的轨道。这些改进对实时直播和动态内容场景尤为重要,提升了用户体验和系统效率。
开放标准与互操作性
Cloudflare 将 API 设计文档公开为 Internet-Draft,旨在推动多厂商支持统一的配置模型。这意味着未来不同 CDN 或中继服务商可能采用类似的 API,降低迁移成本。但需注意,该草案尚未成为 RFC,API 可能变化,开发者应关注文档更新,避免依赖不稳定的接口。
Q&A
Cloudflare的MoQ中继配置API是什么?
Cloudflare的MoQ中继配置API允许用户创建隔离的中继,并为发布者和订阅者分别发放凭证。它通过控制平面管理,无需部署服务器,可在全球网络快速生效,目前免费测试。
如何通过API创建一个MoQ中继?
通过发送一个POST请求到https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/moq/relays,并在请求体中包含中继名称即可创建。例如:curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/moq/relays" -H "Authorization: Bearer $API_TOKEN" -H "Content-Type: application/json" -d '{"name": "Production Relay"}'。
MoQ中继的令牌(token)有什么作用?
令牌是用于访问中继的凭证,可以授予发布、订阅或两者兼有的操作权限。每个令牌可以设置过期时间,并可单独撤销。通过给发布者和订阅者不同的令牌,可以实现访问控制,防止观众劫持发布者的轨道。
Cloudflare的MoQ中继支持哪些协议版本?
Cloudflare的MoQ中继支持draft-14和draft-16版本的MoQ Transport协议,并支持认证。
MoQ中继的隔离作用是什么?
隔离作用是指每个中继创建一个独立的范围,将不同应用的命名空间、轨道和对象分开,防止数据流混合。这类似于Web托管中的虚拟主机,而不是启动新的服务器。
如何通过Cloudflare仪表盘创建MoQ中继?
在Cloudflare仪表盘中,进入Media > Realtime > MoQ Relay,点击Create relay,输入名称并确认即可创建。
MoQ的draft-16版本新增了哪些特性?
draft-16版本新增了PUBLISH和SUBSCRIBE_NAMESPACE两个特性。PUBLISH允许发布者在订阅者请求之前发送轨道,SUBSCRIBE_NAMESPACE允许订阅者请求命名空间下的所有轨道,包括后续添加的轨道。
MoQ中继的API是免费的吗?
是的,在测试期间,MoQ中继配置API完全免费,且不限制使用规模。