Cómo comenzar a usar las transmisiones remotas

Una vez que un RTCPeerConnection se conecta a un par remoto, es posible transmitir audio y video entre ellas. Este es el punto en el que conectamos el que recibimos de getUserMedia() a RTCPeerConnection. Un elemento multimedia incluye al menos una pista multimedia que se agrega individualmente a RTCPeerConnection cuando queremos transmitir el contenido multimedia al control remoto. intercambio de tráfico.

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

Puedes agregar pistas a un RTCPeerConnection antes de que se conecte a un control remoto. por lo que tiene sentido realizar esta configuración lo antes posible en lugar de a que se complete la conexión.

Agregar pistas remotas

Para recibir las pistas remotas que agregó el otro par, registramos un en el objeto RTCPeerConnection local que escucha el evento track. El RTCTrackEvent contiene un array de objetos MediaStream que tienen la misma MediaStream.id como las transmisiones locales correspondientes del intercambio de tráfico. En nuestra Por ejemplo, cada pista está asociada con una única transmisión.

Ten en cuenta que, si bien los IDs de MediaStream coinciden en ambos lados de la conexión de intercambio de tráfico, Por lo general, no sucede lo mismo con los IDs de MediaStreamTrack.

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

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