Уровень API 1 спецификации OSC API ориентирован на тип изображения, а поддержка видео добавлена на уровне API 2. Производителям камер рекомендуется определять собственные команды и/или при необходимости расширять набор параметров стандартных команд. Они известны как команды поставщика и параметры поставщика .
Имена команд и параметров, специфичных для поставщика, должны быть буквенно-цифровыми и начинаться с подчеркивания ( _ ).
Функциональность, специфичная для конкретного поставщика, может реализовываться в четырех местах следующим образом:
- Вывод /osc/info API
- Вывод /osc/state API
- Спецификация OSC API , команды для /osc/commands/execute
- Спецификация API OSC , параметры команды; например, параметры для команд
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" } |