ブラウザ間:WebRTCの落とし穴

JavaScript APIを介して最新のブラウザで利用可能なWebRTCは、音声とビデオをキャプチャし、それらをネットワーク経由で送信し、別のブラウザで再生します。 ブラウザ間でのピアツーピア、画面共有、UDPパケットでのデータ送信、ビットレートをチャネル幅に調整することもできます。 非常に優れた技術。 そして、Skype for Webを組み立てて、ジョイスティックをラップトップでプレイするためのライトセーバーに変え、セルからWebページに電話をかけることができます。 非常に優れた技術。 しかし、生。



Voximplantでは、Android、iOS、 Unity 、React Nativeなど、クラウドを呼び出すための多くのSDKを長年開発しています。 WebRTCだけを使用して、Web SDKが名誉ある場所を占めています。 これにより、 CRMは 「Webページへの」呼び出し、「Webサイトからの呼び出し」ボタン、および医師とのビデオ相談を受けます。 長年にわたり、WebRTCを使用することで多くのコーンを蓄積してきましたが、この素晴らしい技術を使用したい場合に満足できない主な点について簡単に説明します。



APIのいくつかの異なるバージョン



過去数年間、WebRTCは「コンスタントベータ」の状態にあり、開発者と標準化委員会がAPIを好きなように作り直すことができました。 そして、彼らはこの機会を利用します!



数年前、すでに安定化されていたAPIは完全にやり直されました。コールバックは約束に置き換えられ、カメラとマイクからのストリームの受信は「トラック」に分割されました。 ただし、新しいAPIはすべてのブラウザーに完全に実装されているわけではありません。 たとえば、Chromeはトラックの操作方法をまだ認識していません。



統合計画と計画B



音声またはビデオの送信を開始する前に、ブラウザは解像度、コーデック、ビットレートについて合意する必要があります。これがすべてです。 このために、WebRTCは通信から借用したセッション記述プロトコル(SDP)テキストを使用します。 開発者は何らかの方法で(通常は独自のシグナリングサーバーを介して)ブラウザ間で「提供」および「応答」SDPパケットを送信する必要があります。



問題は、Chromeが長年にわたって廃止された「プランB」を実装しており、Firefoxを含む他のすべてのブラウザーが新しい「統一プラン」を実装していることです。 それらは、いくつかのストリームのエンコーディングが異なります。 そして、音声付きのビデオは、もう2つのストリームです。 したがって、ブラウザ間で音声を送信している間は、すべて問題ありません。 ビデオの転送を開始するとすぐに何も機能せず、 アダプターを作成するか、既存のポリファイルを使用する必要があります。



画面共有にはタンバリンが必要です



オンラインウェビナーサービスを作成してデスクトップを表示したいですか? Firefoxでのみ動作します。 また、Chromeの場合、アドオンを実行し、サイトを「信頼済み」として登録し、ユーザーにこのアドオンのインストールを依頼する必要があります。 もちろん、セキュリティ上の理由から。



Safariはユーザーを保護します



最近、AppleはSafariでのWebRTCのサポートを発表したため、秋にはすべての主要なブラウザー(Chrome(デスクトップおよびAndroid)、Safari(デスクトップおよびiOS)、Firefox、Edge)でこのテクノロジーが利用可能になります。 ただし、最初のバージョンには、ユーザーがブラウザからウェブカメラを覗こうとするのを防ぐために設計された多くの制限が含まれます。





実際にはすべてがどれだけ怖いですか?



実際、これらすべてのニュアンスがあれば、生きることはまったく可能です。 何百ものお客様がWebSDKを使用してさまざまな問題を解決していますが、すべてがお客様のために機能しています。 WebSDKの開発の主な目的として、過去1年間でirbisadm白髪のみが増加しています。 Habrauserのボーナスは、彼のWebSDKに関する彼の内部講義の録音です。彼は今週金曜日について話しました。 コメントで質問をすることができます!







ここからキャット前の写真を撮りました



All Articles