MoQ API:配置您自己的隔离中继

💡 原文英文,约2000词,阅读约需8分钟。
📝

内容提要

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完全免费,且不限制使用规模。

🏷️

标签

➡️

继续阅读