Skip to content

aptpod/theta-iscp-plugin

Repository files navigation

THETA iSCP Plugin

RICHO THETAintdash サーバーへ360°画像データをストリーミング可能なプラグインです。

THETAのOSはAndroidOSとなっており、iscp-ktを利用してデータ伝送を行うことが可能です。

※ご利用には intdash との契約が必要です。

※動作確認済みのTEHTAは THETA V (3.82.1) のみです。他の機種でも動く可能性もありますが動作未検証です。

セットアップ

ご利用にはいくつかの作業が必要です。

1. THETAを開発者モードにする。

プラグインの利用にはプラグインを動かすTHETAを開発者モードにする必要があります。

また、開発者モードにするには RICOH THETA プラグイン パートナープログラム に登録する必要があります。

パートナープログラムへの登録は こちら より行いました。

参考記事: https://qiita.com/mShiiina/items/55d98f366e650ca42251

2. アプリのインストール

開発者モードにすることができたら、adb コマンドを利用してプラグインをTHETAへインストールします。

adb install theta-iscp-plugin.apk

3. アプリへのパーミッション付与。

THETA Vへプラグインをインストールする場合、端末に画面が無いためOSを直接操作できません。 その為、scrcpy 等を用いてAndroidOSの画面ミラーリングします。

ミラーリングができたら Settings -> Apps -> THETA iSCP Streaming -> Permissions を選択し

  • Camera
  • Microphone
  • Storage

の権限を付与してください。

※ミラーリングした段階でホーム画面以外が表示されていた場合は ALTキー+Hキー でホーム画面を表示してください。

4. THETAをクライアントモードにしインターネットと接続

THETA Vを利用する場合は こちら を参考にインターネットに繋がる様にしてください。

5. ストリーム設定

アクセス情報や、ストリーム設定は 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_idnode_client_secret には intdashサービスのエッジを作成時に発行されるIDとシークレット情報を設定してください。

上記を修正後、adbコマンドで設定ファイルをTHETA内に設置します。

adb push iscp_plugin_settings.json /storage/self/primary/

6. プラグインアプリ設定

こちら より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 Client

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 の設定方法は こちら を参照してください。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages