API cấp 1 của Thông số kỹ thuật API OSC tập trung vào loại hình ảnh và tính năng hỗ trợ video được thêm vào trong API cấp 2. Các nhà sản xuất camera nên xác định các lệnh tuỳ chỉnh và/hoặc mở rộng bộ thông số của các lệnh chuẩn nếu cần. Các thông số này được gọi là Lệnh của nhà cung cấp và Thông số của nhà cung cấp.
Tên của các lệnh và thông số dành riêng cho Nhà cung cấp phải có ký tự chữ-số và phía trước có dấu gạch dưới ( _ ).
Chức năng dành riêng cho nhà cung cấp có thể xảy ra ở 4 vị trí như sau:
- Đầu ra của /osc/info API
- Đầu ra của /osc/state API
- Thông số kỹ thuật API OSC, các lệnh cho /osc/commands/execute
- OSC API Specification, các tham số lệnh; ví dụ: các tham số cho lệnh
setOptions
vàgetOptions
.
Ví dụ: | |
---|---|
Yêu cầu (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" } } |
Đáp | 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" } |
Yêu cầu | 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", ... } } |
Đáp | 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" } |