SlideShare uma empresa Scribd logo
1 de 31
THETA プラグインで
WebRTC やってみた
WebRTC Meetup Tokyo #19
2018/10/09 (火)
株式会社リコー 城 英樹
株式会社リコー
ソフトウェアエンジニア
しろ @shrhdk
THETA プラグインとは ??
THETA V は Android ベース
つまり Android アプリが動く
THETA で動くアプリ == プラグイン
プラグインは普通の Android Studio で開発できる
THETA 独自の仕様も公開されている
開発したプラグインは公式ストアで配布できる
どんなことができる ??
配信用PC ネットワークRICOH THETA
USB カメラ
モード
いままでの配信
THETA プラグインでの配信
THETA プラグインでの配信
Wi-Fi
配信プラグイン
THETA だけで 360°配信ができる!
実際にやってみた
やってみた構成
RICOH Live Streaming API
libwebrtc
アプリ
Webサーバー
HTML+JS
シグナリング
映像+音声映像+音声
シグナリング
送信側 受信側
プラグインで配信中
Firefox で受信中
THETA の API
Android 標準の API で ネット、カメラ、マイク にアクセスできる
つまり libwebrtc 等の一般的なライブラリが使える
Camera API v1
Audio Manager API
Wi-Fi
つまり
Android 用の配信アプリが
そのまま使える ??
つまり
Android 用の配信アプリが
そのまま使える ??
設定がチョット必要
設定 その1
普段は THETA のシステムアプリがカメラを握っている
→ ブロードキャストインテントでカメラ開放を要求する
// Camera API を 利用する前に送信
sendBroadcast(new Intent("com.theta360.plugin.ACTION_MAIN_CAMERA_CLOSE"));
// 利用した後に送信
sendBroadcast(new Intent("com.theta360.plugin.ACTION_MAIN_CAMERA_OPEN"));
設定 その2
特殊カメラのため、独自のモードがある
→ キャプチャ開始前にモード設定が必要
camera = Camera.open();
// モード設定
parameters = camera.getParameters();
parameters.set("RIC_SHOOTING_MODE", "RicMoviePreview1920");
camera.setParameters(parameters);
camera.startPreview();
(org.webrtc.VideoCapturer を再実装する必要あり)
設定 その3
THETA V は 4ch マイクによる 360° 音声に対応
しているが libwebrtc がうまく扱ってくれない
→ モノラルモードへの切り替えが必要
audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
audioManager.setParameters("RicUseBFormat=false");
以上で OK 👌
まとめ
まとめ
• THETA V 上で Android アプリが動く
• 一般的な Android と同じように開発できる
• 適切に設定すれば WebRTC も動く
宣伝
THETAプラグイン開発にご興味を持たれた方は
ぜひパートナープログラムにご登録ください!
パートナープログラムの詳細
https://api.ricoh/products/theta-plugin/
登録フォーム
https://www8.webcas.net/db/pub/ricoh/thetaplugin/
create/input
個人もOK
先着順!
空きあります!
https://theta-plugin.connpass.com/event/101328/
RICOH Live Streaming API (β)
• WebRTC による1対多の配信
• ベータ公開中のため無料で使えます
https://api.ricoh/products/live-streaming-api/
↓登録してすぐに使えます↓
Qiita で詳細記事とコードを公開中
いいね 👍 もらえるとうれしいです
https://qiita.com/shrhdk_/items/fa7bb0feab443e3037e8
画像出典・ライセンス
• いらすとや
• 利用規約
• インターネットのイラスト
• ノートパソコンのイラスト
• Android robot (2014)
• 著者: Google
• Creative Commons Attribution 2.5 Generic
• File:Android robot 2014.svg
• Firefox Logo
• 著者: The Mozilla Foundation
• Creative Commons Attribution 3.0 Unported (CC BY 3.0)
• File:Firefox Logo, 2017.svg

Mais conteúdo relacionado

Mais procurados

ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。toshihiro ichitani
 
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOGame Tools & Middleware Forum
 
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxTakayuki Shimizukawa
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説Fumiya Sakai
 
