Get to know MDN better
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2021년 4월.
* Some parts of this feature may have varying levels of support.
MediaStream Recording API는 때때로 Media Recording API 또는 MediaRecorder API 라고도 불리며, Media Capture and Streams API, WebRTC API와 밀접한 관련이 있습니다. MediaStream Recording API를 사용하면 MediaStream이나 HTMLMediaElement 객체가 생성한 데이터를 분석, 처리, 또는 디스크에 저장할 목적으로 캡처할 수 있습니다. 또한, 사용하기도 상당히 쉽습니다.
MediaStream Recording API는 단일 주요 인터페이스인 MediaRecorder로 구성되어 있으며, 이 인터페이스가 MediaStream의 데이터를 받아 처리할 수 있도록 전달하는 모든 작업을 수행합니다. 데이터는 MediaRecorder 생성 시 설정한 포맷으로 미리 변환되어, dataavailable 이벤트를 통해 전달됩니다. 이후 필요에 따라 데이터를 추가로 처리하거나 파일로 저장할 수 있습니다.
스트림을 녹화하는 과정은 간단합니다.
참고 : 녹화된 미디어의 일부를 담은 개별 Blob들이 반드시 개별적으로 재생 가능한 것은 아닙니다. 재생 전에 미디어를 다시 조립해야 합니다.
녹화 중 문제가 발생하면 error 이벤트가 MediaRecorder에 전송됩니다. onerror 이벤트 핸들러를 설정하여 error 이벤트를 감지할 수 있습니다.
예를 들어, 여기서는 HTML Canvas를 MediaStream의 소스로 사용하고, 9초 후에 녹화를 중단합니다.
MediaRecorder 객체의 속성을 이용해 녹화 과정의 상태를 확인할 수 있으며, pause()와 resume() 메서드로 소스 미디어의 녹화를 일시 중지하거나 재개할 수 있습니다.
특정 MIME 타입의 지원 여부를 확인하려면 MediaRecorder.isTypeSupported()를 호출하면 됩니다.
카메라 및/또는 마이크 입력을 녹화하려는 경우, MediaRecorder 객체를 생성하기 전에 사용할 수 있는 입력 장치를 먼저 확인하는 것이 좋습니다. 이를 위해 navigator.mediaDevices.enumerateDevices()를 호출하여 사용할 수 있는 미디어 장치 목록을 가져올 수 있습니다. 이 목록을 검토하여 잠재적인 입력 소스를 식별하거나 원하는 기준에 따라 필터링할 수 있습니다.
이 코드 스니펫에서는 enumerateDevices()를 사용하여 사용할 수 있는 입력 장치를 확인하고, 오디오 입력 장치를 찾은 다음, 해당 장치들을 <option> 요소로 만들어 입력 소스 선택기를 나타내는 <select> 요소에 추가합니다.
이와 같은 코드를 활용하면 사용자가 선택할 장치 범위를 제한할 수 있습니다.
MediaStream Recording API의 사용법에 대해 더 알아보려면, 오디오 클립 녹화를 위한 API 활용 방법을 보여주는 MediaStream Recording API 사용하기를 참고하세요. 두 번째 문서인 미디어 요소 녹화하기에서는 <audio> 또는 <video> 요소에서 재생 중인 미디어의 데이터를 실시간으로 추출해, 이를 녹화하거나 로컬 디스크에 저장하는 방법을 설명합니다.
미디어 데이터의 한 청크가 녹화 완료될 때마다, dataavailable 타입의 BlobEvent를 통해 Blob 형태로 사용자에게 전달됩니다.
MediaRecorderMediaStream Recording API를 구현하는 주요 인터페이스입니다.
MediaRecorderErrorEventMediaStream Recording API에서 발생한 오류를 나타내는 인터페이스입니다. 이 인터페이스의 error 속성은 발생한 오류를 명시하는 DOMException 객체입니다.
| MediaStream Recording |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025년 3월 23일 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.