يركز المستوى الأول من مواصفات واجهة برمجة التطبيقات OSC على نوع الصور، وتتم إتاحة استخدام الفيديو في المستوى 2 من واجهة برمجة التطبيقات. ننصح الشركات المصنّعة للكاميرات بتحديد أوامر مخصّصة و/أو توسيع نطاق مجموعة معلَمة الأوامر العادية إذا لزم الأمر. ويُعرف ذلك باسم أوامر المورِّدين ومعلَمات المورِّدين.
يجب أن يكون اسم الأوامر والمعلمات الخاصة بالمورّد أبجديًا رقميًا وأن يبدأ بشرطة سفلية ( _ ).
يمكن أن تحدث الوظائف الخاصة بالمورّد في أربعة أماكن كما يلي:
- مخرجات واجهة برمجة التطبيقات /osc/info
- مخرجات /osc/state API
- مواصفات واجهة برمجة تطبيقات OSC، الأوامر الخاصة بـ /osc/commands/execute
- مواصفات واجهة برمجة تطبيقات OSC، مثل مَعلمات الأوامر
setOptions
وgetOptions
.
مثال | |
---|---|
الطلب (واجهة برمجة التطبيقات 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" } |