רמת API 1 של מפרט OSC API מתמקדת בסוג התמונה, ותמיכה בסרטונים נוספה ברמת API 2. אנחנו ממליצים ליצרני המצלמות להגדיר פקודות בהתאמה אישית או להרחיב את קבוצת הפרמטרים של הפקודות הסטנדרטיות לפי הצורך. הפרמטרים האלה מכונים פקודות ספק ופרמטרים של ספקים.
השמות של הפקודות והפרמטרים הספציפיים לספק חייבים להיות אלפאנומריים ולהיות עם קידומת של קו תחתון ( _ ).
פונקציונליות ספציפית לספק יכולה להתרחש בארבעה מקומות:
- פלט של /osc/info API
- פלט של API /osc/state
- מפרט OSC API, פקודות ל- /osc/commands/execute
- OSC API Specification, פרמטרים של פקודות; לדוגמה, פרמטרים עבור הפקודות
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" } |