Skip to content

Instantly share code, notes, and snippets.

@Layzie
Last active February 16, 2016 17:45
Show Gist options
  • Save Layzie/f65d8c433da602f1ba49 to your computer and use it in GitHub Desktop.
Save Layzie/f65d8c433da602f1ba49 to your computer and use it in GitHub Desktop.

WebRTC Conference 2016

Value-Added Services and WebRTC

Dialogic

  • Cloudベースのネットワークやアプリを作ってる

WebRTCはVoIPと同じ特徴がある

  • 同期的なイベント
  • 革新的なテクノロジー
  • コミュニケーションの進化

WebRTCの現在の状態

  • 現状は普及期

WebRTCエコシステム

  • CiscoやAT/T、Facebookなどが使用してきてる
  • 使用してるベンダーも増えてる

ブラウザ対応

  • Chrome / Firefox / Edge(これからのサポートを表明) / Safari(プラグインを使わないとダメ)

WebRTCのビジネス面

  • コスト減
  • 価値の付加や利益向上が見込めるフェイズ

エンタープライズ領域の挑戦

  • モバイル体験の向上
  • コスト削減
  • アナリティクス
  • コーデック戦争

その他のオプション

  • ビッグデータの活用
  • ソーシャルメディアとの連携
  • 動画との連携
  • セキュリティ向上
  • スマホとの連携
  • クラウド活用した開発
  • WebRTC

プロバイダの挑戦

  • 新しいアプリやサービス
  • エンタープライズ領域での開発モデル
  • 現在は4回目のモバイルの領域拡大期

VoLTEで新しいアプリが作られる

価値の付加

  • 例えば、電話によるカスタマーサポートなどの置きかえが可能

付加価値には起爆剤が必要

  • WebRTCに加えて、動画・音声などのリッチメディアのミキシングなど
    • 録音
    • ストリーミング

どこでも使えるように

スケーラビリティ

  • 垂直にスケール
  • 水平にスケール
  • メディアサーバーでクラスタリング
  • エンコードをリアルタイムにしてシェア
  • モノリシックアーキテクチャー
  • GPUの活用

WebRTCとIMSアーキテクチャで使う

WebRTCのユースケース

垂直スケールの例

  • safermobility
    • 911の代わりに使えるサービス
    • 録画などもできるのでよい
    • AWS使って、通報する
  • Telehealse
    • 医者が遠隔で患者の問診ができる
    • IoTも同時使用で患者のモニタリング
      • Raspberry PIとセンサーを患者につけてそれを記録する
  • IoT
    • カメラ
    • ドローン

カスタマーサポート

  • Webでボタンクリックで電話できる
  • Virtual PBXの使用

コラボレーション

  • Audio/Videoカンファレンス
  • バーチャルミーティング
    • 使用するのはPBXの電話、Android端末、PCなど
    • 同時に録画した動画を流したりもできる
  • 一例としてホワイトボードの共有もできるサービスなど

WebRTCの将来

  • ファイルシェア
  • ゲーム
  • CDN
  • サーバーを介さないネットワーキング
  • ブロードキャスティング
  • 電話番号が無くせるかもしれない
    • FBメッセンジャーの例がある
  • AI領域
    • コンテキストを読んだ広告
    • 声を使ったデータ収集

WebRTC: Status Update

WebRTC Industry Status

WebRTCが出てから5年

  • 850社が使う
  • 26ベンダーがサービスに使う
  • メジャーなアプリが使う
    • Facebook Messanger
    • Hangout
  • メジャーブラウザで使えるように

WebRTC サービスプラットフォーム

  • 28の関係プロダクト
    • ScreenHero→Slack

Recent Improvements

Update on IP Address “Leakage”

Network Limiter Extensionがデフォルトになる

  • HTTPを使った挙動がこれになる

PSA:ECDSA

  • Chrome47でAPIで指定可能に
  • Chrome50からデフォルト

test.webrtc.org

  • OSSを使ってテストが可能

VP9コーデック

  • 同程度のVP8のビットレートと比べ、15%CPUを使わない
  • 480pであればパケットロスなどがない

iOSの改善

  • 48khz Audio
  • コードのリファクタ
  • ループバックレイテンシーの軽減
  • デバイスを変更するとクラッシュしていた問題の修正

全般的な動画改善

  • VP9の採用(Chrome)
  • Video画像の画質向上

モバイル動画の改善

  • Caputure-to-texture / encode-to-textureの採用

Chrome Desktop

  • JSのスピーカー選択できる新しいAPI
  • Promiseの対応

Opus1.1.2 update

  • プラットフォームごとの最適化
  • バグフィックス
  • 声と音楽などがミックスされても聞きとりやすく

Chrome audio stack for realtime audio

  • デバイス検知
  • CPUを使わない
  • p2pに使えないデバイスを非対応にできる

iOS

  • AvAudioSessionをシェアする新しいAPI
  • テクスチャパイプライン
  • PeerConnection APIのアップデート

H.264 in Chrome

  • iOS/AndroidでWebRTCをスタンドアローンで

