रिमोट स्ट्रीम की सुविधा का इस्तेमाल शुरू करना

RTCPeerConnection को रिमोट रिमोट से कनेक्ट करने के बाद, उनके बीच ऑडियो और वीडियो स्ट्रीम किया जा सकता है. यही वह जगह है जहां हम getUserMedia() से मिलने वाली स्ट्रीम को RTCPeerConnection से कनेक्ट करते हैं. एक मीडिया स्ट्रीम में कम से कम एक मीडिया ट्रैक होता है. जब हम मीडिया को रिमोट पीयर में मीडिया भेजना चाहते हैं, तो उन्हें अलग-अलग RTCPeerConnection में जोड़ा जाता है.

const localStream = await getUserMedia({video: true, audio: true});
const peerConnection = new RTCPeerConnection(iceConfig);
localStream.getTracks().forEach(track => {
    peerConnection.addTrack(track, localStream);
});

ट्रैक को रिमोट पीयर से कनेक्ट करने से पहले RTCPeerConnection में जोड़ा जा सकता है. इसलिए, कनेक्शन पूरा होने के बजाय, सेट अप को जल्द से जल्द पूरा करना अच्छा रहता है.

रिमोट ट्रैक जोड़ना

दूसरे सहकर्मी की ओर से जोड़े गए रिमोट ट्रैक को पाने के लिए, हम RTCPeerConnection इवेंटtrack का इवेंट सुन रहे हैं. RTCTrackEvent में MediaStream ऑब्जेक्ट की एक कैटगरी है, जिसमें पीयर' और उससे जुड़ी स्थानीय स्ट्रीम के MediaStream.id मान एक जैसे हैं. हमारे उदाहरण में, हर ट्रैक सिर्फ़ एक स्ट्रीम से जुड़ा होता है.

ध्यान रखें कि मिलते-जुलते ऐप्लिकेशन के कनेक्शन के दोनों ओर वाले MediaStream आईडी मेल खाते हैं, लेकिन आम तौर पर MediaStreamTrack आईडी के लिए भी ऐसा ही होता है.

const remoteVideo = document.querySelector('#remoteVideo');

peerConnection.addEventListener('track', async (event) => {
    const [remoteStream] = event.streams;
    remoteVideo.srcObject = remoteStream;
});