El nivel de API 1 de la especificación de la API de OSC se centra en el tipo de imagen, y la compatibilidad con video se agrega en el nivel de API 2. Se recomienda a los fabricantes de cámaras definir comandos personalizados o extender el conjunto de parámetros de comandos estándar si es necesario. Se conocen como Comandos del proveedor y Parámetros del proveedor.
El nombre de los comandos y parámetros específicos del proveedor debe ser alfanumérico y contener un guion bajo ( _ ) como prefijo.
La funcionalidad específica para proveedores puede encontrarse en los siguientes cuatro lugares:
- Resultado de la API de /osc/info
- Resultado de la API de /osc/state
- Especificación de la API de OSC, comandos para /osc/commands/execute
- Especificación de la API de OSC, parámetros de comando; por ejemplo, los 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" } |