MediaStreamRecorder

  • localとremoteで録画可能に
  • Chrome49からフラグなしで使える
    • CanvasとVideoタグで録画

スクリーンシェア

  • Chrome50から別タブのものをシェアできる

MediaStream Relay

  • remoteのオーディオデバイスが使える
  • 音を別プロセスに

その他

  • ICEとTURNが高速に
  • Wifiと携帯回線の簡単な切りかえ

RTC event log

  • chrome://webrtc-internalsから使えるように

WebRTC/ORTCのアップデート

  • 2016 Q1に1.0になる
  • 直接コントロールするためのオプジェクトの追加

WebRTCのスタンダードアップデート

  • 1.0以後にWebRTC NVになる

WebRTC 1.0 …Finally!

2015年初頭のWebRTC

  • ブラウザとアプリとの間のWebRTCはシンプルだった
  • 万能なPeerConnectionが問題だった
    • なんでもできすぎる
  • ObjectModel API

W3C WebRTCの新しいチャーター

  • ortcとWebRTCの統合
  • オブジェクトモデルをシンプルに

オブジェクトモデルとは

  • 各オブジェクトは1つの仕事
  • 各オブジェクトは何ができるか調べられる

2015年初頭の問題

オブジェクトモデル例

  • Audioでの1:1の通話

より早いICE

  • コールする前に処理
  • ペアリングの高速化
  • ウォームアップ
  • アーリーメディア
  • デフォルトSTUN/TURNサーバー
    • ブラウザベンダがデフォルトで用意するサーバー

PeerConnection内のRTC/RTCP

  • 種類によって使わないといけないポート数が変わる
  • rtcp-mux + BUNDLE では1つにすることができる

マルチキャスト vs サイマルキャスト vs SVC

マルチキャスト

  • 複数トラック
  • 個別にデコード
  • 帯域管理が容易

サイマルキャスト

  • 複数トラック
  • 同一メディアソースから
  • 個別にデコード
  • 可能であれば帯域管理が容易

SVC

  • 複数トラック
  • 同一メディアソースから
  • 個別にデコード付加
  • 可能であれば帯域管理が必須
  • 少ない帯域、さらに柔軟に

マルチキャストシグナリングの状態

  • 1つのPeerConnectionで複数のメディアストリーム

サイマルキャストのWebRTC1.0でのユースケース

  • ブラウザからマルチキャストで送るが、受信できない

サイマルキャストは3レイヤ、3つのWG、2つの標準団体で決定されてる

その他

  • スクリーンキャプチャ
  • メディア録画
  • DOMでのMedia Capture
  • オーディオ出力デバイスAPI
    • 異なるストリームを異なるアウトプットへ
  • 統計APIに対する識別子
    • データチャネル、コーデック、FEC
  • ワーカ内で扱えるデータチャネル
  • セキュリティ強化
    • IPアドレスの収集に4つのレベルができた

WebRTC1.0はヤバい

  • WGなどは開発者からのフィードバックを求めている

User experience is everything

Who am I?

  • appear.inのテクニカルリーダー

Who are we?

  • 40人の会社
  • appear.inはインターンがつくった
    • 3人の生徒が2週間で最初のデモ作った
    • そこから6週間で製品として出した

Launch early

  • ユーザーが使ったフィードバックなどで製品が良くなるから

世界で一番巨大なWebRTCを使った動画カンファレンスサービス

平均的なユーザーはあんまり気を使わない

  • Skypeとかでもなんでも
  • 何を使ってつくるのが良いのか
    • DTLS-SRTPでend-to-endでセキュアにする
    • ログイン不要で8人まで無料
    • リンクをシェアすれば良いだけ

ユーザーはどんなテクノロジーを使ってるかは気にしない

  • どんなテクノロジーを選んだかはユーザーには届かない

ユーザーと対話する

  • 例えばGoogle Waveがあったけど、使いかたが分からない
  • “Knock”とかはユーザーの希望から

進化はいろいろな方向がある

  • ログインやサインアップを無くす
  • イノベーションは最小限に
  • ユーザーは”慣れ”が好き
  • 新しすぎる仕様などは離脱に繋る

全員にサービスを提供したい

  • 17歳の高校生が毎日appear.in使ったりとか

ターゲットを決める

口コミを大切にする

  • ノルウェー国内で学生の口コミで爆発的にアクセス増えた

パターンを発見した

  • ビデオは重要だけど、オーディオはミュートにしている
  • Text > Audio

ユーザーインタビュー

  • ミートアップ形式
  • UIなどについてユーザーインタビュー
  • バーベキューで集める

ターゲットを決めることは、そのターゲットに合わせて製品を作るということではない

  • ターゲットはプライオリティを決める役に立つ

WebRTC is game changer

  • この技術はプロダクトを変える力がある
  • WebRTCはブラウザでも電話でもない
  • WebRTCはビデモでもオーディオでもない
  • WebRTCのおかげで、appear.inは作れた

結局のところ、User Experienceが全て

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment