자바스크립트 Media Capture and Streams API: MediaStream, MediaStreamTrack
마이크, 카메라 등을 이용해 들어오는 (Media Stream: 오디오, 비디오, 화면 등) 데이터를 다룬다
여기에선 크게 3가지 스트림에 대해서 다뤄야 하는데 하나씩 살펴보자면
오디오와 비디오 같은 미디어 스트림을 다루는 객체
⇒ 위에 말한 3가지 스트림을 다루는데 사용된다
주의 할 점은 MediaStream 객체는 한번 생성되면 계속 데이터를 입력 받으므로 별도로 닫아줘야함
MediaStream 객체는 생성할 때 주로 2가지 방법이 사용되는데
주의 할 점이 MediaStream 객체를 여러 개 생성하더라도 동일한 소스( 마이크, 카메라, 화면)를 사용한다면 입력되는 “스트림은 동일”하다는 점
생성자로 객체 생성하는 방법
비어있는 MediaStream 객체 생성
parameter 로 들어온 객체와 동일한 트랙을 갖는 MediaStream 객체 생성
= 동일한 스트림 소스에 연결
여러 개의 트랙을 조합한 MediaStream 객체 생성
입력 소스로부터 MediaStream 객체를 받아서 사용
navigator.mediaDevices.getUserMedia()
HTMLMediaElement.captureStream()
HTMLCanvasElement.captureStream()
navigator.mediaDevices.getDisplayMedia()
혼자 공부해본 자료들은 아래에 있으며 아래에 링크를 달아두겠으니 필요시 사용해보자
https://github.com/inho-park/WebRTC
뭔가 내가 잊지 않으려고 정리하려다 보니 너무 간단히 요약해버린 감이 있지만 직접 소스를 구현해보니 생각한 것보다 간단하게 구현해볼 수 있다... 그러나 직접 버퍼를 구현한 후 서버에 데이터를 전달하는 과정을 구현한다면 아마 조금 더 video 나 audio 파일에 대한 이해가 필요할 것 같다는 생각이 들었다...