跳转到内容
搜索文档

Cloudflare 上的 Media over QUIC

最后更新 查看 MarkdownAgent 设置

MoQ (Media over QUIC) 是一种利用 QUIC 传输交付实时媒体内容的协议。它通过利用 QUIC 的多路复用和连接管理功能提供高效、低延迟的媒体流传输。

MoQ 旨在成为一种互联网基础设施层面的服务,为应用程序提供媒体交付,类似于 HTTP 提供内容交付以及 WebRTC 提供实时通信。

Cloudflare 对 MoQ 的实现目前支持 draft-07 MoQ Transport 规范 的子集。

关于该协议的最新文档,请访问 IETF 工作组文档。

常见问题

  • Safari 支持情况如何?

    Safari 尚未具备完全功能的 WebTransport 支持。Apple 从未公开承诺此类新功能的时间表。然而,Apple 已经表达了其支持 WebTransport 的意向。一位 Apple 员工甚至是 WebTransport over HTTP/3 草案的共同作者。自 Safari 18.4 (2025-03-31) 起,WebTransport API 的早期(尚未完全功能)实现已可在开发者模式 / 高级设置功能标志后进行测试(包括 iOS 上)。

    在 Safari 拥有完全功能的 WebTransport 实现之前,某些 MoQ 使用场景可能需要回退到 WebRTC,或者在某些情况下回退到 WebSockets。

已知问题

  • 额外的 Subgroup 标头字段

    当前的实现包含 Subgroup Headers 中的 subscribe_id 字段,而 draft-ietf-moq-transport-07 省略了该字段。

    在 7.3.1 节中,draft-ietf-moq-transport-07 规定

    STREAM_HEADER_SUBGROUP Message {
      Track Alias (i),
      Group ID (i),
      Subgroup ID (i),
      Publisher Priority (8),
    }

    而我们的实现期望并生成:

    STREAM_HEADER_SUBGROUP Message {
      Subscribe ID (i),
      Track Alias (i),
      Group ID (i),
      Subgroup ID (i),
      Publisher Priority (8),
    }

    这是从之前的草案版本中错误遗留的,将在未来的版本中修复。感谢 @yuki-uchida 的反馈报告。

这篇文档对您有帮助吗?