MediaStream API를 사용하여 웹에서 사진 및 비디오 캡처 기능 구현하기
개요
웹 개발에서 사진이나 비디오 캡처 기능을 구현하기 위해서는 MediaStream API
를 사용할 수 있습니다. MediaStream API
는 미디어 스트림을 제어하고 접근할 수 있는 기능을 제공합니다. 이를 활용하여 웹에서 사진 및 비디오를 캡처하는 기능을 구현할 수 있습니다.
코드 예제
다음은 getUserMedia
함수를 사용하여 웹캠에 접근하고, 사진을 캡처하는 코드의 예제입니다.
navigator.mediaDevices.getUserMedia({ video: true })
.then((stream) => {
const video = document.createElement('video');
video.srcObject = stream;
video.play();
const canvas = document.createElement('canvas');
canvas.width = video.videoWidth;
canvas.height = video.videoHeight;
setInterval(() => {
// 스트림에서 현재 프레임을 캡처하여 캔버스에 그립니다.
canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);
// 캔버스에서 이미지 데이터를 가져옵니다.
const imageData = canvas.toDataURL('image/jpeg');
// 이미지 데이터를 사용하여 원하는 동작을 수행합니다.
// 예: 이미지를 표시하거나 서버에 전송합니다.
console.log('Captured image data:', imageData);
}, 1000);
})
.catch((error) => {
console.error('Error accessing webcam:', error);
});
위의 코드는 웹캠에 접근하고, 1초마다 현재 프레임을 캡처하여 이미지 데이터로 가져오는 예제입니다. 사용자의 웹캠이 정상적으로 작동하면, 이미지 데이터가 콘솔에 출력됩니다.
참고 자료
#웹캠 #미디어스트림