Kira-kira enam bulan yang lalu saya memutuskan untuk membuat program untuk mengawal komputer melalui pelayar. Saya bermula dengan pelayan HTTP soket tunggal yang mudah yang memindahkan imej ke penyemak imbas dan menerima koordinat kursor untuk kawalan.
Pada peringkat tertentu saya menyedari bahawa teknologi WebRTC sangat sesuai untuk tujuan ini. Penyemak imbas Chrome mempunyai penyelesaian sedemikian; ia dipasang melalui sambungan. Tetapi saya ingin membuat program ringan yang akan berfungsi tanpa pemasangan.
Mula-mula saya cuba menggunakan perpustakaan yang disediakan oleh Google, tetapi selepas penyusunan ia memerlukan 500MB. Saya terpaksa melaksanakan keseluruhan timbunan WebRTC hampir dari awal, dan berjaya memasukkan semuanya ke dalam fail exe 2.5MB. Seorang rakan membantu dengan antara muka dalam JS, dan inilah yang kami akhirnya.
Mari jalankan program:
Buka pautan dalam tab penyemak imbas dan dapatkan akses penuh ke desktop:
Animasi ringkas proses persediaan sambungan:
Disokong oleh Chrome, Firefox, Safari, Opera.
Ia adalah mungkin untuk menghantar bunyi, panggilan audio, mengurus papan keratan, memindahkan fail dan memanggil kekunci panas.
Semasa bekerja pada program ini, saya terpaksa mengkaji sedozen RFC dan memahami bahawa tidak ada maklumat yang mencukupi di Internet tentang pengendalian protokol WebRTC. Saya ingin menulis artikel mengenai teknologi yang digunakan di dalamnya, saya ingin mengetahui soalan berikut yang menarik minat masyarakat:
- Protokol penerangan data penstriman SDP
- calon ICE dan mewujudkan sambungan antara dua titik, pelayan STUN dan TURN
- Sambungan DTLS dan pemindahan kunci ke sesi RTP
- Protokol RTP dan RTCP dengan penyulitan untuk menghantar data media
- Pindahkan H264, VP8 dan Opus melalui RTP
- Sambungan SCTP untuk memindahkan data binari
Sumber: www.habr.com