【増員】WebRTC Meetup Tokyo #17 Special Edition|IT勉強会・セミナーなどのイベント情報検索サービス - TECH PLAY[テックプレイ]
海外有名人大集合回です!
KITE: a new WebRTC Interoperability Testing Engine by Dr. Alex Gouaillard
はじめに
- WebRTCの辛いパートの話をするよ
- テストとか
- VRとかGameとか楽しいパートは他の人に任せるよ
- ブラウザはそもそもそういうことするもんじゃない
Web Platform Tests
- https://github.com/w3c/web-platform-tests
- ブラウザにAPIを載せるために必要なテスト
- W3Cとかの標準化のプロセスの一環
- WebRTC 1.0 API関連のカバレッジはNov 2017で70%くらい
- なぜか
- テストには種類がある
- Compliance & Usual Testing
- 1つのブラウザで
- standaloneでいい
- Interoperability Testing
- 2つのブラウザで
- 相互に作用する
- WebRTCはこっち
- それをいい感じにやるツールが必要とされてる段階
- まだガリガリとテストを書けるタイミングでもない
- しかもそれをやるのめっちゃ大変
- iOS / Android / devian / Windows / Mac
- そこにブラウザバージョンとかが加わるとその組合せは・・496・・簡略化してもこんだけある
- 全てのケースを手動できっちりやってたら過労死する
KITE
- Karoshi Interoperability Testing Engine
- Selenium Grid
- テストしたい環境を選ぶフェーズ
- Test engine
- Test
- Dashboard
- 結果は円グラフっぽい感じで見れる
- Passした結果は省いて表示したりも
- Jitsiみたいな外部のライブラリを使ったテストもできるっぽい
- 相互でつなげてみた結果は、webrtc.orgに載せてく予定とのこと
Janus: the server-side WebRTC jack-of-all-trades by Lorenzo miniero
はじめに
- WebRTCの基本はP2P
- クライアント駆動で、シグナリングにだけサーバーを使うこともできる
- ただサーバー機能が豊富なら色んなことができる
- MCU / SFU
- 電話機と繋いだりも
- そのためのソフトウェアがJanus
Janus
- https://github.com/meetecho/janus-gateway
- いわゆるゲートウェイとして動作する
- Rasp piでも動く
- メインはJSEP/SDP、ICE、DTLS、DataChannelなどなどコアのみ
- SFUとかはプラグインで拡張する
- 最近いろいろ機能追加したよ
- Event report
- VP8 Simulcasting
- Vp9 SVC(Alexの会社と一緒にやった
- Luaでプラグインを書けるようにもした
- RTP forwarders
- Janusを使ってるサーバー同士だとスケーリングしやすい仕組み的な・・?
Janusの実績
- あちこちで使われてるようになった
- IETFのMeetingにはJanusを使ってる
- 年3回くらい
- 世界各地とつないで動いてる実績
- カンファレンス会場の各カメラのストリームを録画したりもしてる
- SkyWayのIoT
- Slackも古いやつをforkしてたり
- 他にもいろいろ...
- ほんとすごい数の利用実績を紹介してた
これからやりたいこと
- ICE restartまわり
- Unified plan / Multi stream
- JavaScript / TCL / Pythonでプラグイン書けるように
- スケーリングさせる
質問
- どのプラットフォームで動く?
- Linux / Mac OSX
- SDKはある?
- JavaScriptは用意がある -> https://janus.conf.meetecho.com/docs/JS.html
- それ以外は3rdパーティ
- プラグイン多すぎでメンテ辛そうに見えるけど、プラグイン方式の利点は?
- Flexibleにしたいから
- どんな柔軟性を持たせるべきかはニーズによるので
- パッケージマネージャ的なのはないの?
- ないので一覧から探す
- libwebrtcを使わない理由は?
- 実装したい内容によって、それぞれ好きな部品を使える
- 自作することでバグとかの対応も速くできる
- 多種多様な各コーデックもプラグイン
AllThingsRTC.org - a new voice for the real-time communications industry by Dan Burnett
はじめに
- WebRTCのSpec書いてます
- いつもは標準化やアップデートについて話してる
- 今日は最近思うところについて話すよ
最近思うこと
- WebRTCに関する情報・ブログが増えてきた
- それはいいことだ
- しかしその反面
- 情報ちらばりすぎ
- 古い
- 偏向した情報だったり・・
- 日本でどうかはわからないけどUSではそう
- それを解決するためにやってるのがAllThingsRTC
AllTthingsRTC
- 中立なメディア
- ニュース、イベント
- 最近の仕様アップデート
- 会社の紹介とかも
- 開発者の生の声があったり
- これから
- 中国語への翻訳
- 日本語への翻訳も考えてる(パートナーがいれば)
- Getting startedのいい感じのやつ
- フォーラム
- Survey
質問
- いつ仕様はFixするの?(ってどこいっても聞かれるそうな
- 誰にもわかりません
- 仕様としては新しい機能を足そう!というタイミングではないので、使い始めるにはいいタイミングかも
- 中国語への翻訳は予定してるって言ってたけど、それは中国で需要があるってこと?
- そうです
- あとインドからの需要もある
- 中国からは既にパートナーのオファーがあるので、やることを決めてる
- 翻訳も技術をちゃんと知ってる人に頼んでる
PythonとWebRTCを頑張ってつないだ話 by @tnoho
LT枠その1。
- 気軽にカメラとつなげてDeepLearningしたい
- ただ電気を食う
- クライアントサイドでは無理
- TensorFlowとかも動くけど、精度がいまいち
- よしサーバーでやろう
- WebRTCで送ろう!
- iPhoneのカメラでとって顔認識するデモ
- pyrtcconductor
- OpenCV形式で受け取って、そのままの形式で返す
- シグナリングも対応
- RaspbPiで動かせるやつも作ってるよ(最近は開発止まってるけど・・
Applications of WebRTC In Gaming by Jordan Baucke
はじめに
- Evasystという会社からきました
- eSportsの放送サービスやってます
- eSports業界が世界的にキテる
- ゲームにアプローチできれば、若いユーザー層にアプローチできる
- トーナメントとかやっても、チケットが一瞬で売り切れる
ゲームの生放送をしたい
- 放送しようとすると、色んなものを使う必要がある
- Skype / Discord
- OBS
- Twitch / Mixer
- ユーザーはだいたいこれらを組合せて使ってるはず
- これらを全部まとめてできるデスクトップアプリが必要である!
何で作るか
- ElectronとかReactNativeとかXamarinとかいろいろあるよね
- Qtで作った
- ゲームはどうやって作られてるか
- UnityとかUnrealEngineとかあるよね
- ただライセンス的にストリームを吸えない
取り巻く状況
- ストリームを取得したとしてどうやって流すか
- CDNとか
- TwitchはAmazonに買収された
- Cloud gaming / Game streaming
- RTSP/x264
- ディレイ問題はどうしよう
- ゲーム業界もサブスクリプションモデルに移行しつつあったり
Cloud gamingたとえば
- nVidia Shield
- RTSP/x264
- BEAM / Mixer
- using WebRTC! Janus!
WebRTC
- RTMP/RTSPの代わりになれる
- ただC++のローレベルのライブラリまだない
- てかブラウザで動かす以外の実装が・・
- libwebrtcしかないけどChrome用みたいになってる
libwebrtc
- つらい
- コンパイルつらい
- 一枚岩になってるのでコケてもはじめから、なんか足りなくてもはじめから
- いいとこもある
- 開発が盛ん
- Codecs!VP8/VP9 (SVC)
- ARM
- C++ Modulesとしてコンパイルもできる
これから
- 各種Codecサポート
- P2P、ゲートウェイ
- Hub / Spokeなモデルでの放送網
- Peer as CDN
- WebRTC based Cloud Gaming!
質問
- eSportsの市場はどう?
- 22 billion $ (的な単語は聞き取れたけど単位が謎やし自信ない
- ゲーム実況でこれいいなと思ったコーデックは?
- HAが効く環境ならH264がやっぱ強い
- それがないならVP8/VP9かなー
- libwebrtcをどう使ってる?
- ラッパー的なのを作ってQtから使えるようにしてる
- OSSにはそのうちできれば
Kranky Geek Latest Show Contents ML, VR, AI with WebRTC & More by Chris Koehncke
はじめに
- Krabky GeekというWebRTCの世界最大?のイベントがこないだあった
- セッションはYouTubeで見れるよ!
- そこからいくつかご紹介
- WebRTC単体というより、既存技術との組合せが目立った
たとえば
- MachineLearning
- エッジ検出
- LiveProcessing
- 物体認識・動態検知
- 表情認識
- リアルタイム翻訳
ChromeからみたWebRTC 1.0
- ChromeでWebRTCがどれだけ使われてるか
- 1.5 billions minutes audio/video per week!
- 去年と比べると50%増えた
- 細かいバグ修正もできるようになってきた
- Macでマイクが使えないバグとか(2012年から・・
- Desktop captureまじ大変
- Video Captureのプロセスを分けて、ブラウザがクラッシュしないようにしたり
- コーデック
- VP9
- AV1: Next Generation Royality Free Codecs
Safari supports WebRTC
- libwebrtcベース
- ただし新しいAPIのみ
- AR / VRとの組合せ
- カメラで撮った空間に、ARで車を出したり色を変えたりするデモ
- ContextualBandwidth
- 写ってる人物の顔のとこだけ切り取ったりできれば、より高画質にできる
Facebook Messanger
- Signaling -> MQTT / SFU
Slack
- Video通話がすごく使われてる
- Electron
- Janus のfork
Nudity Detection
- まじな話!
- 肌色検出はソーシャル・ネットワークでは重要なトピックス
- 中国ですごい開発されてるらしい
Google Hangoutの裏で動く機械学習
- 最適なネットワーク構成を学習する
- TURNなのかP2Pなのか
WebRTC DataChannel
- Serverless CDNの発想
- 録画した動画をP2Pで送る
自動応答AI
質問
- 次回のKrankyGeekは?
- 毎年秋にSFでやってる、来年春くらいに違うところでやろうかな
WebRTC でご飯は食べられるのか? by @voluntas
LT枠その2。
はじめに
- 時雨堂からきました
- WebRTCだけでぼちぼちやっていけてる
- 競合が少ない(ほぼいない)ので
- EarlangでSFU製品
Sora
- クローズドソースでやってる
- その分、サポート費用は取らない
- サービスは提供しない
- なぜそうしたか
- WebRTCのビジネスモデルは2パターンしかない
- 転送量ビジネス
- パッケージ販売
- 転送量ビジネスするなら、SkyWayが強すぎる(無償枠あるし)
- 日本ではOSSがお金にならない・・
- お金出してくれる会社は、クローズドソースでも買ってくれる
- OSSで疲弊して、最終的に帰ってくる(Contribしろという話ではあるが
特徴
- シンプル
- 落ちにくい
- 日本の市場が特殊
- 比較表がないと話が始まらない
- ので、そことは戦わない
- 絵・音声って聞くと簡単に思われがち
- SDKに力をいれてる
- iOS / Android を用意したのはよかった