التحكم عن بعد بجهاز الكمبيوتر من خلال متصفح

منذ حوالي ستة أشهر ، قررت أن أصنع برنامجًا للتحكم في جهاز كمبيوتر من خلال متصفح. لقد بدأت بخادم HTTP بسيط أحادي المقبس يقوم بتمرير الصور إلى المتصفح وتلقي إحداثيات المؤشر للتحكم.

في مرحلة معينة ، أدركت أن تقنية WebRTC مناسبة تمامًا لهذه الأغراض. يحتوي متصفح Chrome على مثل هذا الحل ، ويتم تثبيته من خلال الامتداد. لكنني أردت عمل برنامج خفيف الوزن سيعمل بدون تثبيت.

في البداية حاولت استخدام المكتبة التي توفرها Google ، ولكن بعد تجميعها يستغرق 500 ميجابايت. اضطررت إلى تنفيذ مكدس WebRTC بالكامل تقريبًا من البداية ، وتمكنت من احتواء كل شيء في ملف exe بحجم 2.5 ميجابايت. ساعد صديق في الواجهة في JS ، وهذا ما حدث في النهاية.

نبدأ البرنامج:

التحكم عن بعد بجهاز الكمبيوتر من خلال متصفح
افتح الرابط في علامة تبويب المتصفح واحصل على وصول كامل إلى سطح المكتب:

التحكم عن بعد بجهاز الكمبيوتر من خلال متصفح
رسم متحرك صغير لعملية إنشاء الاتصال:

التحكم عن بعد بجهاز الكمبيوتر من خلال متصفح
بدعم من Chrome و Firefox و Safari و Opera.

من الممكن نقل الصوت والمكالمات الصوتية وإدارة الحافظة ونقل الملفات ومفاتيح الاتصال السريع.

أثناء العمل في البرنامج ، كان عليّ دراسة عشرات من طلبات التعليقات (RFC) وفهم أنه لا توجد معلومات كافية على الإنترنت حول تشغيل بروتوكول WebRTC. أريد أن أكتب مقالًا عن التقنيات التي يستخدمها ، وأريد معرفة الأسئلة التالية التي تهم المجتمع:

  • بروتوكول وصف بيانات تدفق SDP
  • مرشحو ICE وإنشاء اتصال بين نقطتين ، خوادم STUN و TURN
  • اتصال DTLS ونقل المفاتيح إلى جلسة RTP
  • بروتوكولات RTP و RTСP مع تشفير لنقل بيانات الوسائط
  • انقل H264 و VP8 و Opus عبر RTP
  • اتصال SCTP لنقل البيانات الثنائية

المصدر: www.habr.com

إضافة تعليق