O nível 1 da API da especificação da API OSC se concentra no tipo de imagem, e o suporte para vídeo foi adicionado no nível 2 da API. Recomendamos que os fabricantes de câmeras definam comandos personalizados e/ou estendam o conjunto de parâmetros dos comandos padrão, se necessário. Eles são conhecidos como comandos do fornecedor e Parâmetros do fornecedor.
O nome dos comandos e parâmetros específicos do Fornecedor precisa ser alfanumérico e prefixado com um sublinhado ( _ ).
Recursos específicos do fornecedor podem ocorrer em quatro locais da seguinte maneira:
- Saída da API /osc/info
- Saída da API /osc/state
- Especificação da API OSC, comandos para /osc/commands/execute
- Especificação da API OSC, parâmetros de comando. por exemplo, parâmetros para os comandos
setOptions
egetOptions
.
Exemplo | |
---|---|
Solicitação (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" } } |
Resposta | 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" } |
Solicitação | 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", ... } } |
Resposta | 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" } |