2017 年の WebRTC について

あくまで技術的な視点からの話をしていきたい。DataChannel の話はしない。Media Channel のみ。

WebRTC とはなんだったのか というのもあるので、興味ある方はどうぞ。

2017 年のブラウザ対応

まずは何よりも、打ち合わせで良く聞かれる、Edge/Safari はどうなのか、という話。

Edge

今年対応されるかは正直わからないが、開発ブランチには入っている。

これらは現在開発中というステータスだ。そして WebRTC と H.264 はすでに Windows 開発プレビュー版に入っていて、すでに既存のブラウザと通信もできているようだ。

New in Windows 10 build 14942

Win10 のリリースサイクルなどは自分は Windows 系に明るくないのでわからないが、どこかのタイミングでリリースされるのは間違いないということだけだろう。

Microsoft は Skype for Business はクライアントサーバモデルであり、そのタイミングでバックエンドを WebRTC に切り替えた。Linux の Skype は Electron + WebRTC という話も出てきている。

Edge が 2017 年中に対応されるかどうかはわからないが、今後 Win 10 で標準ブラウザとなっている Edge が WebRTC に対応するのは間違いないと言い切って問題ないだろう。

Safari

safari というか mobile safari というか iOS がそもそもブラウザでの WebRTC に対応するのかどうか、という話。

結論から言うといつかは対応するかもしれない、といったあやふやな回答になる。Safari Technology Preview を見ていると WebKit のコミットをどこまでを取り込んだかなどが見えるが、WebRTC も含まれている。ただ動くところまで取り込んでいるのかどうかは自分の方では把握できていないし、そもそも公開情報がコミットログと https://webkit.org/status/#specification-webrtc この開発中という状態以外はわからない。

そのため、個人的には Safari が WebRTC を搭載するのは Edge よりもネガティブというのが自分の意見だ。

そもそも Apple は Safari に焦って WebRTC を搭載するメリットが MS よりない。

また iOS は専用アプリを作りさえすれば WebRTC は利用する事ができることもあり、まずはそこで頑張っていって、Safari が対応したらラッキーくらいの気持ちで良いと考えている。

2016 年振り返り

Edge/Safari を見てきたが、そもそも 2016 年がどれくらいのアップデートがあったのか見ていきたい。

  • Chrome が H.264 へ対応
  • Firefox が VP9 への対応を確定 (1 月のリリースで対応する)
  • getUserMedia の promise 化 (Chrome/Firefox で統一された)

正直なところ、一般ユーザに影響する範囲はこのくらいで、あとは全部表に見えない裏の話。ちなみに変更はかなり多くある。

興味あれば Chrome/FirefoxにおけるWebRTCのマイルストーン を読むと良い。

2016 年に大きく変更される予定だったマルチストリームの形式を Chrome/Firefox で統一するというのは 2017 年に持ち越した。これは大変残念で、Chrome/Firefox で仕様が異なる状態が続く。WebRTC はマルチストリームがキモになると考えていることから残念だった。

2017 年の WebRTC

そもそも WebRTC 1.0 の仕様が確定していないので、そこは確定させて欲しい。

WebRTC 1.0: Real-time Communication Between Browsers

あとは細かい修正が色々入ってくるのは見えているが、内部的な話なので、大きな変更はなさそう。あるとしたら Simulcast だが、これは Firefox のみで、Chrome は PlanB から脱却しない限り厳しいとみている。

そう考えると 2017 年はブラウザくらいで、技術的に「課題の解決」はマルチストリームの統一くらいになるだろう。もちろん WebRTC 1.0 に全ブラウザが合わせてくれると嬉しいが、そこはどうなるかわからない。

一つだけ気になってるのは DTLS 1.3 対応だがここはまったくみえていないのでコメントは控えさせて貰う。

Flash + RTMP の世界が弱っていく可能性が高いため、そこに対しての WebRTC という可能性はある。ただ Flash + RTMP と WebRTC は表向きには同じように見えるが、裏の技術は大きく異なるためそこをどうすりあわせていくのかというのはある。

WebRTC は必要な機能を一通り積んだ状態で、あとは安定性や細かい機能を積めていく状況にあると言っていいだろう。

2017 年は WebRTC にとって Edge/Safari といった残りの主要ブラウザが採用するといった変化が起きない限りは、端から見た大きな変化をもたらすことは無いだろう。

つまり普通にブラウザからリアルタイムに双方向で音声や映像が取り扱える技術が欲しい人は使う以上の事は無い。今まで通りと特に変わらない。

今まで使ってる人達はより幅広く、これから導入する人は少しだけ便利になったが、今までと余り変わらずという状況になる 1 年だと思う。

表向きは枯れてきたという状況だと考えている。新しい技術ではない、一般的な技術になってきたというのが WebRTC に 3 年程度関わって感じている状況だ。

この文章が、これから WebRTC 技術導入を検討する人に参考になれば幸いだ。

Written by

Erlang/OTP / 時雨堂 / WebRTC / E2EE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store