直接:WebRTCサポートへの道の落とし穴

ロゴ

あなたの多くは、リアルタイムWebコミュニケーションの新しい標準、別名WebRTCについて聞いています。 Webサイトやモバイルアプリケーションのユーザーとの音声通信 (クリックツーコール/タップツーコール)のサービスを開発してます。 それが、追加のプラグインをインストールすることなく、ブラウザから直接音声通話とビデオ通話を行うという考え方が非常に近い理由です。 一般的に、追加のソフトウェア。 私たちの会社は、Google、Mozilla、Cisco、Ericsson、Skype、その他多くと共にこの標準を開発するW3Cワーキンググループの一部です(そう、私たちは素晴らしい会社になりました)。 Cullen Jennings(Cisco)、Justin Uberti(Google)、Daniel Burnett(Voxeo)、Cary FitzGeraldなどの真面目な専門家のチームがこの標準に取り組んでいます。 過去10〜15年にわたって知られているように、それらの多くはIPテレフォニーの作成に参加しました。



Googleは、GIPSの買収に続いてWebRTC全体の動きを開始しました。彼らは、ブラウザで標準の最新ドラフトバージョンのサポートを追加した最初の企業です。 WebRTCは既にGoogle Chrome 23で正常に機能しています。しかし、はい、WebRTCバージョンのオンラインサービスを「離陸」するには、時間をかけてすべてがどのように機能するかを把握する必要があります。 また、WebRTCサービスを引き続き機能させるには、ワーキンググループで何が起こっているのか、標準に対するすべての変更を監視する必要がありますが、これは見かけほど簡単ではありません。



少し歴史。 WebRTCの少なくとも一部のサポートを実装した最初のブラウザは、エリクソンの実験的なブラウザでした。 私たちはWebRTCを実際に試してみたいと思い、サーバーがこのブラウザで動作するようにサポートを「見ました」。 後に判明したように、それはかなり愚かな仕事でした。 Googleが問題を積極的に取り上げるとすぐに、エリクソンのすべての成果が地獄に送られ、標準の絶え間ない変更と、Chrome Canaryの開発アセンブリでの対応する実装が開始されました。



また、ブラウザ開発者が奇妙なRFCバリアントを使用した(またはまったく使用しなかった)非常に面白い瞬間があり、少なくとも何らかの形で機能するように、STUNまたはICEを再度書き換える必要がありました。 その結果、常識が勝ち、誰もがRFCを実行しましたが、タンバリンと踊り、これを行うのは良くないと説明するのにかなりの時間が費やされました。



WebRTCを使用する際に問題を引き起こすいくつかのポイントがあります。



  1. 標準の作業は本格的であり、特定の完成バージョンはまだ遠いです。 すべてが変更されます。たとえば、ダブルチェックが必要なブラウザの新しいバージョンがリリースされ、実装全体の処理が頻繁に行われます。 下位互換性があるという事実ではありません。 しばしば彼女はいなくなっています。
  2. 標準プロトコル(SDPなど)の実装は、まだ理想からはほど遠いです。 PeerConnectionは、別の参加者のSDPで反対のポートが示されている場合でも、1つのポートでのみビデオとオーディオを送信できます。 確かに、公平を期すと、状況が徐々に改善していることは注目に値します。 たとえば、Chromeの最近のバージョンのICEはRFCに従って動作します。
  3. SIPとの統合の難しさは、メディアコントロールXMLメソッドを実装できないことによって追加されます。 したがって、ゲートウェイからSIP機器へのパケットが失われると、イメージの回復に問題が発生します。 Googleの同僚は、RTPプロトコルのレベルで実装しているため、この問題に対処する必要があると述べています。
  4. 一般的なビデオコーデックはサポートされていません(読み取り-H.264)。 もちろん、一部のソフトフォンにはすでにVP8が実装されていますが、このコーデックをサポートする産業用ソリューションはまだありません。 この問題についてはまだ明確ではありません。H.264サポートをサポートしている企業は多数ありますが、コーデックはMPEG-LAが特許を取得しており、ロイヤリティフリーのコーデックのみを使用する予定であるため、これまでのところVP8のみが利用可能です。




UX / UIの観点から見ると、WebRTCはFlashよりも明らかに優れています(スクリーンショットを参照)が、将来修正されることを期待する多くの欠点があります。 たとえば、記録デバイスの選択を保存する場合(HTTPSを使用する場合のみ利用可能)、この設定をリセットするには、設定->詳細設定...->プライバシー->コンテンツ設定...->メディア->例外の管理...に移動する必要があります通常のユーザーがそこに決して到達しないことを?



(フラッシュ)





今(WebRTC)





WebRTCを使用するときの音質は、Flashよりも真剣に優れていると言わなければなりません。 たとえば、WebRTCにはマイク用の本格的な自動ゲイン制御(AGC、自動ゲイン制御)があり、Adobeはいくつかの宗教上の理由からこのような便利な機能を含め始めませんでした。 さて、GIPSオーディオエンジンの残りの部分は非常にうまく機能します。 近い将来、WebRTCでOpusオーディオコーデックを使用できるようになります。これは、Skype SILKとCELTのハイブリッドであり、G.711とともにWebRTCの必須としてすでに受け入れられています。 GoogleはすでにAndroid向けChromeのモバイルバージョンのWebRTCをサポートするために懸命に取り組んでいます。つまり、モバイルプラットフォームの深刻な未来があることを意味します(Adobeはモバイル向けFlashの宣伝と開発を断念しました)



そして最後に:WebRTC Conf&Expoで、Firefox 18のリリースバージョンにWebRTCサポートが追加されることが発表されました。この素晴らしいイベントは2013年4月頃に行われます。Opera、IE、Safariを待っています。 ちなみに、私たちは会議に直接参加し、なんとか賞品を獲得することができました。これについては別の投稿をしようとします。



All Articles