OSC API Spesifikasyonu'nun API düzeyi 1'i resim türüne odaklanır, video desteği ise API düzeyi 2'ye eklenmiştir. Kamera üreticilerinin özel komutlar tanımlamaları ve/veya gerekirse standart komut gruplarını genişletmeleri önerilir. Bunlar Tedarikçi Firma Komutları ve Tedarikçi Firma Parametreleri olarak bilinir.
Tedarikçi firmaya özel komutların ve parametrelerin adı alfanümerik olmalı ve alt çizgi ( _) ile başlamalıdır.
Tedarikçiye özgü işlevler aşağıdaki dört yerde gerçekleşebilir:
- /osc/info API Çıkışı
- /osc/state API'sinin çıkışı
- OSC API Spesifikasyonu, /osc/commands/execute için komutlar
- OSC API Spesifikasyonu, komut parametreleri; Örneğin,
setOptions
vegetOptions
komutları gibi parametreler.
Örnek | |
---|---|
İstek (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" } } |
Yanıt | 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" } |
İstek | 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", ... } } |
Yanıt | 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" } |