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