En Google, luchamos por la equidad racial de la comunidad negra. Más información

Introducción a las transmisiones remotas

Una vez que un RTCPeerConnection está conectado a un par remoto, es posible transmitir audio y vídeo entre ellos. Este es el punto donde conectamos la corriente que recibimos de getUserMedia() a la RTCPeerConnection . Un flujo de medios consta de al menos una pista de los medios de comunicación, y estos se añaden individualmente al RTCPeerConnection cuando queremos transmitir a los medios a la par remoto.

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

Las pistas pueden ser añadidos a una RTCPeerConnection antes de que haya conectado a un par remoto, así que tiene sentido para llevar a cabo esta configuración tan pronto como sea posible en lugar de esperar a que se complete la conexión.

Agregar pistas remotas

Para recibir las pistas remotas que fueron añadidos por el otro par, se registra un oyente en el local de RTCPeerConnection de escucha para el track de eventos. El RTCTrackEvent contiene una matriz de MediaStream objetos que tienen los mismos MediaStream.id valores como correspondientes corrientes locales de los pares. En nuestro ejemplo, cada pista solo está asociada con una única secuencia.

Tenga en cuenta que mientras MediaStream identificaciones coincide en ambos lados de la conexión entre pares, el mismo no es generalmente cierto para MediaStreamTrack identificaciones.

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

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