getDisplayMedia()로 브라우저에서 화면을 캡처하는 방법.

6810 단어 WebRTC

목적



getDisplayMedia()로 브라우저에서 화면을 캡처합니다.

개요


  • getDisplayMedia() 를 사용하면 디스플레이 전체, Chrome 탭, 실행 중인 앱 화면을 캡처할 수 있습니다.
  • 획득한 캡처는 MediaStream Recording API을 사용하여 녹화하거나 WebRTC 세션으로 보낼 수 있습니다.

  • 목표





    개발 환경


  • OS: macOS Mojave 10.14.4
  • 브라우저: Google 크롬 73.0.3683.103
  • 편집기: Visual Studio Code 1.33.0
  • 로컬 서버: Live Server (VSCode 확장)

  • 대응 브라우저




    참조 : MediaDevices.get Display Media()

    샘플 소스



    javascript



    js/index.js
    "user strict";
    
    const mediaStreamConstraints = {
      video: true
    };
    
    const localVideo = document.querySelector("video");
    
    function gotLocalMediaStream(mediaStream) {
      const localStream = mediaStream;
      localVideo.srcObject = mediaStream;
    }
    
    function handleLocalMediaStreamError(error) {
      console.log("navigator.getUserMedia error: ", error);
    }
    
    navigator.mediaDevices
      .getDisplayMedia(mediaStreamConstraints)
      .then(gotLocalMediaStream)
      .catch(handleLocalMediaStreamError);
    
    

    html



    html/index.js
    <!DOCTYPE html>
    <html lang="jp">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>WebRTC - getDisplayMedia()</title>
    </head>
    
    <body>
      <h1>WebRTC - getDisplayMedia()</h1>
      <video autoplay playsinline></video>
      <script src="index.js"></script>
    </body>
    
    </html>
    

    인용원



    MediaDevices.get Display Media()

    좋은 웹페이지 즐겨찾기