![見出し画像](https://assets.st-note.com/production/uploads/images/158718383/rectangle_large_type_2_e4a040d7be5f989acc84e576005f8387.png?width=1200)
YouTubeのウェブカメラ配信のメリットについて 〜遅延量は大きく変わらないが、ブラウザ配信が強み〜
今回のテーマはYouTubeのウェブカメラ配信について。
YouTubeはライブ配信の管理画面から、Webカメラ映像を配信することができます。
調べていくうちに、この方法は通常の配信とは異なる「WebRTC」という方式を使い、映像を送っていることが分かりました。
この方式について調べる中で、最大のメリットはブラウザから配信ができることなのだと思いました。今回は調査・検証して分かったことをまとめてみたいと思います。
きっかけ
先日YouTube Liveの基本について紹介するイベントを行いました。
このイベントはYouTube Liveをするために必要なYouTube管理画面の使い方について紹介をしたものです。
アーカイブ動画もあるので、気になる方はぜひご覧ください。
この中ではYouTube管理画面から操作する3種類の配信を紹介しました。
その内の一つが、ブラウザから配信をする「ウェブカメラ」という方法です。YouTubeの管理画面から、WebカメラやHDMIキャプチャデバイスの映像を配信することができます。
![](https://assets.st-note.com/img/1729330866-Ypyg0K9LjOGHJkulhBC7XTb4.png?width=1200)
資料作成中にふと疑問に思ったのが、このウェブカメラ配信はどういった方式の配信なのか、ということでした。
ライブ配信機材などからエンコーダー配信をする時は「RTMP」という方式が一般的です。しかし、YouTubeのウェブカメラ配信は、「WebRTC」という方式を使っているようです。
というのも、YouTube Live管理画面にあるURL情報を見てみると、一般的な機材やソフトからのエンコーダー配信と、ウェブカメラからの配信ではストリームURLの情報が異なっています。
エンコーダー配信だと「rtmp」ですが、ウェブカメラ配信だと「webrtc」になっていますね。
![](https://assets.st-note.com/img/1729350161-xDyhwWzfpgrCG2jOtKHselo6.png?width=1200)
WebRTCとは?
では、一体WebRTCとはどのような方式なのでしょうか?
WebRTCは「Web Real-Time Communication」の略で、Webブラウザを中心にリアルタイムな双方向通信・コミュニケーションを目指した技術のようです。
大きなメリットとして低遅延な通信があります。WebRTCで検索をしてみると遅延量は「1秒未満」も狙えるといった記述も見つかります。スゴイですね。
元々は2011年にGoogleが作り始めたオープンソースの技術で、ライセンス料などもなく利用できます。既に各種ブラウザが対応済みなので、開発者なら誰でも扱うことができます。
こちらの動画によると、WebRTCはサーバーレス(P2P)を前提に始まり、当初は低コストで開発できる期待がありました。しかし、実際には同時接続数などの制約もあり、今ではサーバー経由で通信をする形式が殆どのようです。
とは言え、多くのビデオチャットやオンラインゲームなどの通信に使われているとのこと。技術的な課題はあるものの、ブラウザ上でも使える通信技術として、これからも発展が期待されているようでした。
RTMPと遅延が変わらない…?
では、実際にRTMPの配信とくらべるとどうなのでしょうか。実際に検証をしてみました。
ウェブカメラ配信(WebRTC)とエンコーダー配信(RTMP)で、実際にYouTube Liveで再々された映像を比較します。どちらも「超低遅延」の設定で、DVRはOFFにしました。
その結果がこちらです。
![](https://assets.st-note.com/img/1729434520-xrpGn9WyIFe7NAtm6bwf4gCq.jpg?width=1200)
![](https://assets.st-note.com/production/uploads/images/158718308/picture_pc_c6b43e5f05b75d98013dabe1047dcffa.gif?width=1200)
あれ、殆ど変わらない…。WebRTCを使ったウェブカメラ配信の方が早いのですが、僅かな差でしかありません。再生のタイミングによっては、RTMPの方が早い場合もあるほどでした。
調べていてWebRTCのメリットは超低遅延という情報ばかりだったので、これは意外な結果でした。
最初はP2Pではないことが理由かと考えました。よく見る「1秒未満の超低遅延」はサーバーレスなP2Pだからこその成果なのかなと。しかし、調べてみるとそういう訳でもないようです。
こちらの記事の動画では、サーバー経由のWebRTCでも驚くほど超低遅延なことが分かります。1秒どころか、パッと見では遅延が分からない程です。スゴイ。
様々な条件が異なるので単純比較はできませんが、P2Pかどうかが超低遅延の鍵でもないようです。
ではYouTube LiveではなぜRTMPと変わらない遅延量なのでしょうか。
WebRTCは部分的に使われている
ヒントになりそうな情報として、WebRTCでYouTubeに送ったからと言って、その後の全てがWebRTCではないことを知りました。
こちらの記事によると、WebRTCでYouTube Liveのサーバーに送ったとしても、YouTubeから視聴者にはより拡張性・柔軟性が高いHLSやMPEG-DASHという方式で配信をしているそうです。こちらの記事によると、実はRTMPで送る場合もこれは同じとのこと。
他にも、YouTubeはじめライブ配信のサービスは、たた映像を受け渡すだけでなく色々な処理を行なっていることを学びました。素人的に「全てWebRTCで通信している」と勘違いをしてたのでお恥ずかしい…汗
様々な処理をしているのであれば、その分だけ遅延が発生するのも納得です。また、調べているとWebRTCのメリット・デメリットがYouTube Liveに当てはまらないものも多かったので、その理由も理解ができました。
ウェブカメラ配信のメリットは?
以上の検証・調査から、YouTube Liveのウェブカメラ配信は、WebRTCだからと言って遅延は大きく変わらないないことが分かりました。
では、YouTube Liveの場合ウェブカメラ配信を使うメリットはあるのでしょうか。私はブラウザで配信できることが最大のメリットだと思いました。
これはWebRTCのメリットでもよく挙げられていたもので、配信エンコーダーなどの機材を用意したり、OBSなど配信ソフトの使い方を理解しなくても、ブラウザから誰でも簡単に配信することができます。
確かに、配信先のURLもストリームキーもいれる必要がないのはとてもシンプルでした。初心者の方にとってはとても敷居が低い方法だと思います。
ただ、ブラウザ画面を更新したり落ちたりすると、配信は止まってしまうようです。試した限りはRTMPのような再配信はできず、これは大きな差だと感じました。
ウェブカメラ配信の遅延設定
一つだけ気になるのはウェブカメラ配信が「超低遅延」固定なことです。遅延が少ない=バッファが少ないので、回線環境が弱い時にどうなるのかが気になります。
調べてみると、どうやらWebRTCはネットワークの状況に合わせて品質を調整するロジックがあるようです。YouTube Liveでもこのロジックが搭載されていれば、回線が弱い場合でもある程度耐えられるのかもしれません。
ウェブカメラ配信の画面には画質設定などもないので、もうお任せするしかないとも言えます。その点でも、ある意味では初心者の方にとってはシンプルなのかなと思いました。
技術的な内容ですが、調整の挙動はこちらの検証記事がとても参考になりました。
音声処理が加わります(2024/12/16追記)
ウェブカメラ配信ですが、デメリットとして音声に処理が加わることが分かりました。
かなり大きな変化があり、私個人としてはウェブカメラ配信の使用は控えたいと思う内容でした。詳細は別の記事にまとめたので、併せてご覧ください。
以上、YouTubeのウェブカメラ配信について、調査・検証して分かったことの紹介でした。
個人的には今まで使ったことのない配信方法だったので、得意なポイントが分かり安心ができました。
ウェブカメラ配信は簡単に試すことができるので、ぜひ機会があれば触ってみてください。