Submit Search
Upload
スマホアプリBestieBoxにWebRTCを組みこんでみた
•
Download as PPTX, PDF
•
1 like
•
1,319 views
Yuki Tsuda
Follow
WebRTC Meetup Tokyo#9で登壇した内容です。
Read less
Read more
Internet
Report
Share
Report
Share
1 of 20
Download now
Recommended
Python入門者の集い #6 Lightning Talk
Python入門者の集い #6 Lightning Talk
Katayanagi Nobuko
PyLadies Tokyo - 初心者向けPython体験ワークショップ開催の裏側
PyLadies Tokyo - 初心者向けPython体験ワークショップ開催の裏側
Katayanagi Nobuko
オリエンテーション
オリエンテーション
Takeshi Akutsu
みんなのPython勉強会 in 長野 #3, Intro
みんなのPython勉強会 in 長野 #3, Intro
Takeshi Akutsu
Bottle使ってPython学習一緒にはじめませんか?
Bottle使ってPython学習一緒にはじめませんか?
Tatsuya Shinozuka
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
Takeshi Akutsu
本気でPythonで宛名書きした話
本気でPythonで宛名書きした話
Satoshi Yamada
S06 t0 orientation
S06 t0 orientation
Takeshi Akutsu
Recommended
Python入門者の集い #6 Lightning Talk
Python入門者の集い #6 Lightning Talk
Katayanagi Nobuko
PyLadies Tokyo - 初心者向けPython体験ワークショップ開催の裏側
PyLadies Tokyo - 初心者向けPython体験ワークショップ開催の裏側
Katayanagi Nobuko
オリエンテーション
オリエンテーション
Takeshi Akutsu
みんなのPython勉強会 in 長野 #3, Intro
みんなのPython勉強会 in 長野 #3, Intro
Takeshi Akutsu
Bottle使ってPython学習一緒にはじめませんか?
Bottle使ってPython学習一緒にはじめませんか?
Tatsuya Shinozuka
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
Takeshi Akutsu
本気でPythonで宛名書きした話
本気でPythonで宛名書きした話
Satoshi Yamada
S06 t0 orientation
S06 t0 orientation
Takeshi Akutsu
Evernote連携
Evernote連携
Hidetoshi Mori
S02 t0 get_started
S02 t0 get_started
Takeshi Akutsu
Pythonのプロファイリング
Pythonのプロファイリング
ysakaguchi
独学プログラマーのその後
独学プログラマーのその後
Takayuki Shimizukawa
S09 t0 orientation
S09 t0 orientation
Takeshi Akutsu
S10 t0 orientation
S10 t0 orientation
Takeshi Akutsu
Introduction
Introduction
Takeshi Akutsu
PyPro2の読みどころ紹介:Python開発の過去と現在
PyPro2の読みどころ紹介:Python開発の過去と現在
Takayuki Shimizukawa
僕と Python と 時々 NetBeans
僕と Python と 時々 NetBeans
Yoshiori Shoji
Testing and packaging WebRTC Stack
Testing and packaging WebRTC Stack
Alexandre Gouaillard
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
mganeko
MistCDNの概要 / Technical Session - WebRTC Meetup Tokyo #9
MistCDNの概要 / Technical Session - WebRTC Meetup Tokyo #9
Shintaro Tanaka
ち〜ん
ち〜ん
tadfmac
IoTをインターネット越しで見る
IoTをインターネット越しで見る
tnoho
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みする
Yusuke Naka
Jitsi video bridge で遊んでみた
Jitsi video bridge で遊んでみた
tnoho
知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち
Kensaku Komatsu
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
Deep Learning JP
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
Ryosuke Otsuya
今こそ Microsft Bot Framework を学ぼう
今こそ Microsft Bot Framework を学ぼう
Shinya Nakajima
チャットボットを自社業務に適用するにはどうしたらいいのか?:UXデザインによるチャット業務デザイン講座
チャットボットを自社業務に適用するにはどうしたらいいのか?:UXデザインによるチャット業務デザイン講座
munjapan
Tech on meetup online#01
Tech on meetup online#01
Kazuya Suda
More Related Content
What's hot
Evernote連携
Evernote連携
Hidetoshi Mori
S02 t0 get_started
S02 t0 get_started
Takeshi Akutsu
Pythonのプロファイリング
Pythonのプロファイリング
ysakaguchi
独学プログラマーのその後
独学プログラマーのその後
Takayuki Shimizukawa
S09 t0 orientation
S09 t0 orientation
Takeshi Akutsu
S10 t0 orientation
S10 t0 orientation
Takeshi Akutsu
Introduction
Introduction
Takeshi Akutsu
PyPro2の読みどころ紹介:Python開発の過去と現在
PyPro2の読みどころ紹介:Python開発の過去と現在
Takayuki Shimizukawa
僕と Python と 時々 NetBeans
僕と Python と 時々 NetBeans
Yoshiori Shoji
What's hot
(9)
Evernote連携
Evernote連携
S02 t0 get_started
S02 t0 get_started
Pythonのプロファイリング
Pythonのプロファイリング
独学プログラマーのその後
独学プログラマーのその後
S09 t0 orientation
S09 t0 orientation
S10 t0 orientation
S10 t0 orientation
Introduction
Introduction
PyPro2の読みどころ紹介:Python開発の過去と現在
PyPro2の読みどころ紹介:Python開発の過去と現在
僕と Python と 時々 NetBeans
僕と Python と 時々 NetBeans
Viewers also liked
Testing and packaging WebRTC Stack
Testing and packaging WebRTC Stack
Alexandre Gouaillard
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
mganeko
MistCDNの概要 / Technical Session - WebRTC Meetup Tokyo #9
MistCDNの概要 / Technical Session - WebRTC Meetup Tokyo #9
Shintaro Tanaka
ち〜ん
ち〜ん
tadfmac
IoTをインターネット越しで見る
IoTをインターネット越しで見る
tnoho
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みする
Yusuke Naka
Jitsi video bridge で遊んでみた
Jitsi video bridge で遊んでみた
tnoho
知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち
Kensaku Komatsu
Viewers also liked
(8)
Testing and packaging WebRTC Stack
Testing and packaging WebRTC Stack
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
MistCDNの概要 / Technical Session - WebRTC Meetup Tokyo #9
MistCDNの概要 / Technical Session - WebRTC Meetup Tokyo #9
ち〜ん
ち〜ん
IoTをインターネット越しで見る
IoTをインターネット越しで見る
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みする
Jitsi video bridge で遊んでみた
Jitsi video bridge で遊んでみた
知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち
Similar to スマホアプリBestieBoxにWebRTCを組みこんでみた
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
Deep Learning JP
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
Ryosuke Otsuya
今こそ Microsft Bot Framework を学ぼう
今こそ Microsft Bot Framework を学ぼう
Shinya Nakajima
チャットボットを自社業務に適用するにはどうしたらいいのか?:UXデザインによるチャット業務デザイン講座
チャットボットを自社業務に適用するにはどうしたらいいのか?:UXデザインによるチャット業務デザイン講座
munjapan
Tech on meetup online#01
Tech on meetup online#01
Kazuya Suda
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
Yuhei Miyazato
オープンソースBotフレームワークではじめるChatOps
オープンソースBotフレームワークではじめるChatOps
Akihiko Horiuchi
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
Yusuke Naka
ITproEXPO特別講演
ITproEXPO特別講演
Cybozucommunity
170520 DataSpider DevConn Hackathon
170520 DataSpider DevConn Hackathon
kintone papers
Ma×noby×私
Ma×noby×私
青島 英和
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
akihiro uehara
UIは「習うより慣れろ」
UIは「習うより慣れろ」
tomo tsubota
kintoneとMicrosoft Flowで学ぶイマドキのシステム間連携
kintoneとMicrosoft Flowで学ぶイマドキのシステム間連携
Sakae Saito
Agile Estimating And Planning
Agile Estimating And Planning
Eiwa System Management, Inc.
#Net2tokyo_socialgood_tool_share_meetup
#Net2tokyo_socialgood_tool_share_meetup
孝弘 笠原
Itca yammer提案110615
Itca yammer提案110615
伸夫 森本
サービスをつくりなおす決断をするとき
サービスをつくりなおす決断をするとき
Masaki Yamamoto
TypeScript x Bot Framework
TypeScript x Bot Framework
Kazumi IWANAGA
ChatGPTのLINEボット
ChatGPTのLINEボット
Hirokazu Tokuno
Similar to スマホアプリBestieBoxにWebRTCを組みこんでみた
(20)
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
今こそ Microsft Bot Framework を学ぼう
今こそ Microsft Bot Framework を学ぼう
チャットボットを自社業務に適用するにはどうしたらいいのか?:UXデザインによるチャット業務デザイン講座
チャットボットを自社業務に適用するにはどうしたらいいのか?:UXデザインによるチャット業務デザイン講座
Tech on meetup online#01
Tech on meetup online#01
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
オープンソースBotフレームワークではじめるChatOps
オープンソースBotフレームワークではじめるChatOps
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
ITproEXPO特別講演
ITproEXPO特別講演
170520 DataSpider DevConn Hackathon
170520 DataSpider DevConn Hackathon
Ma×noby×私
Ma×noby×私
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
UIは「習うより慣れろ」
UIは「習うより慣れろ」
kintoneとMicrosoft Flowで学ぶイマドキのシステム間連携
kintoneとMicrosoft Flowで学ぶイマドキのシステム間連携
Agile Estimating And Planning
Agile Estimating And Planning
#Net2tokyo_socialgood_tool_share_meetup
#Net2tokyo_socialgood_tool_share_meetup
Itca yammer提案110615
Itca yammer提案110615
サービスをつくりなおす決断をするとき
サービスをつくりなおす決断をするとき
TypeScript x Bot Framework
TypeScript x Bot Framework
ChatGPTのLINEボット
ChatGPTのLINEボット
Recently uploaded
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
ivanwang53
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
ivanwang53
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ivanwang53
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
ivanwang53
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
Taka Narita
動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components
okitamasashi
Recently uploaded
(6)
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components
スマホアプリBestieBoxにWebRTCを組みこんでみた
1.
スマホアプリBestieBoxにWebRTCを組みこんでみた WebRTC Meetup Tokyo
#9 2015年8月3日 @nyalse、@jirourashima
2.
自己紹介 ■名前 ー つだゆうき(@nyalse) ■所属 ー NTTコミュニケーションズ
ボイス&ビデオコミュニケーションサービス部 ■ワーク ー グループコミュニケーションアプリ「BestieBox」の企画と開発とデザイン (内製でやってます) ■Web ー http://www.bestiebox.net
3.
?
4.
仲良しグループで行う様々な活動をサポートし、 もっと一緒に過ごして、もっと仲良くなってもらう ためのアプリケーションです。 は 先週金曜から配信!
5.
グループでコミュニケーション・ディスカッション! いいネタも見つかったし、みんなで出かけよう ラーメンおいしかった!また行こう。 使い方の流れ
6.
チャット・通話・掲示板機能 イベント企画・日程調整機能 フォトアルバム機能 使い方の流れ
7.
通話機能は実装したいけど、普通にやると時間がかかる SIPサーバを用意する SIPサーバ経由での接続制御 音声ストリームの再生制御 大変
8.
これだ、これですね!
9.
実際これを使って通話機能を組み込んだ結果、 すぐに通話機能(しかもビデオ付き)が できてしまった
10.
SkyWayのAPIキーを手に入れて早速導入!
11.
自己紹介 ■氏名 ー 原 拓(はら
たくま) ■仕事 ー NTTコミュニケーションズ ー 電話の部署でアプリ開発をやってます ■日焼けの理由 ー 昨日炎天下の中ROCK IN JAPAN FES2015に参加してきました
12.
友達と「音声・ビデオ」通話を行う機能をWebRTCで実装 1.友達リスト一覧から電話をかけたい友達を選択 2.「音声通話」か「ビデオ通話」どちらかを選んで発信 3.着信側が応答ボタンを押すとWebRTC通話開始
13.
どうやって実装したか
14.
必要なのは以下の6クラスのみ Navigator MediaStream Peer PeerOption Media Connection Canvas ※ビデオ通話時のみ
15.
ステップ1:Peer IDの取得 Peer peer
= new Peer(context, options); 引数のoptionsで、 ・Skyway APIキー ・ドメイン名 ・ログレベル ・TURNサーバの利用有無 等を指定可能PeerID A 発信端末A 着信端末B skyway PeerID B
16.
ステップ2:ローカルメディア取得 MediaStream msLocal =
Navigator.getUserMedia(constraints); 音声入力、ビデオ入力を取得 映像が不要(音声通話のみ)時は、 引数のconstraintsに含まれる videoFlagをfalseにする 発信端末A 着信端末B msLocal PeerID B PeerID A msLocal skyway
17.
ステップ3:発信 MediaConnection media =
peer.call(‘PeerID B’,msLocal, option); ステップ1で作成した Peerオブジェクトのcallメソッドを発行 引数は、 ・対象のPeerID ・発信側のローカルメディア ・オプション設定 発信端末A 着信端末B msLocal PeerID B PeerID A msLocal skyway
18.
ステップ4:応答 (MediaConnection)media.answer(msLocal); 着信側でPeerEventEnum.CALLイベントが発生 MediaConnectionクラスのanswerメソッドにより これに応答する ※自身のローカルメディアを引数に紐付ける 発信端末A 着信端末B msLocal PeerID B PeerID A msLocal skyway
19.
ステップ5:通話開始 MediaStream _msRemote =
(MediaStream)object 双方でMediaEventEnum.STREAMイベントが発生するので、受 信したobject(対抗のメディア)をオブジェクト内へ格納すれば 通話が開始される 受信データの処理等はSDK内で扱うため、開発側の作業は不要 発信端末A 着信端末B msLocal PeerID B PeerID A msLocal skyway msRemote msRemote 通話開始
20.
想像よりはるかに簡単に実装できた ー 合計4,000行程度だが、通話部分のコードは遥かに少ない ー Java、Android開発未経験からでも 大変だったポイント ー
エラーハンドリング処理 ・登場人物(Skywayサーバ、BestieBoxサーバ群、クライアント端末等)が 多く、状態遷移のマトリクスが複雑 ー ハンドオーバー時の移行処理 ・ハンドオーバー時は通話断 ・今後の改修で対応予定
Download now