MediaStream 개요

MediaStream은 WebRTC (Web Real-Time Communication)에서 실시간 미디어(예: 오디오 및 비디오)를 다루기 위한 핵심적인 API이다. WebRTC는 브라우저 간 실시간 커뮤니케이션을 가능하게 하며, MediaStream은 이러한 커뮤니케이션에서 미디어 스트림을 캡처, 처리, 전송하는 역할을 한다. MediaStream은 사용자 장치에서 미디어 소스를 가져오고, 이를 조작하거나 다른 노드로 전송하는 데 사용된다.

MediaStream은 주로 다음 두 가지 구성 요소로 이루어진다:

MediaStreamTrack: 미디어 트랙의 기본 단위

MediaStreamTrack은 MediaStream의 기본 구성 요소로, 각각 오디오 또는 비디오와 같은 미디어 데이터를 표현한다. 각 MediaStreamTrack 객체는 특정한 미디어 소스에 연결되며, 이 소스는 사용자 장치의 마이크, 카메라 또는 화면일 수 있다.

MediaStream: 다중 트랙의 그룹화

MediaStream은 여러 MediaStreamTrack을 하나의 논리적인 스트림으로 그룹화하여 관리한다. 이는 단일 오디오 및 비디오 트랙을 함께 전송하거나 처리할 때 유용하다. MediaStream은 주로 사용자의 미디어를 캡처하거나, 다른 피어와의 연결에서 미디어를 주고받는 데 사용된다.

MediaStream의 이벤트 처리

MediaStream과 MediaStreamTrack은 다양한 이벤트를 통해 스트림의 상태 변화를 처리할 수 있다. 이러한 이벤트는 스트림 또는 트랙의 상태 변경, 트랙 추가 또는 제거, 소스의 끝 등 다양한 상황에서 발생한다.

이벤트 처리를 통해 개발자는 미디어 스트림의 상태를 실시간으로 모니터링하고, 사용자 인터페이스나 연결 로직을 적절히 조정할 수 있다.


관련 자료: - Mozilla Developer Network (MDN), MediaStream, https://developer.mozilla.org/ko/docs/Web/API/MediaStream - W3C WebRTC 1.0 Specification, MediaStream Interface, https://www.w3.org/TR/webrtc/#mediastream