Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ここがつらいよWebRTC
- WebRTC開発の落とし穴
WebRTC Conference Japan 2016
2016.02.17 Track A
13:00-13:45
パネラー紹介:源 拓洋
(敬称略)
• 所属
– ソフトバンク株式会社
– 情報システム本部
– システムサービス事業統括部
– コミュニケーションサービス部
• 略歴
– 2014年4月ソフトバンクモバイルに入社
– 同年6月からWebRTC...
パネラー紹介: kyo_ago
(敬称略)
• 所属
– ChatWork株式会社
• 略歴
– フロントエンドエンジニア
– 主にJavaScriptとかTypeScriptとかを書く人
• WebRTC 利用状況
– クラウド型ビジネスコミ...
パネラー紹介: 飯田 アレン 真人
(敬称略)
• 所属
– NTTコミュニケーションズ株式会社
– 技術開発部
– Webコアテクニカルユニット エンジニア
• 略歴
– 何年もCやJavaを使ってきて初めてJavaScriptを触った時の印...
モデレーター紹介: 我如古正志
(敬称略)
• 所属
– インフォコム株式会社
– 技術企画室 室長
• 略歴
– 企業向けのシステム開発と、コンシューマー向けの携帯Web
サービスの運営の両方に従事する
– 2013年度よりWebRTCに注目...
利用状況
内部利用 一般公開
アプリケーション、サービス
プラットフォーム
同時接続 400
メディアサーバー(MCU)5台
導入社数 9万社
Skyway 登録者数 2000人、登録アプリ数 4000
シグナリングサーバー … 同時接続上限 ...
今日のテーマ
• 自分で映像/音声/データ通信を扱えるのは
– とても楽しい
– 利用者にもより良い体験を提供できる
• 大変なところもあるけど、ブラウザもSDKも
サーバー環境も整いつつある
• 知識と知恵を共有して、もっといろんなプロダ
ク...
アジェンダ
• クライアントサイドの話
• 通信が「つながらない」時の話
• サーバーサイドの話
• 期待する未来像
Part 1
クライアントサイドの話
クライアントサイドの落とし穴
• 仕様がどんどん変わっていく、決まらない
– とは言え、WebRTC 1.0 がそろそろ決まりそう
• 仕様と実装が違う
– ブラウザごとに違う
– バージョンごとに変わる
– ブラウザ以外もある
→ まずは、こ...
質問1: サポート対象は?
• PCブラウザ
– Chrome, Firefox
– IE, Safari
– Edge
– 他
• モバイルブラウザ
• PCアプリ
• モバイルアプリ
• 他
質問2: ブラウザ、アプリの差異の吸収は?
• 捨てる
• 自分で頑張る
• 便利ライブラリを使う
– adapter.jsとか
• 他
質問3:ブラウザ/ライブラリのバージョンの差異は?
• 常に最新バージョンのみ
• 固定させる
• 自分で頑張って複数サポート
• こんな便利なものがあるよ
• 他
• 関連して
– 次バージョンの情報収集の方法は?
– 次バージョン、次々バー...
自分で作るか、他社のを使うか?
• これ、といった判断基準はありますか?
• この場合はこれ、というベストプラクティス例
はありますか?
質問4:サポートするデバイス/マシンの制限
• 幅広い機種やスペックを許容していますか?
– それで困ることはありますか?
– その場合、どう対処していますか?
• それとも特定の機種に限定していますか?
質問5:通信する内容は?
• 音声
• カメラ映像
• スクリーンシェア
• データ通信
• 双方向か、片方向(配信)か?
当日は時間の都合でスキップ
質問6:テストってどうしていますか?
• 自分で頑張る
• 金で解決(外部に頼む)
• 自動テストの手段を持っている
当日は時間の都合でスキップ
質問7: その他
• 音響機器、映像機器について、工夫やノウハ
ウありますか?
• 色々あるけど、最近良くなってきていると感じ
るところはどこですか?
当日は時間の都合でスキップ
質問8: お互いに質問
• お互いに質問はありますか?
当日は時間の都合でスキップ
Part 2
通信が「繋がらない」時の話
通信環境の落とし穴
• なぜか「つながらない」と言われる
• 「つがならない」と言っても、現象/原因は様々
→ 次は、この辺りを聞いてみます
質問1: 「繋がらない」と言われることは
• しょっちゅうある
• 時々ある
• ほとんど無い
• 一度も無い
質問2: 「繋がらない」で良くある原因は?
• カメラやマイクの問題
• デバイス/PCの問題
• ブラウザの種類の問題
• 通信環境の問題
– 間のネットワーク機器、通信制限も含む
• 回線品質の問題
• 操作の問題
• 利用規模の問題
• 他
質問3: 通信環境で「繋がらない」のはどの部分?
• シグナリングのレベルで
• NAT/Firewall/Proxy
– UDP不可
• MITM
質問4: 今までの「繋がらない」ケースで
レアな要因、最も変わった原因は?
質問5: 原因切り分けのための手段は?
• 情報収集の仕組みを用意していますか?
– (シグナリング)サーバー側で、クライアント側で
– 自分で、他社の仕組みを利用
• 利用者が自分で原因調査できる仕組みを用
意していますか?
• 他の手段は?...
質問6: なるべく繋がるための対策
• 何か対策をとっていますか?
• サポート体制はどうしてますか?
– 問い合わせ窓口
– 環境調査の担当者
– 他の役割の人
当日は時間の都合でスキップ
質問7: お互いに質問
• お互いに質問はありますか?
当日は時間の都合でスキップ
Part 3
サーバーサイドの話
サーバーサイドの落とし穴
• Peer-to-Peerなのに、やっぱりサーバーが必要
• しかも、さまざまな役割のサーバーが必要
• 大規模に使おうとすると、サーバーの方が重要で
は??
→ 次は、この辺りを聞いてみます
質問1: シグナリングサーバーどうしてますか?
• 自分で用意する? 他社のを使う?
– 他社なら、例えばどこがお勧め?
• シグナリングの方式は?
– SIP、XMPP等既存と互換性のある方法?
– 独自の実装
• WebSocket
• H...
質問2: NAT/Firewall越えのための
STUN/TURNサーバー
• TURNサーバー、提供してますか?
– 自分で運用
– 他社サービスを利用
• 地理的に、どこに置いてますか?
質問3: スケーリング
• シグナリングサーバーをスケールさせるため
に、何か対策していますか?
• TURNサーバーをスケールさせるために、何
か対策していますか?
• お金かかりませんか?
質問4: メディアサーバー使っていますか?
• 他人数が参加する会議や、大人数への配
信で、何かメディア用サーバーを使ってい
ますか?
• Peer-to-Peer
– 上りN本、下りN本
• Selective Forwarding Unit...
質問5: おすすめプラットフォームは?
質問6: お互いに質問
• お互いに質問はありますか?
当日は時間の
都合でスキップ
Part 4
未来の話
当日は時間の
都合でスキップ
質問1: WebRTCの今後に期待していることは?
• 今年(2016年)について
• 近未来(2~3年先)について
• 関係ありそうなもの
• ORTC
• WebRTC NV
• Simulcast
• SVC
• VP9
当日は時間の
都...
質問2: WebRTCを使ったサービスに期待は?
– こんなサービスが登場したら嬉しい
– (チャンスがあれば)こんな使い方をしてみたい
当日は時間の
都合でスキップ
Part 5
その他の話
当日は時間の
都合でスキップ
質問1: ぶっちゃけ、使ってますか?
• 画面共有
• DataChannel
• 録画
当日は時間の
都合でスキップ
質問2:WebRTC以外で頑張っているところ
• ユーザー体験の向上
– 見せ方で印象が変わる?
• 既存の仕組みとの互換性、接続性
– どこまで求められていますか?
• 政治的な苦労
– WebRTCを使うための、根回し?とか…
当日は時間の...
会場から
• ご質問はありますか?
最後に
• 言い残したこと、言いたいことはありますか?
ありがとうございました
Upcoming SlideShare
Loading in …5
×

