منذ حوالي ستة أشهر ، قررت إنشاء برنامج للتحكم في جهاز الكمبيوتر من خلال متصفح. لقد بدأت مع خادم HTTP بسيط أحادي المقبس ، والذي نقل الصور إلى المتصفح وتلقى إحداثيات المؤشر للتحكم.
في مرحلة معينة ، أدركت أن تقنية WebRTC مناسبة تمامًا لهذه الأغراض. متصفح كروم لديه مثل هذا الحل ، يتم تثبيته من خلال التمديد. لكنني أردت أن أصنع برنامجًا خفيف الوزن يعمل بدون تثبيت.
في البداية ، حاولت استخدام المكتبة التي توفرها Google ، لكن بعد التجميع يستغرق 500 ميجابايت. اضطررت إلى تطبيق مجموعة WebRTC بالكامل تقريبًا من البداية ، تمكنت من احتواء كل شيء في ملف exe بحجم 2.5 ميغابايت. ساعد صديق مع واجهة JS ، وهذا ما انتهى.
قم بتشغيل البرنامج:
نفتح الرابط في علامة تبويب المتصفح ونحصل على حق الوصول الكامل إلى سطح المكتب:
رسم صغير لعملية إعداد الاتصال:
بدعم من كروم ، فايرفوكس ، سفاري ، أوبرا.
هناك إمكانية لنقل الصوت والمكالمات الصوتية وإدارة الحافظة ونقل الملفات ومفاتيح الاختصار.
في سياق العمل على البرنامج ، كان علي أن أدرس حوالي 12 RFCs وأن أفهم أن الإنترنت ليس لديه معلومات كافية حول تشغيل بروتوكول WebRTC. أريد أن أكتب مقالًا عن التقنيات المستخدمة فيه ، أريد أن أعرف ما هي القضايا التي تهم المجتمع التالي:
- بروتوكول الوصف SDP الدفق
- المرشحين ICE وإقامة اتصال بين نقطتين ، STUN وخادم TURN
- اتصال DTLS ونقل المفتاح إلى جلسة RTP
- بروتوكولات RTP و RTCP مع تشفير لنقل الوسائط
- نقل H264 ، VP8 ، و Opus عبر RTP
- SCTP اتصال البيانات الثنائية