こちらのイベントにて発表した資料です https://camphor.connpass.com/event/234434/
*) 上記資料の間違いがありましたので修正致します。 LINEとSkypeが同時期にあるような記述になっておりますが、LINEは2011年リリースでしたので、この記述は誤りです。大変申し訳ありません。
© NTT Communications Corporation All Rights Reserved.WebRTCの歴史とこれから2022年01⽉15⽇NTTコミュニケーションズ株式会社
View Slide
© NTT Communications Corporation All Rights Reserved. 2⾃⼰紹介内⽥ 裕貴 24歳 (@yuki_wtz)⼈間科学部 2019年卒業(3年⽬)NTT コミュニケーションズ⼊社SkyWay DevOpsWebRTC Researchチームを⽴ち上げ最新技術のリサーチ・PoC開発- 通話品質分析- 機械学習・深層学習- WebRTC2.0(WebTransport, WebCodecs)2019/42020/9好きなもの- NWプロトコル- 機械学習(NLP/時系列予測)- ⾳声・映像系の技術も触りたくなってきた- コーヒー☕- League of Legends 🎮
© NTT Communications Corporation All Rights Reserved. 3このセッションの⽬的- WebRTCという技術と歴史を理解してもらう- SkyWayやリアルタイムコミュニケーションに興味を持ってもらう
© NTT Communications Corporation All Rights Reserved. 4Web RealTime CommunicationWebRTCとは︖
© NTT Communications Corporation All Rights Reserved. 5Web RealTime CommunicationWebRTCとは︖ウェブブラウザで
© NTT Communications Corporation All Rights Reserved. 6Web RealTime CommunicationWebRTCとは︖超低遅延に200ms~
© NTT Communications Corporation All Rights Reserved. 7Web RealTime CommunicationWebRTCとは︖双⽅向通信
© NTT Communications Corporation All Rights Reserved. 8Web RealTime CommunicationWebRTCとは︖ウェブブラウザで超低遅延に200ms~双⽅向通信
© NTT Communications Corporation All Rights Reserved. 9WebRTCを使っているサービス2019年前後で爆発的に伸びた
© NTT Communications Corporation All Rights Reserved. 10WebRTC普及前 (2011年以前)
© NTT Communications Corporation All Rights Reserved. 11WebRTC普及前 (2011年以前)VoIP/VoLTEという技術を使って映像・⾳声通話を⾏なっていたVoice over Internet ProtocolVoice over LTE
© NTT Communications Corporation All Rights Reserved. 12WebRTC と VoIP/VoLTE何が違う︖WebRTC VoIP/VoLTE
© NTT Communications Corporation All Rights Reserved. 13WebRTC と VoIP/VoLTE何が違う︖WebRTC VoIP/VoLTEWebブラウザさえあればプラグインやアプリケーションを必要とせず映像・⾳声通話が可能
© NTT Communications Corporation All Rights Reserved. 14WebRTC と VoIP/VoLTE何が違う︖WebRTC VoIP/VoLTEWebブラウザさえあればプラグインやアプリケーションを必要とせず映像・⾳声通話が可能アプリケーションのインストールを必要とする
© NTT Communications Corporation All Rights Reserved. 15WebRTC と VoIP/VoLTE何が違う︖WebRTC VoIP/VoLTEWebブラウザさえあればプラグインやアプリケーションを必要とせず映像・⾳声通話が可能アプリケーションのインストールを必要とする2016年ごろWebRTCに対応したのでウェブでも使えるようになった
© NTT Communications Corporation All Rights Reserved. 16WebRTC と VoIP/VoLTE開発者⽬線では…WebRTC VoIP/VoLTEWebRTC技術はブラウザが実装そのWebRTCの機能をAPIを通して叩くだけVoIPに沿った仕様を実装する必要がある為、敷居が⾼い
© NTT Communications Corporation All Rights Reserved. 17WebRTC と VoIP/VoLTE開発者⽬線では…WebRTC VoIP/VoLTEWebRTC技術はブラウザが実装そのWebRTCの機能をAPIを通して叩くだけVoIPに沿った仕様を実装する必要がある為、敷居が⾼いVoIPに精通したエンジニアが必要映像⾳声通話機能を実現するだけで膨⼤なコスト
© NTT Communications Corporation All Rights Reserved. 18WebRTC と VoIP/VoLTE開発者⽬線では…WebRTC VoIP/VoLTEWebRTC技術はブラウザが実装そのWebRTCの機能をAPIを通して叩くだけVoIPに沿った仕様を実装する必要がある為、敷居が⾼いVoIPに精通したエンジニアが必要映像⾳声通話機能を実現するだけで膨⼤なコスト2強
© NTT Communications Corporation All Rights Reserved. 19WebRTC と VoIP/VoLTE開発者⽬線では…WebRTC VoIP/VoLTEWebRTC技術はブラウザが実装そのWebRTCの機能をAPIを通して叩くだけVoIPに沿った仕様を実装する必要がある為、敷居が⾼いVoIPに精通したエンジニアが必要映像⾳声通話機能を実現するだけで膨⼤なコストWebRTCに精通している必要はないスモールスタートしやすい2強
© NTT Communications Corporation All Rights Reserved. 20WebRTC と VoIP/VoLTE開発者⽬線では…WebRTC VoIP/VoLTEWebRTC技術はブラウザが実装そのWebRTCの機能をAPIを通して叩くだけVoIPに沿った仕様を実装する必要がある為、敷居が⾼いVoIPに精通したエンジニアが必要映像⾳声通話機能を実現するだけで膨⼤なコストWebRTCに精通している必要はないスモールスタートしやすい2強
© NTT Communications Corporation All Rights Reserved. 21SkyWayとは︖映像・⾳声通話の機能をアプリケーションに簡単に実装できる、マルチプラットフォームなSDK & フルマネージドなAPIサービス導⼊事例
© NTT Communications Corporation All Rights Reserved. 22SkyWayとは︖WebRTCの登場により、映像⾳声通話技術に対する敷居が下がったが⾮常に複雑な技術であり、運⽤コストはまだまだ⾼いWebRTC/ブラウザ/OSの仕様変更への追従・バグ調査各種サーバの保守運⽤コスト- シグナリングサーバ- TURNサーバ- SFUサーバ
© NTT Communications Corporation All Rights Reserved. 23SkyWayとは︖WebRTCの登場により、映像⾳声通話技術に対する敷居が下がったが⾮常に複雑な技術であり、運⽤コストはまだまだ⾼いWebRTC/ブラウザ/OSの仕様変更への追従・バグ調査各種サーバの保守運⽤コスト- シグナリングサーバ- TURNサーバ- SFUサーバプラットフォームとしてのSkyWayを提供
© NTT Communications Corporation All Rights Reserved. 24WebRTCの歴史
© NTT Communications Corporation All Rights Reserved. 252000年頃VoIPのフレームワークであるSIPを牽引してきたエンジニアであるJonathan Rosenberg⽒がIETFでSIPの成功と失敗について発表2011VoIP時代
© NTT Communications Corporation All Rights Reserved. 262000年頃VoIPのフレームワークであるSIPを牽引してきたエンジニアであるJonathan Rosenberg⽒がIETFでSIPの成功と失敗について発表2011VoIP時代0510152025301998 2000 2002 2004 2006 2008 2010 2012RFC CountRFC Count10年以上⾊々な仕様(RFC)が策定されてきたが失敗点も多かった。- 仕様が複雑すぎる- 標準化に時間がかかり過ぎた- セッション設定が柔軟でない
© NTT Communications Corporation All Rights Reserved. 27WebRTC時代2000年頃VoIPのフレームワークであるSIPを牽引してきたエンジニアであるJonathan Rosenberg⽒がIETFでSIPの成功と失敗について発表SIPで踏んだ失敗を活かしてWebRTCのInternet Draftが提出された2011 2011VoIP時代0510152025301998 2000 2002 2004 2006 2008 2010 2012RFC CountRFC Count黎明期
© NTT Communications Corporation All Rights Reserved. 28WebRTCの歴史2011InternetDraftが提出黎明期
© NTT Communications Corporation All Rights Reserved. 29WebRTCの歴史2011InternetDraftが提出黎明期それぞれ違う仕様で実装されていた。SDP plan-b unified-planWebRTCではなくORTCを推したい
© NTT Communications Corporation All Rights Reserved. 30WebRTCの歴史2011 2012InternetDraftが提出 peer.js の登場により開発が加速黎明期それぞれ違う仕様で実装されていた。SDP plan-b unified-planWebRTCではなくORTCを推したい多くのサービスがpeer.jsを利⽤
© NTT Communications Corporation All Rights Reserved. 31WebRTCの歴史2011 2012InternetDraftが提出 peer.js の登場により開発が加速黎明期2016VP8のみのサポートだったが、H264サポートされたそれぞれ違う仕様で実装されていた。SDP plan-b unified-planWebRTCではなくORTCを推したい常に変化し続ける時期ブラウザ実装の変化に追従するだけで⼤変VP8 vs H264多くのサービスがpeer.jsを利⽤
© NTT Communications Corporation All Rights Reserved. 32WebRTCの歴史2011 2012 2017InternetDraftが提出 peer.js の登場により開発が加速Safari/EdgeがWebRTCに対応し、主要なブラウザ全てで利⽤可能に🎉黎明期2016VP8のみのサポートだったが、H264サポートされたそれぞれ違う仕様で実装されていた。SDP plan-b unified-planWebRTCではなくORTCを推したい常に変化し続ける時期ブラウザ実装の変化に追従するだけで⼤変VP8 vs H264多くのサービスがpeer.jsを利⽤ブラウザさえあれば使える技術を⽬指していたが、ブラウザがきちんと対応できるまでに時間がかかった…
© NTT Communications Corporation All Rights Reserved. 33WebRTCの歴史2011 2012 2017 2019InternetDraftが提出 peer.js の登場により開発が加速Safari/EdgeがWebRTCに対応し、主要なブラウザ全てで利⽤可能に🎉黎明期2016VP8のみのサポートだったが、H264サポートされたそれぞれ違う仕様で実装されていた。SDP plan-b unified-planWebRTCではなくORTCを推したい⼀般に普及し始めた時期再度活発化常に変化し続ける時期ブラウザ実装の変化に追従するだけで⼤変VP8 vs H264多くのサービスがpeer.jsを利⽤ブラウザさえあれば使える技術を⽬指していたが、ブラウザがきちんと対応できるまでに時間がかかった…
© NTT Communications Corporation All Rights Reserved. 34WebRTCの歴史2011 2012 2017 2019InternetDraftが提出 コロナが⼤流⾏WebRTCに注⽬が集まるブラウザベンダも注⼒peer.js の登場により開発が加速Safari/EdgeがWebRTCに対応し、主要なブラウザ全てで利⽤可能に🎉黎明期2016VP8のみのサポートだったが、H264サポートされたそれぞれ違う仕様で実装されていた。SDP plan-b unified-planWebRTCではなくORTCを推したい⼀般に普及し始めた時期再度活発化常に変化し続ける時期ブラウザ実装の変化に追従するだけで⼤変VP8 vs H264多くのサービスがpeer.jsを利⽤ブラウザさえあれば使える技術を⽬指していたが、ブラウザがきちんと対応できるまでに時間がかかった…
© NTT Communications Corporation All Rights Reserved. 35WebRTCの歴史2011 20212012 2017 2019InternetDraftが提出 W3C 勧告RFCにコロナが⼤流⾏WebRTCに注⽬が集まるブラウザベンダも注⼒peer.js の登場により開発が加速Safari/EdgeがWebRTCに対応し、主要なブラウザ全てで利⽤可能に🎉黎明期2016VP8のみのサポートだったが、H264サポートされたそれぞれ違う仕様で実装されていた。SDP plan-b unified-planWebRTCではなくORTCを推したい⼀般に普及し始めた時期再度活発化常に変化し続ける時期10周年&標準化︕🎉 🎉 🎉ブラウザ実装の変化に追従するだけで⼤変VP8 vs H264多くのサービスがpeer.jsを利⽤ブラウザさえあれば使える技術を⽬指していたが、ブラウザがきちんと対応できるまでに時間がかかった…
© NTT Communications Corporation All Rights Reserved. 36WebRTCのこれから
© NTT Communications Corporation All Rights Reserved. 372021標準化🎉標準化が済み仕様がfixされたため、技術としては枯れた技術となっていく。
© NTT Communications Corporation All Rights Reserved. 382021標準化🎉標準化が済み仕様がfixされたため、技術としては枯れた技術となっていく。パフォーマンス向上他の技術と組み合わせUX向上WebRTC2.0に向けて低レベル化
© NTT Communications Corporation All Rights Reserved. 392021標準化🎉標準化が済み仕様がfixされたため、技術としては枯れた技術となっていく。OffscreencanvasWeb workerWASMWebGL2dcsctpSDN/SD-WANSatin/LyraVP9/AV1RTX/DTX/REDパフォーマンス向上他の技術と組み合わせUX向上WebRTC2.0に向けて低レベル化Web技術を駆使WebRTCのコード最適化WebRTCにあったインフラ構築圧縮効率の⾼いコーデックパケット送信の最適化
© NTT Communications Corporation All Rights Reserved. 402021標準化🎉標準化が済み仕様がfixされたため、技術としては枯れた技術となっていく。仮想背景ノイズ除去空間オーディオジェスチャー認識マルチプラットフォームAR/VR/メタバース(?)ロボット/ドローンパフォーマンス向上他の技術と組み合わせUX向上WebRTC2.0に向けて低レベル化深層学習 in browser複数プラットフォームに対応できるアーキテクチャOffscreencanvasWeb workerWASMWebGL2dcsctpSDN/SD-WANSatin/LyraVP9/AV1RTX/DTX/REDWeb技術を駆使WebRTCのコード最適化WebRTCにあったインフラ構築圧縮効率の⾼いコーデックパケット送信の最適化
© NTT Communications Corporation All Rights Reserved. 412021標準化🎉標準化が済み仕様がfixされたため、技術としては枯れた技術となっていく。WebRTC MediaStreamTrack InsertableStreams(breakout box)WebRTC Encoded TransformWebTransport(Media over QUIC)WebCodecs仮想背景ノイズ除去空間オーディオジェスチャー認識マルチプラットフォームAR/VR/メタバース(?)ロボット/ドローンパフォーマンス向上他の技術と組み合わせUX向上WebRTC2.0に向けて低レベル化深層学習 in browser複数プラットフォームに対応できるアーキテクチャさまざまなユースケースに対応できるようにするため、ブラックボックスとなっていたWebRTCを分解・再構築OffscreencanvasWeb workerWASMWebGL2dcsctpSDN/SD-WANSatin/LyraVP9/AV1RTX/DTX/REDWeb技術を駆使WebRTCのコード最適化WebRTCにあったインフラ構築圧縮効率の⾼いコーデックパケット送信の最適化
© NTT Communications Corporation All Rights Reserved. 42