సుమారు ఆరు నెలల క్రితం నేను బ్రౌజర్ ద్వారా కంప్యూటర్ను నియంత్రించే ప్రోగ్రామ్ను రూపొందించాలని నిర్ణయించుకున్నాను. నేను ఇమేజ్లను బ్రౌజర్కి బదిలీ చేసే సాధారణ సింగిల్-సాకెట్ HTTP సర్వర్తో ప్రారంభించాను మరియు నియంత్రణ కోసం కర్సర్ కోఆర్డినేట్లను అందుకున్నాను.
ఒక నిర్దిష్ట దశలో WebRTC సాంకేతికత ఈ ప్రయోజనాల కోసం బాగా సరిపోతుందని నేను గ్రహించాను. Chrome బ్రౌజర్ అటువంటి పరిష్కారాన్ని కలిగి ఉంది; ఇది పొడిగింపు ద్వారా ఇన్స్టాల్ చేయబడింది. కానీ నేను ఇన్స్టాలేషన్ లేకుండా పనిచేసే తేలికపాటి ప్రోగ్రామ్ను తయారు చేయాలనుకున్నాను.
మొదట నేను Google అందించిన లైబ్రరీని ఉపయోగించడానికి ప్రయత్నించాను, కానీ సంకలనం తర్వాత అది 500MB పడుతుంది. నేను మొత్తం WebRTC స్టాక్ను దాదాపు మొదటి నుండి అమలు చేయాల్సి వచ్చింది మరియు ప్రతిదీ 2.5MB exe ఫైల్కి సరిపోయేలా చేయగలిగాను. JSలో ఇంటర్ఫేస్తో ఒక స్నేహితుడు సహాయం చేసాడు మరియు దీనితో మేము ముగించాము.
ప్రోగ్రామ్ను అమలు చేద్దాం:
బ్రౌజర్ ట్యాబ్లో లింక్ని తెరిచి, డెస్క్టాప్కు పూర్తి యాక్సెస్ను పొందండి:
కనెక్షన్ సెటప్ ప్రాసెస్ యొక్క చిన్న యానిమేషన్:
Chrome, Firefox, Safari, Opera ద్వారా మద్దతు ఉంది.
ధ్వని, ఆడియో కాల్, క్లిప్బోర్డ్ను నిర్వహించడం, ఫైల్లను బదిలీ చేయడం మరియు హాట్ కీలను కాల్ చేయడం సాధ్యమవుతుంది.
ప్రోగ్రామ్లో పని చేస్తున్నప్పుడు, నేను డజను RFCలను అధ్యయనం చేయాల్సి వచ్చింది మరియు WebRTC ప్రోటోకాల్ యొక్క ఆపరేషన్ గురించి ఇంటర్నెట్లో తగినంత సమాచారం లేదని అర్థం చేసుకున్నాను. నేను దానిలో ఉపయోగించిన సాంకేతికతలపై ఒక కథనాన్ని వ్రాయాలనుకుంటున్నాను, కింది వాటిలో ఏవి సమాజానికి ఆసక్తిని కలిగి ఉన్నాయో తెలుసుకోవాలనుకుంటున్నాను:
- SDP స్ట్రీమింగ్ డేటా వివరణ ప్రోటోకాల్
- ICE అభ్యర్థులు మరియు రెండు పాయింట్లు, STUN మరియు టర్న్ సర్వర్ల మధ్య కనెక్షన్ని ఏర్పాటు చేయడం
- DTLS కనెక్షన్ మరియు RTP సెషన్కి కీల బదిలీ
- మీడియా డేటాను ప్రసారం చేయడానికి ఎన్క్రిప్షన్తో RTP మరియు RTСP ప్రోటోకాల్లు
- RTP ద్వారా H264, VP8 మరియు ఓపస్ని బదిలీ చేయండి
- బైనరీ డేటాను బదిలీ చేయడానికి SCTP కనెక్షన్
మూలం: www.habr.com