RICHO THETA で intdash サーバーへ360°画像データをストリーミング可能なプラグインです。
THETAのOSはAndroidOSとなっており、iscp-ktを利用してデータ伝送を行うことが可能です。
※ご利用には intdash との契約が必要です。
※動作確認済みのTEHTAは THETA V (3.82.1) のみです。他の機種でも動く可能性もありますが動作未検証です。
ご利用にはいくつかの作業が必要です。
プラグインの利用にはプラグインを動かすTHETAを開発者モードにする必要があります。
また、開発者モードにするには RICOH THETA プラグイン パートナープログラム に登録する必要があります。
パートナープログラムへの登録は こちら より行いました。
参考記事: https://qiita.com/mShiiina/items/55d98f366e650ca42251
開発者モードにすることができたら、adb コマンドを利用してプラグインをTHETAへインストールします。
adb install theta-iscp-plugin.apk
THETA Vへプラグインをインストールする場合、端末に画面が無いためOSを直接操作できません。 その為、scrcpy 等を用いてAndroidOSの画面ミラーリングします。
ミラーリングができたら Settings
-> Apps
-> THETA iSCP Streaming
-> Permissions
を選択し
- Camera
- Microphone
- Storage
の権限を付与してください。
※ミラーリングした段階でホーム画面以外が表示されていた場合は ALTキー+Hキー
でホーム画面を表示してください。
THETA Vを利用する場合は こちら を参考にインターネットに繋がる様にしてください。
アクセス情報や、ストリーム設定は iscp_plugin_settings.json を利用します。
{
"intdash" : {
"server_url" : "https://example.com",
"server_path" : "/api",
"node_client_id" : "00000000-0000-0000-0000-000000000000",
"node_client_secret" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"save_to_server" : false
},
"video" : {
"enabled" : true,
"resolution" : { // THETA V supported resolutions: [ 3840x1920, 1920x960, 1024x512, 640x320 ]
"width" : 1920,
"height" : 960
},
"sample_rate" : 29.97, // THETA V's frame rate is fixed at 29.97 fps.
"encode_rate" : 15, // Frame rate to be encoded and transmitted.
"bit_rate" : 2000000,
"i_frame_interval" : 2
}
}
node_client_id
と node_client_secret
には intdashサービスのエッジを作成時に発行されるIDとシークレット情報を設定してください。
上記を修正後、adbコマンドで設定ファイルをTHETA内に設置します。
adb push iscp_plugin_settings.json /storage/self/primary/
こちら よりRICHO THETAアプリをインストールし、アプリ上部の プラグイン
-> プラグイン管理...
より起動するプラグインを THETA iSCP Streaming
に設定してください。
THETAがクライアントモードでかつ、WiFiに接続している事を確認します。
プラグインアプリ設定まで行えた場合は、THETAのモードボタンを長押しして、プラグインアプリを起動できます。
計測開始・停止は端末中央のシャッターボタンを押すことで行えます。
以下は、開発者向けの情報になります。
- Android™ Studio Chipmunk | 2021.2.1 Patch 2
- Android Gradle Plugin Version 7.2.2
- Gradle Version 7.3.3
- Kotlin Gradle Plugin Version 1.8.20
- compileSdk 26
- minSdk 25
- targetSdk 33
intdash APIと連携にはOpenAPI Generatorより自動生成されたクライアントを利用します。
クライアントの生成に利用したコマンドは下記を利用しました。
openapi-generator-cli generate -i openapi_public.yaml -g java -o intdash --additional-properties=library=okhttp-gson,apiPackage=com.aptpod.intdash,groupId=com.aptpod,artifactId=intdash,sourceFolder=src/main/java,disallowAdditionalPropertiesIfNotPresent=false,dateLibrary=legacy
その他の intdash API Client の設定方法は こちら を参照してください。