O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Primeiros passos com streams remotos

Uma vez que um RTCPeerConnection está conectado a um ponto remoto, é possível transmitir áudio e vídeo entre eles. Este é o ponto em que conectar o fluxo que recebemos de getUserMedia() ao RTCPeerConnection . Um fluxo de mídia consiste em pelo menos uma faixa de mídia, e estes são adicionados individualmente ao RTCPeerConnection quando queremos transmitir os meios de comunicação para o peer remoto.

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

As faixas podem ser adicionados a uma RTCPeerConnection antes de ter conectado a um ponto remoto, por isso faz sentido para executar esta configuração tão cedo quanto possível em vez de esperar que a ligação seja completada.

Adicionando trilhas remotas

Para receber as faixas remotos que foram adicionados pelo outro par, que registrar um ouvinte no local, RTCPeerConnection escuta para a track evento. O RTCTrackEvent contém uma matriz de MediaStream objectos que têm as mesmas MediaStream.id valores correspondentes como fluxos locais da pares. Em nosso exemplo, cada trilha está associada apenas a um único fluxo.

Note-se que enquanto MediaStream IDs corresponder em ambos os lados da ligação dos pares, o mesmo não é geralmente verdade para MediaStreamTrack IDs.

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

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