ประมาณหกเดือนที่แล้ว ฉันตัดสินใจสร้างโปรแกรมเพื่อควบคุมคอมพิวเตอร์ผ่านเบราว์เซอร์ ฉันเริ่มต้นด้วยเซิร์ฟเวอร์ HTTP ซ็อกเก็ตเดียวธรรมดาที่ถ่ายโอนรูปภาพไปยังเบราว์เซอร์และรับพิกัดเคอร์เซอร์สำหรับการควบคุม
ในขั้นตอนหนึ่ง ฉันตระหนักว่าเทคโนโลยี WebRTC เหมาะสมอย่างยิ่งสำหรับวัตถุประสงค์เหล่านี้ เบราว์เซอร์ Chrome มีวิธีแก้ปัญหาดังกล่าว โดยติดตั้งผ่านส่วนขยาย แต่ฉันต้องการสร้างโปรแกรมขนาดเบาที่ทำงานได้โดยไม่ต้องติดตั้ง
ก่อนอื่นฉันพยายามใช้ไลบรารี่ที่ Google เตรียมไว้ให้ แต่หลังจากการคอมไพล์มันกินพื้นที่ถึง 500MB ฉันต้องใช้สแต็ก WebRTC ทั้งหมดตั้งแต่เริ่มต้น และจัดการให้ทุกอย่างพอดีกับไฟล์ exe ขนาด 2.5MB เพื่อนคนหนึ่งช่วยเรื่องอินเทอร์เฟซใน JS และนี่คือสิ่งที่เราได้รับ
มารันโปรแกรมกันเถอะ:
เปิดลิงก์ในแท็บเบราว์เซอร์และเข้าถึงเดสก์ท็อปโดยสมบูรณ์:
ภาพเคลื่อนไหวสั้นๆ ของกระบวนการตั้งค่าการเชื่อมต่อ:
รองรับ Chrome, Firefox, Safari, Opera
สามารถส่งสัญญาณเสียง การโทรด้วยเสียง จัดการคลิปบอร์ด ถ่ายโอนไฟล์ และปุ่มลัดการโทรได้
ในขณะที่ทำงานในโปรแกรม ฉันต้องศึกษา RFC หลายสิบรายการและเข้าใจว่ามีข้อมูลบนอินเทอร์เน็ตไม่เพียงพอเกี่ยวกับการทำงานของโปรโตคอล WebRTC ฉันต้องการเขียนบทความเกี่ยวกับเทคโนโลยีที่ใช้ในนั้น ฉันต้องการค้นหาว่าคำถามใดต่อไปนี้เป็นที่สนใจของชุมชน:
- โปรโตคอลคำอธิบายข้อมูลสตรีมมิ่ง SDP
- ผู้สมัคร ICE และสร้างการเชื่อมต่อระหว่างสองจุด เซิร์ฟเวอร์ STUN และ TURN
- การเชื่อมต่อ DTLS และการถ่ายโอนคีย์ไปยังเซสชัน RTP
- โปรโตคอล RTP และRTСPพร้อมการเข้ารหัสสำหรับการส่งข้อมูลสื่อ
- โอน H264, VP8 และ Opus ผ่าน RTP
- การเชื่อมต่อ SCTP สำหรับการถ่ายโอนข้อมูลไบนารี
ที่มา: will.com