මාස හයකට පමණ පෙර මම බ්රව්සරයක් හරහා පරිගණකයක් පාලනය කිරීමේ වැඩසටහනක් කිරීමට තීරණය කළෙමි. මම සරල තනි-සොකට් HTTP සේවාදායකයකින් ආරම්භ කළෙමි, එය බ්රවුසරයට පින්තූර මාරු කළ අතර පාලනය සඳහා කර්සර ඛණ්ඩාංක ලැබුණි.
WebRTC තාක්ෂණය මෙම අරමුණු සඳහා හොඳින් ගැලපෙන බව එක්තරා අවධියකදී මට වැටහුණි. ක්රෝම් බ්රව්සරයට එවැනි විසඳුමක් ඇත; එය දිගුවක් හරහා ස්ථාපනය කර ඇත. නමුත් ස්ථාපනයකින් තොරව වැඩ කරන සැහැල්ලු වැඩසටහනක් කිරීමට මට අවශ්ය විය.
මුලින්ම මම Google විසින් සපයන ලද පුස්තකාලය භාවිතා කිරීමට උත්සාහ කළෙමි, නමුත් එය සම්පාදනය කිරීමෙන් පසු එය 500MB පමණ ගත වේ. මට මුල සිටම සම්පූර්ණ WebRTC තොගයම ක්රියාත්මක කිරීමට සිදු වූ අතර, සියල්ල 2.5MB exe ගොනුවකට ගැලපීමට මට හැකි විය. JS හි අතුරු මුහුණත සමඟ මිතුරෙකු උදව් කළ අතර, අපි අවසන් කළේ මෙයයි.
අපි වැඩසටහන ක්රියාත්මක කරමු:
බ්රවුසර පටිත්තක සබැඳිය විවෘත කර ඩෙස්ක්ටොප් එකට සම්පූර්ණ ප්රවේශය ලබා ගන්න:
සම්බන්ධතා සැකසුම් ක්රියාවලියේ කෙටි සජීවිකරණයක්:
Chrome, Firefox, Safari, Opera මගින් සහය දක්වයි.
ශබ්දය සම්ප්රේෂණය කිරීම, ශ්රව්ය ඇමතුම්, ක්ලිප්බෝඩ් කළමනාකරණය, ගොනු මාරු කිරීම සහ උණුසුම් යතුරු ඇමතීමට හැකිය.
වැඩසටහනේ වැඩ කරන අතරතුර, මට RFC දුසිමක් අධ්යයනය කිරීමට සිදු වූ අතර WebRTC ප්රොටෝකෝලය ක්රියාත්මක කිරීම පිළිබඳ අන්තර්ජාලයේ ප්රමාණවත් තොරතුරු නොමැති බව තේරුම් ගැනීමට සිදු විය. මට එහි භාවිතා වන තාක්ෂණයන් පිළිබඳ ලිපියක් ලිවීමට අවශ්යයි, පහත සඳහන් ප්රශ්නවලින් ප්රජාවට උනන්දුවක් දක්වන ප්රශ්න මොනවාදැයි සොයා බැලීමට මම කැමතියි:
- SDP ප්රවාහ දත්ත විස්තර ප්රොටෝකෝලය
- ICE අපේක්ෂකයින් සහ ස්ථාන දෙකක් අතර සම්බන්ධතාවයක් ඇති කිරීම, STUN සහ TURN සේවාදායකයන්
- DTLS සම්බන්ධතාවය සහ යතුරු RTP සැසියට මාරු කිරීම
- මාධ්ය දත්ත සම්ප්රේෂණය කිරීම සඳහා සංකේතනය සහිත RTP සහ RTСP ප්රොටෝකෝල
- RTP හරහා H264, VP8 සහ Opus මාරු කරන්න
- ද්විමය දත්ත මාරු කිරීම සඳහා SCTP සම්බන්ධතාවය
මූලාශ්රය: www.habr.com