SlideShare a Scribd company logo
RICOH THETAの全天球画像
を部分転送して遠隔地の
Oculusでみる
@mechamogera
自己紹介
• @mechamogera
• GithubやQiitaメインで活動
• 最近のお仕事:Unityを用いた3Dアプリ開発、AWS lambdaやBatch・Serverless
Frameworkを用いたAPI開発
• ロボ部:上司の代わりになるロボの開発
• THETAライブストリーミング on レゴマインドストームEv3 - Qiita
• RICOH THETA Advent Calendar 2015 LT大会! : ATND
• 今日の話はこの続き
今日お話すること
• 前提知識
• THETAのライブストリーミング機能
• WebRTCとは?
• オーソドックスな全天球画像の転送
• 全天球画像の部分転送をやってみた
今日お話すること
• 前提知識
• THETAのライブストリーミング機能
• WebRTCとは?
• オーソドックスな全天球画像の転送
• 全天球画像の部分転送をやってみた
THETAのライブストリーミング機能
• UVC対応でUSB接続することでWebカメラとして利用可能
• 一部HDMI出力対応
ライブストリーミング画像2つの形式
• Dualfisheye形式(機器からは基本的にこれで出力)
• 一般的な形式ではないため球面へ
貼り付けるためのコードが必要
• Equirectangular形式(THETAのUVC
Blenderアプリなどを利用すればで変換可能)
• 一般的な形式で3Dライブラリで球面
への貼り付けがサポート
THETAのライブストリーミング対応機種
• 基本的にはDualfisheye形式
• Equirectangular形式はPCのUVC Blenderアプリで変換する必要がある(RICOH
Rは本体で変換)。
※ 2018/2/9現在の個人で調べた結果です。将来仕様が変わる可能性があります。
機種 解像度 DF=>Equiへのステッチ
RICOH THETA S FullHD UVC Blenderアプリ
RICOH THETA V 4K UVC Blenderアプリ
RICOH R FullHD 本体
WebRTCとは?
• ブラウザ同士P2Pでリアルタイムコミュニケーションをするための仕組み
• 通信プロトコルの集合体なのでブラウザ以外でも実装可
(ただし、PCネイティブのクライアントはまだ世の中にあまり出回っていなさそう)
• 通信インフラとしてセッション確立前の情報をやり取りするシグナリングサーバー
やNAT越えのTURN、STUNサーバーが必要
• 人数が多くなるとフルメッシュになりきつくなるのでSFUやMCUサーバが必要
• VoIPスペシャリストでなくてもブラウザに用意されたAPIを利用すればリアルタイ
ムコミュケーションのパワーを得られる
• WebRTC コトハジメ あたりが詳しい
現状使っているプラットフォーム
Skyway
• WebRTCプラットフォームの1つ
• とりあえず無料で利用可能
• 日本語資料充実
• シグナリングサーバ、NAT、SFUあり
• Javascript/Android/iOSクライアントあり
• ひとまず始めるには良い
今日お話すること
• 前提知識
• THETAのライブストリーミング機能
• WebRTCとは?
• オーソドックスな全天球画像の転送
• 全天球画像の部分転送をやってみた
WebRTCでのEqui画像の転送
• 比較的簡単に実装可能
• WebRTCでの送受信は
ほぼサンプルのまま
• 受信側での描画、WebVRでの
閲覧も比較的簡単なコードで
実現可能
球面への描画
• Equirectangular形式は3Dライブラリを利用すると簡単に球面に描画可能
• カメラを球面に入れて表示する => 用意されている球のテクスチャは外側を向いて
いることが多いので対応する必要あり
• 球面を均一に照らすように環境光を設定
• Unity+THETA S+UVC Blenderでライブストーリミング画像を表示してみ
る - Qiita
• THETAのDualfisheye動画をThree.jsで表示してみた - Qiita
球面の描画とVR HMDで見るための
3Dライブラリ
• Three.js:WebGLやWebVR直接触るよりは断然楽
• A-Frame:htmlのタグで定義、見るだけなら簡単
• ...etc
Unity、UE4での描画
• Unity、UE4をなるべく利用したい
• 3Dゲーム開発プラットフォームなので3D系の描画、演算が視覚的に楽に実現可
• Assetのエコシステムがあり他人の作った機能を手軽に利用可能
• 利用するにあたっての現状の課題
• THETAがUVC接続なので基本的にPC環境で実行となるがWebRTCのPCネイティブク
ライアントがまだない
• AndroidクライアントはあるのでAndroid環境ではいける?
• 標準で3D空間内部でHTML、Javascriptを実行できる機能がない(有料Assetではある)
• AmazonのSumerianはできるらしい期待
WebRTCでのEqui画像の送信の課題
• 全天球画像のサイズが大きくて転送量大
• WebRTCは帯域に応じて解像度を下げてビットレートを抑える仕組あり
• => 回線によってはどんどん解像度を下げられてモザイク状態に
今日お話すること
• 前提知識
• THETAのライブストリーミング機能
• WebRTCとは?
• オーソドックスな全天球画像の転送
• 全天球画像の部分転送をやってみた
WebRTCでのEqui画像の部分送信
• Unity+WebRTC+three.js+WebVRを使ってRICOH THETAの全天球画
像を遠隔地のOculusでみる - Qiita

