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" } |