WebTransport ブロードキャストの応用と実践への道

実践的な注意

99e894a8247b5ea57e340d90a414ad43.gif

乾物が無くならない

ウェブブロードキャストのビジネス上の課題

ローカル ソフトウェア ストリーミングでも Web ストリーミングでも、ストリーミングのジッター、視認性の高い画像、音声のフリーズなどの問題を解決する必要があります。現在の Web テクノロジー環境において、高品質のオーディオとビデオのストリームをより多くのユーザーに安定して提供する方法は、当社の技術チームの焦点です。技術的な観点から、ここでいくつかのキーワードを解釈してみましょう。

  • 安定性: 伝送プロトコル自体の安定性を保証する必要があります。ネットワーク損失による画面のぼやけやノイズなどの問題を防ぐために、信頼性の高い伝送が望ましいです。さらに重要なのは、サービス リンクが利用できない場合に迅速に切り替えることができることです。したがって、ストリーミング シナリオでは複数行のバックアップ機能を提供する必要があります。

  • 高品質: 医療や美容のマーケティング シナリオや配送シナリオなどの一部のシナリオでは、製品の詳細を表示する必要があり、帯域幅の許容を前提として、画像の詳細の損失ができるだけ少ない技術ソリューションを選択する必要があります。図式

  • 大規模ユーザー: より多くのユーザーに配信するために、テクニカル ソリューション設計ではライブ CDN サービスを確実に導入しますが、ストリーミング プロトコルがライブ CDN でサポートできるかどうかは考慮すべき点であり、要件を満たすことができない点でもあります。プライベートプロトコル。

WebTransportの技術原理

まず、トランスポート プロトコル WebTransport の基本的な技術原理を簡単に理解しましょう。WebTransport は、HTTP3 に基づくアプリケーション層トランスポート プロトコルです。HTTP3 の最下位層は、quic プロトコルに基づいています。quic プロトコルは、UDP プロトコルに基づく一連のトランスポート プロトコルであり、信頼性の高い送信と信頼性の低い送信をサポートします。

d29de443335bf2e4d2cb4830b7dbf2d6.png

WebTransport の技術的な利点

Web アプリケーションにとっての WebTransport の重要性は、より優れたトランスポート プロトコルに限定されるものではなく、実際のシナリオに応じて WebCodecs、WebAssembly、WebNN を組み合わせることでより優れたアプリケーション エクスペリエンスを実現できる、より豊富なテクノロジ スタックももたらします。WebRTC の比較的集中化された技術スタックと比較すると、この方法は明らかに柔軟性が高く、より柔軟な技術の組み合わせが容易です。

0ca51ab9f68fb17393f0bdcc15a7983b.png

もう 1 つの明らかな利点は、WebTransport がページ上のマルチスレッドを利用できることです。WebRTC プロトコルを使用すると、大量のロジックはメイン スレッドでのみ実行できますが、WebTransport を使用すると、オーディオおよびビデオの処理プロセス全体を WebWorker に配置できます。スレッドの占有率により、ページの流暢性が向上します。複数のスレッドを同時に使用すると、アプリケーションのスケーラビリティが向上し、より多くのオーディオおよびビデオ タスクに直面するときにスレッドを抽象化と分離に使用できます。

206863a59c0a83ee55b3c8e18d08ea45.png

マルチスレッド機構を駆使してメインスレッドの負担を軽減

a5e6357d49cdb879db4802a2c31125a9.png

マルチスレッドメカニズムを使用してアプリケーションのスケーラビリティを向上させる

伝送プロトコルの特性として、TCPでは2~3RTT必要となるのに対し、初回のアソシエーション確立に必要なRTTは1RTTのみで確立速度が速くなります。すでに確立されている接続については、タイムアウト期間内に接続を再確立することで 0RTT を実現できます。ネットワークが輻輳している場合、RTT の数を減らして速度を最適化するのは明らかです。数十ミリ秒に達する場合もあります。最後の機能は、ライブ ブロードキャスト中に WIFI ネットワークが良好でない場合の接続の移行です。携帯電話のホットスポットに切り替えることでも 0RTT を達成できますが、対照的に、TCP と RTC の両方で接続を再確立する必要があり、回復速度が大幅に遅くなります。

1d332b7ea11a01360c46858ffb778136.png

最初の接続は TCP より 1 ~ 2RTT 高速です 

2edb5d0789529e4763cf14d7a35c0da4.png

キャッシュされた接続の 0RTT をサポート

これらの利点に基づいて、Volcano Engine のライブ ストリーミング チームは、ライブ ストリーミングを最適化するために WebTransport を使用することを選択しました。設計スキームは一方向ストリームの安定した伝送に基づいており、伝送フォーマットの点では RTMP が標準であるため、ライブ CDN のサポートコストは比較的小さくなり、現在の RTMP ストリーム受信ロジックを再利用する方が良いでしょう。 。このテクノロジー スタックは比較的新しいため、プロセスにおけるいくつかの問題を解決する必要があります: W3C は AAC のエンコード機能を定義していますが、Chrome は AAC エンコードの実装を提供していません。libFaaC を wasm ライブラリにコンパイルすることで実装できます。さらに、ブラウザは flv コンテナをターゲットにしないため、カプセル化には機能のこの部分に対する追加のサポートが必要です。では、WebRTC ストリーミングと比較して、WebTransport ストリーミングの実際のアプリケーション効果は何でしょうか?

