El nivel de API 1 de la especificación OSC API se centra en el tipo de imagen y se agrega asistencia de video en el nivel de API 2. Se alienta a los fabricantes de cámaras a definir los comandos personalizados y a extender el conjunto de parámetros de comandos estándares si es necesario. Esos comandos y parámetros se conocen como Comandos de proveedor y Parámetros de proveedor.
El nombre de los parámetros y comandos específicos para proveedores deben ser alfanuméricos y tener como prefijo un guión bajo ( _ ).
La funcionalidad específica para proveedores puede encontrarse en los siguientes cuatro lugares:
- Salida de /osc/info API
- Salida de /osc/state API
- Especificación de la OSC API, comandos para /osc/commands/execute
- Especificación de la OSC API, parámetros de comando; por ejemplo, parámetros para los comandos
setOptions
ygetOptions
.
Ejemplo | |
---|---|
Solicitud (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" } } |
Respuesta | 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" } |
Solicitud | 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", ... } } |
Respuesta | 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" } |