Photon Fusionのはじめの一歩
Photon Fusionのはじめの一歩Photon Fusionのはじめの一歩
Photon Fusionのはじめの一歩聡 大久保
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 
低レイヤー入門
低レイヤー入門低レイヤー入門
低レイヤー入門demuyan
 
はじめての自己組織化
はじめての自己組織化はじめての自己組織化
はじめての自己組織化Yoshinori Ueda
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】Unity Technologies Japan K.K.
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法モノビット エンジン
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例sairoutine
 
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
ChatGPT、 何が「できる」「みえる」ようになってきたのか!ChatGPT、 何が「できる」「みえる」ようになってきたのか!
ChatGPT、 何が「できる」「みえる」ようになってきたのか!Jingun Jung
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫Yuta Imai
 
DAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebminingDAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebminingTokoroten Nakayama
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~gree_tech
 
立教大学MBA:AIの最先端技術によるこれからの価値創造
立教大学MBA:AIの最先端技術によるこれからの価値創造立教大学MBA:AIの最先端技術によるこれからの価値創造
立教大学MBA:AIの最先端技術によるこれからの価値創造Osaka University
 
【Unity道場 建築スペシャル2】点群ビジュアライゼーション
【Unity道場 建築スペシャル2】点群ビジュアライゼーション【Unity道場 建築スペシャル2】点群ビジュアライゼーション
【Unity道場 建築スペシャル2】点群ビジュアライゼーションUnityTechnologiesJapan002
 

Mais procurados (20)

ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。
 
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
 
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinx
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
 
Photon Fusionのはじめの一歩
Photon Fusionのはじめの一歩Photon Fusionのはじめの一歩
Photon Fusionのはじめの一歩
 
UnityとROSの連携について
UnityとROSの連携についてUnityとROSの連携について
UnityとROSの連携について
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
低レイヤー入門
低レイヤー入門低レイヤー入門
低レイヤー入門
 
はじめての自己組織化
はじめての自己組織化はじめての自己組織化
はじめての自己組織化
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
 
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
ChatGPT、 何が「できる」「みえる」ようになってきたのか!ChatGPT、 何が「できる」「みえる」ようになってきたのか!
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
DAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebminingDAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebmining
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
 
立教大学MBA:AIの最先端技術によるこれからの価値創造
立教大学MBA:AIの最先端技術によるこれからの価値創造立教大学MBA:AIの最先端技術によるこれからの価値創造
立教大学MBA:AIの最先端技術によるこれからの価値創造
 
【Unity道場 建築スペシャル2】点群ビジュアライゼーション
【Unity道場 建築スペシャル2】点群ビジュアライゼーション【Unity道場 建築スペシャル2】点群ビジュアライゼーション
【Unity道場 建築スペシャル2】点群ビジュアライゼーション
 

Semelhante a THETA プラグインで WebRTC やってみた

WebRTC入門+最新動向
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向Ryosuke Otsuya
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践Yoshifumi Kawai
 
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発虎の穴 開発室
 
WebRTC Meetup Tokyo #3 - WebRTC Conference参加報告
WebRTC Meetup Tokyo #3 - WebRTC Conference参加報告WebRTC Meetup Tokyo #3 - WebRTC Conference参加報告
WebRTC Meetup Tokyo #3 - WebRTC Conference参加報告satoru_tk
 
RICOH THETA x IoT デベロッパーズ コンテスト クラウドAPIセミナー
RICOH THETA x IoT  デベロッパーズ  コンテスト クラウドAPIセミナーRICOH THETA x IoT  デベロッパーズ  コンテスト クラウドAPIセミナー
RICOH THETA x IoT デベロッパーズ コンテスト クラウドAPIセミナーcontest-theta360
 
IoT案件を70件やってみて分かった事
IoT案件を70件やってみて分かった事IoT案件を70件やってみて分かった事
IoT案件を70件やってみて分かった事Koichi Sasaki
 
Magic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみたMagic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみたNishoMatsusita
 
知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたちKensaku Komatsu
 
[Mobile5] 最新動向 2012年5月
[Mobile5] 最新動向 2012年5月[Mobile5] 最新動向 2012年5月
[Mobile5] 最新動向 2012年5月Akira Sasaki
 
IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒント
IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒントIoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒント
IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒントTrainocate Japan, Ltd.
 
IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒント
IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒント IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒント
IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒント Trainocate Japan, Ltd.
 
JAWS-UG Shimane vol.6 | なぜ今IoTなのか?ソラコムとは?
JAWS-UG Shimane vol.6 | なぜ今IoTなのか?ソラコムとは?JAWS-UG Shimane vol.6 | なぜ今IoTなのか?ソラコムとは?
JAWS-UG Shimane vol.6 | なぜ今IoTなのか?ソラコムとは?SORACOM,INC
 
SORACOM Meetup 広島 | SORACOM 紹介
SORACOM Meetup 広島 | SORACOM 紹介SORACOM Meetup 広島 | SORACOM 紹介
SORACOM Meetup 広島 | SORACOM 紹介SORACOM,INC
 
5分でわかるWebRTC
5分でわかるWebRTC5分でわかるWebRTC
5分でわかるWebRTCRyosuke Otsuya
 
はじめてのWeb of Things
はじめてのWeb of ThingsはじめてのWeb of Things
はじめてのWeb of ThingsSaki Homma
 
WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~Ryosuke Otsuya
 

Semelhante a THETA プラグインで WebRTC やってみた (20)

WebRTC入門+最新動向
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
 
Smart tag firststep
Smart tag firststepSmart tag firststep
Smart tag firststep
 
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
 
WebRTC Meetup Tokyo #3 - WebRTC Conference参加報告
WebRTC Meetup Tokyo #3 - WebRTC Conference参加報告WebRTC Meetup Tokyo #3 - WebRTC Conference参加報告
WebRTC Meetup Tokyo #3 - WebRTC Conference参加報告
 
RICOH THETA x IoT デベロッパーズ コンテスト クラウドAPIセミナー
RICOH THETA x IoT  デベロッパーズ  コンテスト クラウドAPIセミナーRICOH THETA x IoT  デベロッパーズ  コンテスト クラウドAPIセミナー
RICOH THETA x IoT デベロッパーズ コンテスト クラウドAPIセミナー
 
IoT案件を70件やってみて分かった事
IoT案件を70件やってみて分かった事IoT案件を70件やってみて分かった事
IoT案件を70件やってみて分かった事
 
Magic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみたMagic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみた
 
知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち
 
[Mobile5] 最新動向 2012年5月
[Mobile5] 最新動向 2012年5月[Mobile5] 最新動向 2012年5月
[Mobile5] 最新動向 2012年5月
 
IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒント
IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒントIoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒント
IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒント
 
IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒント
IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒント IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒント
IoTの技術的課題と実現のポイント~実装例・エンジニアリングのヒント
 
JAWS-UG Shimane vol.6 | なぜ今IoTなのか?ソラコムとは?
JAWS-UG Shimane vol.6 | なぜ今IoTなのか?ソラコムとは?JAWS-UG Shimane vol.6 | なぜ今IoTなのか?ソラコムとは?
JAWS-UG Shimane vol.6 | なぜ今IoTなのか?ソラコムとは?
 
SORACOM Meetup 広島 | SORACOM 紹介
SORACOM Meetup 広島 | SORACOM 紹介SORACOM Meetup 広島 | SORACOM 紹介
SORACOM Meetup 広島 | SORACOM 紹介
 
弊社サービスを使って ノーコード開発してみた.pdf
弊社サービスを使って ノーコード開発してみた.pdf弊社サービスを使って ノーコード開発してみた.pdf
弊社サービスを使って ノーコード開発してみた.pdf
 
Linebotを作ろう
Linebotを作ろうLinebotを作ろう
Linebotを作ろう
 
Example using LattePanda
Example  using LattePandaExample  using LattePanda
Example using LattePanda
 
5分でわかるWebRTC
5分でわかるWebRTC5分でわかるWebRTC
5分でわかるWebRTC
 
はじめてのWeb of Things
はじめてのWeb of ThingsはじめてのWeb of Things
はじめてのWeb of Things
 
WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~
 

THETA プラグインで WebRTC やってみた