Cloudflare StreamでライブストリーミングのIngest先に独自ドメインを設定できるようになりました!
はじめに
清水です。先週、CloudflareではPlatform Weekと題して様々な発表を行っていました。本エントリではこの中でもCloudflare Streamについての発表をあつかいます。(最後に「おまけ」としてPlatform WeekでのCloudflare Stream関連の発表を振り返っています。)Stream Live利用時の映像打ち上げ先のドメインについて、これまでのlive.cloudflare.com
ではなく独自ドメインが利用可能になりました。
Streaming Softwareに設定する映像の打ち上げ先(Ingest)ドメイン、これまではlive.cloudflare.com
で固定となっていました。ライブストリーミングを視聴するユーザに見えるドメイン部分は、WebサイトにStream Playerをiframeで埋め込むなどでこれまでも独自ドメインを使った運用が可能でしたが、今回の打ち上げ先となるIngestドメインについてもlive.cloudflare.com
へのCNAMEレコードを作成することで独自ドメインが利用できるようになりました。
独自のIngestドメインの利用については、映像の作成者やストリーミングを自ら行いたいといったユーザへのブランディングでの利点が挙げられます。また独自Ingestドメインを利用することで、ベンダーロックインを避けストリーミングサーバ(プラットフォーム)の移行が容易になります。(現在は未対応ですが、今後のロードマップに独自Stream Keyの利用もあるようです。ここまでできるとIngest先プラットフォームを意識せずDNSのレコード変更だけで移行が可能になりそうですね。)
なお独自Ingestドメインの使用にあたってはDNSへのCNAMEレコード登録のみではなく、Cloudflare Streamで使用するドメインを登録(追加)する作業が必要になります。以下で実際にドメインを追加し、独自Ingestドメインでライブストリーミングができることを確認していきます。
Stream LiveのIngestドメインを独自ドメインにしてみた
それでは実際にIngestのドメインを独自ドメインに設定してみたいと思います。ドメインの設定はCloudflareでゾーン管理しているドメインのほか、外部DNSで管理しているドメインも利用可能なようです。今回はAmazon Route 53でゾーン管理しているmydomain.tokyo
ドメインを利用しました。
まずはCloudflareのダッシュボード、Streamの「ライブ入力」のページで設定ボタン(歯車マーク)を押下します。
Custom Input Domainsの設定画面に遷移します。ドメインの箇所に独自ドメインを入力して[Add domain]ボタンを押下します。今回はpush.mydomain.tokyo
としています。
[Add domain]ボタン押下後、ホスト名のところに追加したドメインが表示されます。ステータスはまだ保留中の状態です。
続いて使用しているDNSサービス(今回はAmazon Route 53)でCNAMEレコードを作成します。CNAMEレコードの値はlive.cloudflare.com
を設定します。
設定後、手元のPCからdigコマンドでレコード登録状況を確認しておきます。
% dig push.mydomain.tokyo ; <<>> DiG 9.10.6 <<>> push.mydomain.tokyo ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50633 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;push.mydomain.tokyo. IN A ;; ANSWER SECTION: push.mydomain.tokyo. 300 IN CNAME live.cloudflare.com. live.cloudflare.com. 300 IN A 172.65.29.121 ;; Query time: 32 msec ;; SERVER: xxxx:xx:xxxx:xxx:xx:xxxx:xxxx:xxxx#53(xxxx:xx:xxxx:xxx:xx:xxxx:xxxx:xxxx) ;; WHEN: Tue May 17 20:21:53 JST 2022 ;; MSG SIZE rcvd: 98
そしてレコード作成後、しばらく(2,3分程度)するとCloudflare側、ホスト名に対するステータスが「アクティブ」に変わります。設定としてはこれだけです!
独自のIngestドメインでライブストリーミングしてみた
独自のIngest用ドメインが設定できました。このドメインを使って実際にライブストリーミングをやってみましょう。ダッシュボード上の接続情報はこれまでとかわらずlive.cloudflare.com
ドメインですが、Streaming SoftwareでのIngest先設定時にここを独自ドメインに変えたものを設定します。
以下、Streaming Softwareとして使用したZixi ONAIRの設定画面です。
独自Ingestドメインでライブストリーミングができました!
IngestのプロトコルにSRTを使用する場合も同様です。ダッシュボードでは以下形式でSRT URLが取得できます。
- srt://live.cloudflare.com:778?passphrase=$PASSPHRASE&streamid=$STREAMID
live.cloudflare.com
の部分を独自ドメインpush.mydomain.tokyo
に変えて、Streaming Softwareに設定します。(以下はOBS Studioを使用した例となります。)
- srt://push.mydomain.tokyo:778?passphrase=$PASSPHRASE&streamid=$STREAMID
まとめ
Cloudflare Streamで新たにサポートされた独自Ingestドメインの利用について確認してみました。Cloudflare Stream側でのドメインの登録、そして使用しているDNSサービス側でレコードの追加の2ステップで独自Ingestドメインが利用可能になります。ストリーミングプラットフォームを利用する場合、Ingestドメインは大抵はそのプラットフォーマーと関連付けられたドメインになることが多いかと思いますが、ここが独自ドメインだとちょっとイイ感じですよね!なおこの独自Ingestドメイン機能については、追加費用なしで利用可能とのことです。アカウントで追加できるドメインは最大で5つまでとなっている点は注意しておきましょう。
おまけ: Platform WeekでのCloudflare Stream関連の発表の振り返り
最後に本エントリのまとめとして、Platform WeekでのCloudflare Stream関連の発表を簡単に振り返っておきたいと思います。合計4件の発表がありました。低遅延ライブストリーミングサポートならびにCreator Propertyのサポートについては、本DevelopersIOにブログエントリも公開されています。
- 低遅延ライブストリーミングのサポート
- Creator Propertyのサポート
- 独自Ingestドメインのサポート
- Stream LiveでのClosed Captionのサポート
ブログエントリになっていないClosed Caption(字幕)サポートについて簡単におさえておきましょう。これまでもオンデマンド動画(VOD)ではClosed Captionがサポートされてきました。今回、これに加えてあらたにライブストリーミングでもClosed Captionをサポートすることが発表されました。CEA-608ならびにCEA-708形式でのClosed Captionに対応し、Cloudflare Streamに打上げるライブ映像にClosed Captionが含まれていれば、そのまま(特に設定せずに)配信時のマニフェストファイルに含まれるようになるようです。またStream PlayerでもClosed Captionに対応し、Captionが含まれていればプレイヤー内にレンダリングされるとのことです。こちらは来月(2022年6月)からクローズドベータで利用可能となる予定です。