Le niveau d'API 1 de la spécification d'API OSC est axé sur le type d'image. La prise en charge des vidéos est ajoutée au niveau d'API 2. Nous encourageons les fabricants d'appareils photo à définir des commandes personnalisées et/ou à étendre l'ensemble de paramètres des commandes standards, si nécessaire. Ceux-ci sont appelés Commandes fournisseur et Paramètres fournisseur.
Le nom des commandes et des paramètres spécifiques aux fournisseurs doit être alphanumérique et précédé d'un trait de soulignement ( _ ).
La fonctionnalité de spécificité du fournisseur peut s'appliquer à quatre emplacements, comme suit :
- Résultat de l'API /osc/info
- Résultat de l'API /osc/state
- Spécification de l'API OSC, commandes pour /osc/commands/execute
- Spécification de l'API OSC, paramètres de la commande (par exemple, les paramètres des commandes
setOptions
etgetOptions
).
Exemple | |
---|---|
Requête (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" } } |
Réponse | 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" } |
Requête | 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", ... } } |
Réponse | 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" } |