More Related Content

Similar to とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)

AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
真吾 吉田
 
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみたリモートデバッグツール Weinerをつかってみた
リモートデバッグツール WeinerをつかってみたMasakazu Muraoka
 
新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみた新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみた
Kazuto Kusama
 
6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents
Kensaku Komatsu
 
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
JOYZO
 
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
Ryu Yamashita
 
ARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しようARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しよう
torisoup
 
組み込みメーカーだからこそのAWS Cognitoの使い方
組み込みメーカーだからこそのAWS Cognitoの使い方組み込みメーカーだからこそのAWS Cognitoの使い方
組み込みメーカーだからこそのAWS Cognitoの使い方
shotaueda3
 
Tizen の未来と可能性
Tizen の未来と可能性Tizen の未来と可能性
Tizen の未来と可能性Naruto TAKAHASHI
 
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
R S
 
iot.ymyzk.com の紹介
iot.ymyzk.com の紹介iot.ymyzk.com の紹介
iot.ymyzk.com の紹介
Yusuke Miyazaki
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャ
ota42y
 
Openshift 20191121
Openshift 20191121Openshift 20191121
Openshift 20191121
Yasushi Osonoi
 
Cloud automator的なものを実装してみる
Cloud automator的なものを実装してみるCloud automator的なものを実装してみる
Cloud automator的なものを実装してみる
saku hatsu
 
fluxflex meetup in Tokyo
fluxflex meetup in Tokyofluxflex meetup in Tokyo
fluxflex meetup in TokyoKyosuke Inoue
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hong Chen
 
WebRTC Rockstars Asian Tour 2017 (JP)
WebRTC Rockstars Asian Tour 2017 (JP)WebRTC Rockstars Asian Tour 2017 (JP)
WebRTC Rockstars Asian Tour 2017 (JP)
Lorenzo Miniero
 
Chrome Extensionで スクリーンシェアをやってみる
Chrome ExtensionでスクリーンシェアをやってみるChrome Extensionでスクリーンシェアをやってみる
Chrome Extensionで スクリーンシェアをやってみる
Yusuke Naka
 

Similar to とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる) (20)

AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
Zynga
ZyngaZynga
Zynga
 
Aws privte20110406 arai
Aws privte20110406 araiAws privte20110406 arai
Aws privte20110406 arai
 
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみたリモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
 
新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみた新しいOpenShiftのしくみを調べてみた
新しいOpenShiftのしくみを調べてみた
 
6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents
 
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
 
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
 
ARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しようARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しよう
 
組み込みメーカーだからこそのAWS Cognitoの使い方
組み込みメーカーだからこそのAWS Cognitoの使い方組み込みメーカーだからこそのAWS Cognitoの使い方
組み込みメーカーだからこそのAWS Cognitoの使い方
 
Tizen の未来と可能性
Tizen の未来と可能性Tizen の未来と可能性
Tizen の未来と可能性
 
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
 
iot.ymyzk.com の紹介
iot.ymyzk.com の紹介iot.ymyzk.com の紹介
iot.ymyzk.com の紹介
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャ
 
Openshift 20191121
Openshift 20191121Openshift 20191121
Openshift 20191121
 
Cloud automator的なものを実装してみる
Cloud automator的なものを実装してみるCloud automator的なものを実装してみる
Cloud automator的なものを実装してみる
 
fluxflex meetup in Tokyo
fluxflex meetup in Tokyofluxflex meetup in Tokyo
fluxflex meetup in Tokyo
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
 
WebRTC Rockstars Asian Tour 2017 (JP)
WebRTC Rockstars Asian Tour 2017 (JP)WebRTC Rockstars Asian Tour 2017 (JP)
WebRTC Rockstars Asian Tour 2017 (JP)
 
Chrome Extensionで スクリーンシェアをやってみる
Chrome ExtensionでスクリーンシェアをやってみるChrome Extensionでスクリーンシェアをやってみる
Chrome Extensionで スクリーンシェアをやってみる
 

Recently uploaded

NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
You&I
 
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdfクラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
TatsuyaHanayama
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
yamamotominami
 
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
You&I
 
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 

Recently uploaded (6)

NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
 
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
 
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdfクラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
 
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
 
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
 

とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)