PHP를 사용하여 카메라를 호출하여 비디오를 녹화하기 전에 서버 환경에 PHP가 설치되어 있고 해당 권한이 있는지 확인해야합니다. 둘째, 카메라 장치가 제대로 작동하고 필요한 드라이버가 설치되어야합니다. 동시에 브라우저는 WebRTC 기술을 지원해야합니다.이 기술은 웹 페이지에서 카메라로의 통화를 구현하는 데 중요합니다.
HTML5는 카메라 및 마이크 장치를 호출하는 getUsermedia 방법을 제공합니다. 이를 통해 사용자의 미디어 스트림 (MediaStream)을 가져 와서 비디오 녹화를 수행 할 수 있습니다.
Code example:
navigator.mediaDevices.getUserMedia({ video: true })
.then(function(stream) {
var videoElement = document.getElementById('video');
videoElement.srcObject = stream;
videoElement.play();
})
.catch(function(error) {
console.log('getUserMedia error: ', error);
});
위의 코드에서는 Navigator.mediadevices.getUsermedia 메소드를 사용하여 사용자의 미디어 스트림을 가져 와서 비디오 태그의 srcobject 속성에 할당합니다. 그런 다음 Video.Play () 메소드를 사용하여 비디오 스트림을 재생하여 사용자가 웹 페이지에서 카메라에서 캡처 한 비디오를 볼 수 있도록하십시오.
미디어 스트림이 얻어지면 MediareCorder 객체를 사용하여 비디오 녹화를 수행 할 수 있습니다. MediareCorder는 WebRTC의 일부로 미디어 스트림을 다시 재생하거나 업로드 할 수있는 비디오 파일로 변환 할 수 있습니다.
Code example:
var mediaRecorder;
var recordedBlobs = [];
function startRecording() {
var options = { mimeType: 'video/webm' };
recordedBlobs = [];
try {
mediaRecorder = new MediaRecorder(window.stream, options);
} catch (e) {
console.error('MediaRecorder init error:', e);
return;
}
mediaRecorder.ondataavailable = handleDataAvailable;
mediaRecorder.start();
}
function stopRecording() {
mediaRecorder.stop();
}
function handleDataAvailable(event) {
if (event.data && event.data.size > 0) {
recordedBlobs.push(event.data);
}
}
위의 코드에서 먼저 MediareCorder 객체를 생성하고 OnDataAvailable 이벤트를 듣습니다. Startrecording 메소드를 통해 녹음을 시작하고 메소드를 중지하여 비디오 녹화 중지를 중지하십시오. handledataavailable 메소드는 기록 된 데이터를 처리 할 책임이 있습니다.
비디오 녹화가 완료되면 녹음 된 데이터를 파일 형식으로 저장하고 파일을 저장하고 PHP를 통해 추가 처리 할 수 있습니다.
Code example:
$filename = 'recorded_video.webm';
if (isset($_POST['video']) && !empty($_POST['video'])) {
$file = fopen($filename, 'w');
fwrite($file, base64_decode($_POST['video']));
fclose($file);
// 비디오 파일을 추가로 처리하거나 서버에 업로드 할 수 있습니다.
}
이 PHP 코드에서는 $ _post [ 'video']를 통해 프론트 엔드로 전달되는 기록 된 비디오 데이터를 얻고 Base64_Decode를 사용하여 디코딩 한 후 비디오 데이터를 Recorded_video.webm이라는 파일로 저장합니다. 필요한 경우 주석에 추가 파일 처리 또는 코드를 업로드 할 수 있습니다.
위의 단계를 통해 PHP를 사용하여 카메라를 호출하여 고화질 비디오를 녹화하고 WebRTC 및 MediareCorder API를 결합하여 비디오 스트림을 기록하고 저장할 수 있습니다. 이러한 기능은 웹 응용 프로그램의 상호 작용을 향상시킬뿐만 아니라 사용자 경험을 크게 향상시킬 수 있습니다. 비디오 녹화와 관련된 응용 프로그램을 개발하는 경우이 기사에서 귀중한 지침을 제공 할 수 있어야합니다.