Der Schwerpunkt von API Level 1 der OSC API-Spezifikation liegt auf dem Bildtyp, wählend in API Level 2 Videounterstützung hinzugefügt wird. Kamerahersteller sollten benutzerdefinierte Befehle definieren und/oder bei Bedarf die Parameter der Standardbefehle erweitern. Diese werden als Lieferantenbefehle und Lieferantenparameter bezeichnet.
Die Bezeichnung der lieferantenspezifischen Befehle und Parameter muss alphanumerisch sein und mit einem Unterstrich beginnen(„_“).
Lieferantenspezifische Funktionen sind an folgenden vier Stellen möglich:
- Ausgabe von /osc/info API
- Ausgabe von /osc/state API
- OSC API-Spezifikation, Befehle für /osc/commands/execute
- OSC API-Spezifikation, Befehlsparameter; z. B. Parameter für die Befehle
setOptions
undgetOptions
.
Beispiel | |
---|---|
Anforderung (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" } } |
Antwort | 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" } |
Anforderung | 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", ... } } |
Antwort | 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" } |