ベンダー固有

OSC API 仕様の API レベル 1 では、画像のタイプのみに着目しており、動画のサポートは API レベル 2 で追加されています。カメラ メーカー側で、必要に応じてカスタム コマンドの定義や、標準コマンドのパラメータ セットの拡張を行うことをお勧めします。 これらはベンダー コマンドとベンダー パラメータと呼ばれます。

ベンダー固有のコマンドとパラメータの名前は、先頭に下線(_)が付いた英数字である必要があります。

ベンダー固有の機能は、次の 4 か所で使用できます。

  • /osc/info API の 出力
  • /osc/state API の 出力
  • OSC API 仕様、/osc/commands/execute のコマンド
  • OSC API 仕様 、パラメータのコマンド。たとえば、setOptions コマンドと getOptions コマンドのパラメータ。

リクエスト(API 1)
POST /osc/commands/execute HTTP/1.1
Host: [camera ip address]:[httpPort]
Content-Type: application/json;charset=utf-8
Accept: application/json
Content-Length: {CONTENT_LENGTH}
X-XSRF-Protected: 1

{
    "name": "camera.setOptions",
    "parameters": {
        "sessionId": "12ABC3",
        "iso": 200,
        "exposureCompensation": -2,
        "captureMode": "_video"
    }
}
レスポンス
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: {CONTENT_LENGTH}
X-Content-Type-Options: nosniff

{
    "name": "camera.setOptions",
    "state": "done"
}
リクエスト
POST /osc/commands/execute HTTP/1.1
Host: [camera ip address]:[httpPort]
Content-Type: application/json;charset=utf-8
Accept: application/json
Content-Length: {CONTENT_LENGTH}
X-XSRF-Protected: 1

{
    "name": "camera._startRecording",
    "parameters": {
        "sessionId": "12ABC3",
        ...
    }
}
レスポンス
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: {CONTENT_LENGTH}
X-Content-Type-Options: nosniff

{
    "name": "camera._startRecording",
    "state": "done"
}