ここがつらいよWebRTC - WebRTC開発の落とし穴

1,417 views

Published on

WebRTC Conference Japan 2016のパネルディスカッションの資料です

Published in: Technology
  • Be the first to comment

ここがつらいよWebRTC - WebRTC開発の落とし穴

  1. 1. ここがつらいよWebRTC - WebRTC開発の落とし穴 WebRTC Conference Japan 2016 2016.02.17 Track A 13:00-13:45
  2. 2. パネラー紹介:源 拓洋 (敬称略) • 所属 – ソフトバンク株式会社 – 情報システム本部 – システムサービス事業統括部 – コミュニケーションサービス部 • 略歴 – 2014年4月ソフトバンクモバイルに入社 – 同年6月からWebRTC関連の開発を担当 – WebRTCはネイティブアプリやSFU/MCUの検証が主 • WebRTC 利用状況 – 社内、関連会社間でのビデオ会議システムに利用 • 担当範囲 – Androidのネイティブアプリを担当 – MCU/SFUについても詳しい
  3. 3. パネラー紹介: kyo_ago (敬称略) • 所属 – ChatWork株式会社 • 略歴 – フロントエンドエンジニア – 主にJavaScriptとかTypeScriptとかを書く人 • WebRTC 利用状況 – クラウド型ビジネスコミュニケーションツールを提供 – サービスの一環として、ビデオ会議/音声通話を実現 • 担当範囲 – PCブラウザが中心
  4. 4. パネラー紹介: 飯田 アレン 真人 (敬称略) • 所属 – NTTコミュニケーションズ株式会社 – 技術開発部 – Webコアテクニカルユニット エンジニア • 略歴 – 何年もCやJavaを使ってきて初めてJavaScriptを触った時の印象はキモい! – 今はJSなしで生きていけない身になってしまい、バックエンドも JSで書くように なりました – NTTコミュニケーションズではSkyWayプラットフォームの開発を担当しつつ、 SkyWayを利用したWebRTCアプ リケーションの開発も行っています • WebRTC 利用状況 – 開発者向けにWebRTCを使うためのPaaSであるSkyWayを提供 – 定番ライブラリのカスタマイズ版や、iOS/Android SDK、TURNサーバーも提供 • 担当範囲 – PCブラウザが中心に、サーバー側も担当
  5. 5. モデレーター紹介: 我如古正志 (敬称略) • 所属 – インフォコム株式会社 – 技術企画室 室長 • 略歴 – 企業向けのシステム開発と、コンシューマー向けの携帯Web サービスの運営の両方に従事する – 2013年度よりWebRTCに注目し、技術調査と社内での利用を推 進中 – 内容はHTML5Experts.jpの記事などを通して発信中 • WebRTC 利用状況 – 社内ビデオチャット、社内イベント配信に利用 – 自社サービス向けライブラリを開発、一部サービスで利用 • 担当範囲 – PCブラウザやサーバー側など、広く浅く
  6. 6. 利用状況 内部利用 一般公開 アプリケーション、サービス プラットフォーム 同時接続 400 メディアサーバー(MCU)5台 導入社数 9万社 Skyway 登録者数 2000人、登録アプリ数 4000 シグナリングサーバー … 同時接続上限 10万以上 平均アクセス数:1万セッション/日(1月末~2月初) 同時配信 30人 双方向通話 2~5人×数組 海外とも(米国、南アフリカ、 アイスランド…)
  7. 7. 今日のテーマ • 自分で映像/音声/データ通信を扱えるのは – とても楽しい – 利用者にもより良い体験を提供できる • 大変なところもあるけど、ブラウザもSDKも サーバー環境も整いつつある • 知識と知恵を共有して、もっといろんなプロダ クトを生み出そう
  8. 8. アジェンダ • クライアントサイドの話 • 通信が「つながらない」時の話 • サーバーサイドの話 • 期待する未来像
  9. 9. Part 1 クライアントサイドの話
  10. 10. クライアントサイドの落とし穴 • 仕様がどんどん変わっていく、決まらない – とは言え、WebRTC 1.0 がそろそろ決まりそう • 仕様と実装が違う – ブラウザごとに違う – バージョンごとに変わる – ブラウザ以外もある → まずは、この辺りから聞いていきます
  11. 11. 質問1: サポート対象は? • PCブラウザ – Chrome, Firefox – IE, Safari – Edge – 他 • モバイルブラウザ • PCアプリ • モバイルアプリ • 他
  12. 12. 質問2: ブラウザ、アプリの差異の吸収は? • 捨てる • 自分で頑張る • 便利ライブラリを使う – adapter.jsとか • 他
  13. 13. 質問3:ブラウザ/ライブラリのバージョンの差異は? • 常に最新バージョンのみ • 固定させる • 自分で頑張って複数サポート • こんな便利なものがあるよ • 他 • 関連して – 次バージョンの情報収集の方法は? – 次バージョン、次々バージョンの確認は?
  14. 14. 自分で作るか、他社のを使うか? • これ、といった判断基準はありますか? • この場合はこれ、というベストプラクティス例 はありますか?
  15. 15. 質問4:サポートするデバイス/マシンの制限 • 幅広い機種やスペックを許容していますか? – それで困ることはありますか? – その場合、どう対処していますか? • それとも特定の機種に限定していますか?
  16. 16. 質問5:通信する内容は? • 音声 • カメラ映像 • スクリーンシェア • データ通信 • 双方向か、片方向(配信)か? 当日は時間の都合でスキップ
  17. 17. 質問6:テストってどうしていますか? • 自分で頑張る • 金で解決(外部に頼む) • 自動テストの手段を持っている 当日は時間の都合でスキップ
  18. 18. 質問7: その他 • 音響機器、映像機器について、工夫やノウハ ウありますか? • 色々あるけど、最近良くなってきていると感じ るところはどこですか? 当日は時間の都合でスキップ
  19. 19. 質問8: お互いに質問 • お互いに質問はありますか? 当日は時間の都合でスキップ
  20. 20. Part 2 通信が「繋がらない」時の話
  21. 21. 通信環境の落とし穴 • なぜか「つながらない」と言われる • 「つがならない」と言っても、現象/原因は様々 → 次は、この辺りを聞いてみます
  22. 22. 質問1: 「繋がらない」と言われることは • しょっちゅうある • 時々ある • ほとんど無い • 一度も無い
  23. 23. 質問2: 「繋がらない」で良くある原因は? • カメラやマイクの問題 • デバイス/PCの問題 • ブラウザの種類の問題 • 通信環境の問題 – 間のネットワーク機器、通信制限も含む • 回線品質の問題 • 操作の問題 • 利用規模の問題 • 他
  24. 24. 質問3: 通信環境で「繋がらない」のはどの部分? • シグナリングのレベルで • NAT/Firewall/Proxy – UDP不可 • MITM
  25. 25. 質問4: 今までの「繋がらない」ケースで レアな要因、最も変わった原因は?
  26. 26. 質問5: 原因切り分けのための手段は? • 情報収集の仕組みを用意していますか? – (シグナリング)サーバー側で、クライアント側で – 自分で、他社の仕組みを利用 • 利用者が自分で原因調査できる仕組みを用 意していますか? • 他の手段は? – 現地に見に行く – 超能力で透視する
  27. 27. 質問6: なるべく繋がるための対策 • 何か対策をとっていますか? • サポート体制はどうしてますか? – 問い合わせ窓口 – 環境調査の担当者 – 他の役割の人 当日は時間の都合でスキップ
  28. 28. 質問7: お互いに質問 • お互いに質問はありますか? 当日は時間の都合でスキップ
  29. 29. Part 3 サーバーサイドの話
  30. 30. サーバーサイドの落とし穴 • Peer-to-Peerなのに、やっぱりサーバーが必要 • しかも、さまざまな役割のサーバーが必要 • 大規模に使おうとすると、サーバーの方が重要で は?? → 次は、この辺りを聞いてみます
  31. 31. 質問1: シグナリングサーバーどうしてますか? • 自分で用意する? 他社のを使う? – 他社なら、例えばどこがお勧め? • シグナリングの方式は? – SIP、XMPP等既存と互換性のある方法? – 独自の実装 • WebSocket • HTTP(S) POST • メッセージングプラットフォーム
  32. 32. 質問2: NAT/Firewall越えのための STUN/TURNサーバー • TURNサーバー、提供してますか? – 自分で運用 – 他社サービスを利用 • 地理的に、どこに置いてますか?
  33. 33. 質問3: スケーリング • シグナリングサーバーをスケールさせるため に、何か対策していますか? • TURNサーバーをスケールさせるために、何 か対策していますか? • お金かかりませんか?
  34. 34. 質問4: メディアサーバー使っていますか? • 他人数が参加する会議や、大人数への配 信で、何かメディア用サーバーを使ってい ますか? • Peer-to-Peer – 上りN本、下りN本 • Selective Forwarding Unit – 上り1本、下りN本 • Media Control Unit – サーバーで合成 – 上り1本、下り1本 • 商用ですか、オープンソースですか、自作 ですか? – どうして、それを選んだのですか? www.slideshare.net/minamotot/webrtc-44772839 より 当日は時間の 都合でスキップ
  35. 35. 質問5: おすすめプラットフォームは?
  36. 36. 質問6: お互いに質問 • お互いに質問はありますか? 当日は時間の 都合でスキップ
  37. 37. Part 4 未来の話 当日は時間の 都合でスキップ
  38. 38. 質問1: WebRTCの今後に期待していることは? • 今年(2016年)について • 近未来(2~3年先)について • 関係ありそうなもの • ORTC • WebRTC NV • Simulcast • SVC • VP9 当日は時間の 都合でスキップ
  39. 39. 質問2: WebRTCを使ったサービスに期待は? – こんなサービスが登場したら嬉しい – (チャンスがあれば)こんな使い方をしてみたい 当日は時間の 都合でスキップ
  40. 40. Part 5 その他の話 当日は時間の 都合でスキップ
  41. 41. 質問1: ぶっちゃけ、使ってますか? • 画面共有 • DataChannel • 録画 当日は時間の 都合でスキップ
  42. 42. 質問2:WebRTC以外で頑張っているところ • ユーザー体験の向上 – 見せ方で印象が変わる? • 既存の仕組みとの互換性、接続性 – どこまで求められていますか? • 政治的な苦労 – WebRTCを使うための、根回し?とか… 当日は時間の 都合でスキップ
  43. 43. 会場から • ご質問はありますか?
  44. 44. 最後に • 言い残したこと、言いたいことはありますか?
  45. 45. ありがとうございました

×