원격 스트림 시작하기

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에 추가할 수 있습니다. 가능한 한 빨리 이 설정을 수행하는 것이 대기 중이라는 것을 알 수 있습니다.

원격 트랙 추가

다른 피어가 추가한 원격 트랙을 수신하기 위해 track 이벤트를 수신 대기하는 로컬 RTCPeerConnection의 리스너입니다. 이 RTCTrackEvent에는 동일한 값을 가진 MediaStream 객체의 배열이 포함됩니다. MediaStream.id 값을 동종 앱의 해당 로컬 스트림으로 사용합니다. Google의 예를 들어 각 트랙은 단일 스트림에만 연결됩니다.

MediaStream ID는 피어 연결의 양쪽에서 일치하지만 일반적으로 MediaStreamTrack ID의 경우에는 그렇지 않습니다.

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

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