Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Cloudflare の Media over QUIC

最終更新 Markdown で表示Agent セットアップ

MoQ(Media over QUIC)は、QUIC トランスポートを使ってライブメディアを配信するプロトコルです。QUIC の多重化と接続管理を活かし、効率的で低レイテンシのメディアストリーミングを提供します。

MoQ は、アプリケーションへメディア配信を提供するインターネットインフラレベルのサービスとして設計されています。HTTP がコンテンツ配信を、WebRTC がリアルタイム通信を提供するのと同様です。

Cloudflare は現在、MoQ Transport 仕様の draft-14draft-16 をサポートしています。ドラフトごとの対応メッセージの一覧は MoQ Feature Matrix を参照してください。

プロトコルの最新ドキュメントは、IETF ワーキンググループのドキュメントを参照してください。

はじめに

Cloudflare の MoQ リレーは、Cloudflare ダッシュボードAPI から利用できます。ベータ期間中は無料です。

リレーをプロビジョニングする

各リレーは独立したスコープを持ちます。名前空間、トラック、オブジェクトは、ほかのリレーのものと分離されます。発行するトークンのスコープで、公開できるユーザーと購読できるユーザーを制御します。

API でリレーを作成するには、次のコマンドを実行します。

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": "My Relay"}'

Cloudflare はリレー ID と、デフォルトのトークン 2 つを返します。1 つは公開と購読が可能で、もう 1 つは購読のみです。トークンのシークレットはレスポンスで一度だけ表示され、保存されません。

リレーの作成と管理は、Cloudflare ダッシュボードの Media > Realtime > MoQ Relay でも行えます。

パブリッシャーとサブスクライバーを接続する(draft-16)

Draft-16 では認証が必要です。クライアントは MoQ セッションを開くとき、URL パスにトークンを送ります。オープンソースの moq-rs ツールを使う例:

Publisher:

ffmpeg -stream_loop -1 -re -i input.mp4 \
  -f mp4 -movflags empty_moov+frag_every_frame+separate_moof+omit_tfhd_offset - \
  | moq-pub --name my-namespace \
    "https://draft-16.cloudflare.mediaoverquic.com/<publish_subscribe_token>"

Subscriber:

moq-sub --name my-namespace \
  "https://draft-16.cloudflare.mediaoverquic.com/<subscribe_token>" \
  | ffplay -hide_banner -

パブリッシャーとサブスクライバーを接続する(draft-14)

Draft-14 のクライアントは次の URL に接続します。

https://draft-14.cloudflare.mediaoverquic.com/

draft-18 をテストする

Cloudflare は、グローバル展開に先立ち draft-18 のサポートに取り組んでいます。その間に draft-18 リレーを試す場合は、moq-interop-runner を参照してください。

役に立ちましたか?