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;
});