EMPyCustom へ stream.json の値を渡す方法につきまして

42 views
Skip to first unread message

木下裕貴

unread,
Mar 6, 2023, 1:47:31 AM3/6/23
to EDGEMATRIX Stream Toolkit Forum
お世話になっております。

AMBLの木下です。

標記の通り、EMPyCustomへユーザがGUIで生成した設定値を引き渡すことを考えています。(Ex.■例)この経路自体可能でしょうか?
また可能であれば、コードレベルで例をいただければ大変助かります。

■例
1. ユーザがGUIでpolygon_area を設定する(4点のlist等の形式)
2. 実行時、user_stream_config.json -> emi_stream_config.json へ polygon_areaの値が上書きされる
3. app_setting.json の値を EMPyCustomが受け取り処理する

お忙しいところ恐縮ですが、ご教授いただければ幸いです。

ts...@edgematrix.com

unread,
Mar 6, 2023, 7:45:03 PM3/6/23
to EDGEMATRIX Stream Toolkit Forum, yuki.kin...@ambl.co.jp
お世話になっております。

直接streamコンフィグにアプリがアクセスすることはできないようになっているのですが、
やりたいことは、ちょうどこちらのご質問と同様で、違いはEMCustomかEMPyCustomか、と考えましたが、正しいでしょうか?

ちょっと面倒ですが、EMPyCustomの前にEMCustomを入れていただき、
EMCustomで受け取った情報をメタデータに追加し、ダウンストリームに流してもらうことで、
EMPyCustomでその情報を取得することが考えられます。

もしくは、一旦GUIで設定してもらって、
その値を、empycustom.optionsにコピーしてもらうのが、
一番シンプルかもしれません。

2023年3月6日月曜日 15:47:31 UTC+9 yuki.kin...@ambl.co.jp:

木下裕貴

unread,
Mar 6, 2023, 8:19:10 PM3/6/23
to EDGEMATRIX Stream Toolkit Forum, ts...@edgematrix.com, 木下裕貴

早速のご回答ありがとうございます。

>一旦GUIで設定してもらって、その値を、empycustom.optionsにコピーしてもらう
この方法ですが、1点確認させてください。

empycustom.optionsは、お客様が変更可能な領域に配置することは可能でしょうか?
サンプル(3DCNN)では、emi_stream_config.json に上記optionsが設定されているため、
コピーしてもらうという方法が可能か疑問に思いましたので確認させてください。


2023年3月7日火曜日 9:45:03 UTC+9 ts...@edgematrix.com:

ts...@edgematrix.com

unread,
Mar 6, 2023, 8:27:12 PM3/6/23
to EDGEMATRIX Stream Toolkit Forum, yuki.kin...@ambl.co.jp, ts...@edgematrix.com
> empycustom.optionsは、お客様が変更可能な領域に配置することは可能でしょうか?

はい、以下のようにGStreamerのoptionsプロパティをobject型としてオプション登録することで、
エンドユーザーが直接編集できるようにすることができます。

        {
            "key": {
                "element": "empycustom",
                "property": "options"
            },
            "option_type": "gstreamer",
            "value_type": "object"
        }


デバイスコンソールでは、以下のように入力します。

{"key1": value1, "key2": value2}
2023年3月7日火曜日 10:19:10 UTC+9 yuki.kin...@ambl.co.jp:

木下裕貴

unread,
Mar 7, 2023, 5:47:20 AM3/7/23
to EDGEMATRIX Stream Toolkit Forum, ts...@edgematrix.com, 木下裕貴
ご回答ありがとうございます。

下記のように実装することで、EMPyCustomにend_user_config.jsonで設定した値を渡すことが可能なことを確認できました。

emi_stream_config.json
"empycustom": {
      "custom-lib": "hoge.py",
      "in-place": "true",
      "format": "RGBA",
      "process-interval": 10,
      "options": {
        "hoge":[1, 2, 3, 4]
      }
    },

    "options": [

      {
        "key": {
            "element": "empycustom",
            "property": "options"
        },
        "option_type": "gstreamer",
        "value_type": "object"
      }
    ]

-----------------------------------------------------------

end_user_config.json
"options": [

  {
    "key": {
        "element": "empycustom",
        "property": "options"
        },
    "value": {"hoge" : [5, 6, 7, 8]}
  }
]

2023年3月7日火曜日 10:27:12 UTC+9 ts...@edgematrix.com:
Reply all
Reply to author
Forward
0 new messages