Skip to content

Instantly share code, notes, and snippets.

@voluntas
Created November 22, 2017 14:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save voluntas/f30e2975dc4cf98a53f96c2a9795e32c to your computer and use it in GitHub Desktop.
Save voluntas/f30e2975dc4cf98a53f96c2a9795e32c to your computer and use it in GitHub Desktop.
第1回 WebRTC SFU Sora セミナー資料

第1回 WebRTC SFU Sora セミナー資料

日時

2017-11-22 (水) 15:00-16:50

場所

AP 秋葉原 会議室

人数

最大 12 名程度

WebRTC の現在と未来

時間

15:05-15:15 (10 分)

WebRTC が今現在どのような使われ方をしているのか、今後はどうなっていくのか

WebRTC は Edge や Safari が対応したことで、人気が出そうと思われていますが、実際ブラウザの対応はまだまだです。 まず Android Chrome の WebRTC 対応が微妙です。実際に多くの端末で検証をされたお客様のお話では 1/3 程度しか対応していません。

さらに Safari はただ配信するだけ、であれば動作しますが仕事で使おうとすると不安定なのと iOS を巻き込んでフリーズします。

つまり、ブラウザで利用できるという強みを持つように見える WebRTC ですが、スマートフォンでの利用に関しては逆に足を引っ張っているのが現状です。ブラウザにこだわるのではなく、スマートフォンアプリを選択するのが当面の選択肢です。

実際に何を選択すべきなのか

デスクトップ Chrome と Firefox は安定的に動作します。Safari はこれからです。Edge は最悪です。

今の時点で現実的なのは Chrome と Firefox に限定されています。そのためデスクトップアプリを用意する会社も増えてきています。

最近海外で WebRTC を利用したアプリを作る場合はブラウザ、スマホアプリ、デスクトップアプリの3つを作るパターンが多いです。

  • ブラウザ
    • Chrome と Firefox に対応
  • スマホアプリ
    • iOS
    • Android
    • React Native
  • デスクトップアプリ
    • ウェブ系であれば Electron をオススメします
    • ネイティブであれば、 libwebrtc をラップして使うしかありません

WebRTC SFU Sora 入門

時間

15:15-15:35 (20 分)

WebRTC SFU Sora デモ

  • 片方向
    • 一方向での多くの配信を行います
    • ブロードキャストと呼ばれる配信方式です
  • 双方向
    • テレビ会議や 1:1 での面談でよく使われます
  • 双方向を片方向で
    • テレビ会議を見るだけの人へ配信が可能です
  • canvas デモ
    • 映像に落書きをしてそのまま配信
  • スクリーンシェア
    • Chrome 拡張を利用した全画面共有とアプリケーション共有
  • 録画デモ
    • 配信している映像を無変換で録画します

ドキュメント紹介

https://sora.shiguredo.jp/doc/index.html

クイックスタート

このデモでは macOS 上で動作させていますが、本来は Linux 版しか提供しておりません

実際に sora パッケージを動かすところまでお見せします。

  • sora-17.10.2.tar.gz
  • tar xvfz sora-17.10.2.tar.gz
  • cp license.json sora-17.10.2/etc/
  • cd sora-17.10.2
  • vim releases/17.10.2/sys.config
    • license を書き換え
    • demo を true にする
  • bin/sora start
  • http://127.0.0.1:5000/ にアクセス

WebRTC SFU Sora 機能説明

時間

15:35-15:55 (20 分)

ウェブフック機能紹介

  • 認証フック
    • 認証時に別システムに問い合わせに行きます
  • イベントフック
    • 接続開始時、接続中 (1 分単位)、接続切断時にシステムに情報を送ります

API 紹介

Sora はシステムから利用可能な API を用意しています。

https://sora.shiguredo.jp/doc/API.html

WebRTC SFU Sora SDK 紹介

時間

15:55-16:05 (10 分)

JavaScript SDK の紹介

iOS SDK の紹介

iOS SDK を利用したサンプルの紹介

WebRTC SFU Sora iOS SDK サンプル集

Android SDK の紹介

Android SDK を利用したサンプルの紹介

WebRTC SFU Sora Android SDK サンプル集

React Native を利用した WebRTC の紹介

React Native は iOS と Android 両方のアプリを開発可能なフレームワークです。React の仕組みをそのまま利用しています。

ただ JavaScript でできたことがそのままできるわけではありません。そこは注意して下さい。

React Native を利用する場合、特定の機能に寄せたアプリがオススメです。

たとえば、会議システムや配信システム、コールセンターシステムなど。WebRTC の技術を中心にしたアプリを作るのにとても向いています。

react-native-webrtc のすすめ - Qiita

休憩

時間

16:05-16:10 (5 分)

WebRTC 事例紹介

時間

16:10-16:20 (10 分)

実際に Sora はどんな場所で使えるのか、どんな人に向いているのか

ここは来ていただいた人向けの話なので非公開

WebRTC SFU Sora の強み

時間

16:20-16:30 (10 分)

派手さはない製品

  • あくまでパーツ
    • 主人公ではない
  • 使ってることを忘れる使いやすさ
    • 配信と録画はまるなげできる
  • 最新への追従
    • 全てのブラウザに対応し続ける
  • 安定した配信
    • 不安定な回線でもできるだけ安定して配信できるように

WebRTC SFU Sora 今後

時間

16:30-16:40 (10 分)

今後どのような製品になっていくかを具体的な利用例とともに。

  • Last-N
    • 最後に喋った N 人だけの配信を有効にする
  • GPU を利用したリアルタイム変換
  • GPU を利用したリアルタイム合成
  • GPU を利用した HLS ファイルへの変換
  • GPU を利用した H.265 ファイルへの変換

質疑応答と雑談

時間

16:40-

気軽に質問や、雑談等を。

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