はじめに
- この資料はAndroid Bazaar and Conference 2018 Spring 大LT祭りの発表資料です。
自己紹介
- なかゆうすけ
- Twitter: @Tukimikage
WebRTCご存知ですか?
WebRTC = Web Real Time Communication
IETFとW3Cにより標準化されている、リアルタイムコミュニケーションの標準技術です。
SkyWayご存知ですか?
-
自社のAndroid/iOSアプリやWebアプリに、WebRTCの音声・ビデオ通話機能を簡単に組込むことが出来る、プラットフォームサービス
-
無料ですぐに利用可能
-
詳しくは SkyWay公式サイト - 開発者
今日やること
SkyWayのSFUを使って多人数配信
デモのイメージ
SFUとはなにか
- WebRTCを使って多人数接続を実現する仕組みの一つ
- メディアのアップロードの数を1本に押さえられるのでクライアントの負荷が軽い
- 今日はこのSFUを使って1:多の配信を行います
Android/PC Chromeでデモにご協力下さい!
Let's access
Android Camera
以下のソースコードをダウンロードの上、APIキーを書き換えてビルド実行して下さい。
room nameは abc
です。
https://github.com/yusuke84/abc2018lt/tree/master/android_camera
Web Camera ※2020.07.08追加
以下にアクセスしてjoinして下さい。
room nameは abc
です。
https://yusuke84.github.io/abc2018lt/web_camera/
Web Viewer
以下にアクセスして視聴ボタンをクリックして下さい。
https://yusuke84.github.io/abc2018lt/web_viewer/public/
ソースコード
-
https://github.com/yusuke84/abc2018lt
- android_camera : 配信用Androidアプリ
-
SkyWay公式サンプルを改造して利用
- 映像を受信する必要がないため、UIと
Room.RoomEventEnum.STREAM
イベント発火時の処理を修正
- 映像を受信する必要がないため、UIと
-
SkyWay公式サンプルを改造して利用
- web_camera : 配信用Webアプリ ※2020.07.08追加
-
SkyWay公式サンプルを改造して利用
- 映像を受信する必要がないため、UIと関連処理を修正
-
SkyWay公式サンプルを改造して利用
- web_viewer : 視聴用Webアプリ
- JavaScriptのコード160行ぐらいで実装可能
- android_camera : 配信用Androidアプリ
最後に
-
2020.07.08追加
- 以下のワークアラウンドは不要となりました。
- 尚、デモ用で実装を省略している関係で、以下の制約があります
- 必ず「配信用Androidアプリ」または「配信用Webアプリ」で配信を開始してから、視聴用Webアプリにアクセスしてください(順序性あり)
- 配信者は必ず1人にしてください(複数人の配信には対応していません)。
-
このデモではSkyWayの現在(2018.06.09)の制約上、以下ワークアラウンドを2つ利用しています受信のみモード☓SFUモードのワークアラウンド必ず配信用アプリで配信を開始してから、視聴用ウェブにアクセスしてください(順序性あり)