MediaStream API

y0ung·2021년 8월 1일
0

1. MediaStream API ?

MediaStream API, Mdeia Capture and Streams API 는 오디오와 비디오 데이터 스트리밍을 지원하는 WebRTC 관련 API다.

WebRTC
웹 애플리케이션과 사이트가 중간자 없이 브라우저 간에 오디오나 영상 미디어를 포착하고 마음대로 스트림할 뿐 아니라, 임의의 데이터도 교환할 수 있도록 하는 기술

stream
음성, 영상, 데이터 등의 작은 조각들이 하나의 줄기를 이루며 전송되는 데이터줄 이다.

MediaStream api가 제공하는 기능

  1. 미디어 스트림, 스트림을 구성하는 트랙
  2. 데이터 형식과 관련된 제한 인자
  3. 데이터를 비동기적으로 사용할때 성공과 오류 콜백, 이 과정 에서 발생하는 이벤트에 대한 인터페이스 및 메서드 제공

2. MediaStream

MediaStream API는 비디오나 오디오 관련된 데이터를 나타내는 MediaStream 객체 조작에 기반한다.

MediaStream특징

  1. MediaStream은 0개 이상의 MediaStreamTrack객체로 구성.
    오디오나 비디오 트랙을 나타내며, MediaStreamTrack은 하나 이상의 채널을 가질수 있다.

  2. MediaStream은 하나의 입력과 출력을 가진다.

호출 방식에 따라 Local MediaStream 과 Non-local MediaStream 으로 나뉜다.

Local MediaStream

  • getUserMedia() 로 생성한 스트림

Non-local MediaStream

  • 네트워크 , WebRTC, RTCPeerConnection API를 통해 시작된 미디어 요소
    (예: <video> 또는 <audio>)
  • Web Audio API
  • MediaStreamAudiosourceNode를 사용하여 생성된 스트림

사용 방법

  • MediaDevices는 카메라, 마이크, 공유 화면 등 현재 연결된 미디어 입력 장치로의 접근 방법을 제공 하는 인터페이스이다.
  • constraints 는 MediaStream의 내용물을 제어하는데
    예를 들어 Media Type, Resolution, Frame rate등을 제어 가능하다 _ 매개 변수 종류 살펴보기

MediaDevices 메소드

  1. getUserMedia()

2.getDisplayMedia()

  1. enumerateDevices()

EVENTS

  • onactive : MediaStream 객체가 활성화 될 때
  • onaddtrack : 새로운 MediaStreamTrack객체가 추가 될 때
  • oninactive : MediaStream 객체가 비활성화 될 때
  • onremovetrack : MediaStreamTrack객체가 제거 될 때

METHODS

  • addTrack() : MediaStreamTrack 객체를 추가
  • clone() : 새로운 아이디 값으로 MediaStream 객체를 복제
  • getTrackById() : track의 ID를 반환 한다. 객체가 없거나 ID값이 없을 경우 null을 반환
  • removeTrack() : MediaStreamTrack을 삭제
  • getTracks() : 모든 MediaStreamTrack 리스트 반환
  • getAudioTracks() : 오디오 MediaStreamTrack 리스트 반환
  • getVideoTracks() : 비디오 MediaStreamTrack 리스트 반환

코드 보기


출처

profile
어제보다는 오늘 더 나은

0개의 댓글