SlideShare a Scribd company logo
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

More Related Content

PDF
RICOH THETA プラグイン開発 ワークショップ #1
PDF
OpenCVをAndroidで動かしてみた
PDF
TDD のこころ @ OSH2014
PDF
Scapyで作る・解析するパケット
PDF
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
PDF
react-scriptsはwebpackで何をしているのか
PDF
シリコンバレーの「何が」凄いのか
PDF
プロトタイピングとユーザビリティテストで「UXデザイン」を練りあげよう! | UXデザイン基礎セミナー 第4回
RICOH THETA プラグイン開発 ワークショップ #1
OpenCVをAndroidで動かしてみた
TDD のこころ @ OSH2014
Scapyで作る・解析するパケット
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
react-scriptsはwebpackで何をしているのか
シリコンバレーの「何が」凄いのか
プロトタイピングとユーザビリティテストで「UXデザイン」を練りあげよう! | UXデザイン基礎セミナー 第4回

What's hot (20)

PDF
ユーザーインタビューするときは、どうやらゾンビのおでましさ
PDF
第 1 回 Jetson ユーザー勉強会
PPTX
Photon Fusionのはじめの一歩
PDF
TLS, HTTP/2演習
PDF
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
PDF
Dockerからcontainerdへの移行
PPTX
世界一わかりやすいClean Architecture
PPTX
FINAL FANTASY Record Keeperのマスターデータを支える技術
PDF
あなたのスタートアップのアイデアの育てかた
PDF
オブジェクト指向の設計と実装の学び方のコツ
PDF
実践イカパケット解析α
PPTX
カラーマネジメント入門
PDF
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
PPTX
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
PDF
オープンソースのAPIゲートウェイ Kong ご紹介
PDF
Junitを使ったjavaのテスト入門
PPTX
20211004 XRメタバース時代における触覚の役割について
PPTX
PFSなTLS通信を復号する
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
PDF
WebAssemblyのWeb以外のことぜんぶ話す
ユーザーインタビューするときは、どうやらゾンビのおでましさ
第 1 回 Jetson ユーザー勉強会
Photon Fusionのはじめの一歩
TLS, HTTP/2演習
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
Dockerからcontainerdへの移行
世界一わかりやすいClean Architecture
FINAL FANTASY Record Keeperのマスターデータを支える技術
あなたのスタートアップのアイデアの育てかた
オブジェクト指向の設計と実装の学び方のコツ
実践イカパケット解析α
カラーマネジメント入門
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
オープンソースのAPIゲートウェイ Kong ご紹介
Junitを使ったjavaのテスト入門
20211004 XRメタバース時代における触覚の役割について
PFSなTLS通信を復号する
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
WebAssemblyのWeb以外のことぜんぶ話す
Ad

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

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

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