a172b900cb70b444ff894e7fde2d4329.png

WebTransport ストリーミング WebRTC ストリーミングの効果の比較

WebTransport が WebRTCストリーミングよりも 優れた結果を達成できる理由:

ネットワーク伝送 (品質と安定性):

WebRTC はリアルタイム通信用のトランスポート プロトコルであり、ネットワーク遅延の変化に敏感です。WebRTC プロトコルを使用してストリームをプッシュする場合、ネットワーク ジッターの影響を大きく受けます。ネットワーク遅延ジッターが発生すると、RTC 帯域幅推定モジュールは現在のネットワークが混雑状態にあると判断し、送信ビットを減らす必要があります。画質低下の影響は非常に大きく、直感的には部分的にモザイクがかかってしまいます。Quic の信頼性の高い伝送に基づく WebTransport を使用する場合、その輻輳制御アルゴリズムはネットワーク ジッターの影響を比較的受けにくく、一定の遅延を犠牲にして伝送の信頼性を保証できるため、伝送帯域幅を大幅に削減することは容易ではなく、画質は比較的良好です。保証付き。

エンコーディングの最適化 (品質):

WebTransport は、Web 仕様でネットワーク送信機能を提供し、WebCodecs や WebGPU などの既存の Web 側マルチメディア機能と深く統合できます。これにより、アプリケーションを最適化するためのエンコード形式とパラメータ選択の余地がさらに広がります。

ライブ CDN への簡単な統合(大規模な配布):

WebTransport は、完成した HTTP3 仕様に基づいており、ライブ CDN による統合とサポートが容易です。WebRTC と比較して、アプリケーションの複雑さが低くなります。同時に、RTC プッシュと接続確立のプロセスでシグナリング リンクが節約されます。これにより、最初のフレーム プッシュの速度が向上し、便利です。

まず、ネットワーク ジッターの場合、100ms の遅延ジッターも追加すると、WebTransport ストリーミングの画像は RTC ストリーミングよりも明らかに鮮明になります。ネットワーク プリエンプションのシナリオでは、より低い帯域幅が固定され、GCC 輻輳制御アルゴリズムを使用したデータ フローが、TCP プロトコルを使用したデータ送信に直面して、割り当てられる帯域幅リソースが非常に小さくなります。

23ec8b41ddbe085c265ebef473e741f7.png

WebTransport ストリーミング + 100ms 遅延ジッター

acde28659dad8033e30db4a81cc5ac3c.png

 WebRTC ストリーミング + 100ms 遅延ジッター

さらに、上り 3Mbps の固定帯域幅を持つネットワーク下では、WebTransport と RTC ストリーミングが同時に使用され、目標ビット レートは 1.5M に設定されますが、その過程で RTC ストリーミングのビット レートは深刻な影響を受けます。ビットレートは急激に低下しますが、画質は保証されています。さまざまなネットワーク条件下での WebTransport ストリーミングの流暢性パフォーマンスは、多数のパケット損失の場合を除いて、他のシナリオにおける RTC ストリーミングの流暢性パフォーマンスと基本的に同等になります。

caf8b821d25c37099627ecab5b7e9828.png

WebTransport ストリーミング

bc28a78c404556c6ef1b6a70d2ba1d6e.png

 WebRTC ストリーミング

概要と展望

さまざまなストリーミング プロトコルには、それぞれ長所と短所があります。現時点では、完璧な解決策はありません。実際のシナリオに応じて選択する必要があります。たとえば、Lianmai シナリオでは一般に WebRTC リツイートが必要ですが、これは低コストのシナリオに適しています。レイテンシ インタラクティブ シナリオ WebTransport ソリューション 高画質が要求されるシーンに適しています。一般に、WebTransport ストリーミング ソリューションは、「高品質の音声とビデオをいかに安定して多数のユーザーに配信するか」という問題、つまり信頼性の高い伝送を実現し、接続の安定性を保証し、ネットワーク損失に悩まされないことを解決します。シナリオによっては、遅延の一部を犠牲にすることでオーディオとビデオの品質を保証でき、比較的満足のいく答えが得られます。WebTransport のブロードキャスト効果を体験したい場合は、Volcano Engine コンソールにアクセスしてオンライン デモを体験できます。

f73bae2dcd29c18a796cc2807e7c46de.png

16e39f79376e2d98a27b224d8f331e11.png 「原文を読む」をクリックして今すぐ体験してください!

おすすめ

転載: blog.csdn.net/ByteDanceTech/article/details/131179726