تنفذ المكتبة بروتوكول المنفذ 32100 UDP Cloud الذي تستخدمه العديد من كاميرات P2P. يمكنك العثور على وصف للبروتوكول في الويكي
npm install --save lib32100
تتطلب المكتبة
const lib32100 = require ( 'lib32100' )
مثيل العميل
const client = lib32100 . client ( )
لاحظ أنه يمكن لكل عميل التعامل مع جهاز واحد (كاميرا) وخوادم سحابية متعددة .
إضافة خوادم
client . addServer ( { host : "myserver.example.com" , port : 32100 } )
قم بتعيين معرف الجهاز
client . setUid ( 'PROD123456ABCDE' )
أضف مستمعين
client . on ( 'stun' , ( e ) => console . log ( JSON . stringify ( e ) ) )
client . on ( 'lookup' , ( e ) => console . log ( JSON . stringify ( e ) ) )
إرسال الأوامر إلى خوادم السحابة
client . sendSTUNRequest ( )
client . lookupUid ( )
أضف عنوان الكاميرا
client . addCamAddress ( { host : "192.168.0.100" , port : 10088 } )
تعيين بيانات اعتماد الكاميرا
client . setCamCredentials ( { user : 'admin' , pass : 'password' } )
فتح جلسة الكاميرا المباشرة
client . openDirectCamSession ( { host : "192.168.0.100" , port : 10088 } )
التحقق من بيانات الاعتماد
client . checkCredentials ( )
احصل على لقطة
client . getSnapshot ( )
إرسال طلب GET مخصص
client . sendGet ( '/custom_url.cgi?myparam=hello' )
إرسال طلبات GET متعددة
client . sendMultipleGet ( [ '/custom_url1.cgi' , '/custom_url2.cgi' , '/custom_url3.cgi' ] )
احصل على بث فيديو مباشر
client . getVideoStream ( )
احصل على بث صوتي مباشر
client . getAudioStream ( )
إيقاف دفق الفيديو
client . stopVideoStream ( )
إيقاف البث الصوتي
client . stopAudioStream ( )
الحصول على معلومات متنوعة
client . getParams ( )
client . getCameraParams ( )
client . getFactoryParam ( )
client . getStatus ( )
client . cameraControl ( )
client . getMisc ( )
client . login ( )
client . getRtsp ( )
client . getOnvif ( )
client . getRecord ( )
client . wifiScan ( )
client . getWifiScanResult ( )
التحرك في الاتجاهات في الخطوات
client . stepDown ( )
client . stepLeft ( )
client . stepRight ( )
client . stepUp ( )
التحرك في الاتجاهات
client . moveDown ( )
client . moveLeft ( )
client . moveRight ( )
client . moveUp ( )
client . stopMove ( )
إغلاق الجلسة
client . closeCamSession ( )
يمكنكم الاستماع للأحداث التالية:
stun (server response)
lookup (server response)
lookupACK (server response)
unknownMsg (any message not yet parsable by the library)
pingpong (camera ping or pong)
close (camera closed session)
confirmed (camera comfirmed ID i.e. session opened)
ack (camera acked a message)
http (an http response)
audio (live audio data)
video (live video data)
complete (a complete http response)
lostConnection (the connection was lost)
لا يعتمد هذا التنفيذ على المواصفات الرسمية، بل يعتمد فقط على الهندسة العكسية للبروتوكول. لا أستطيع أن أضمن أنه سيعمل على كل الأجهزة.
معهد ماساتشوستس للتكنولوجيا. حقوق الطبع والنشر (ج) فابريزيو بيرتوني