PHPを使用してカメラを呼び出してビデオを録画する前に、最初にサーバー環境にPHPがインストールされ、対応するアクセス許可があることを確認する必要があります。第二に、カメラデバイスは正しく動作し、必要なドライバーがインストールされます。同時に、ブラウザはWeBRTCテクノロジーをサポートする必要があります。これは、Webページでカメラへの呼び出しを実装するために重要です。
HTML5は、カメラとマイクのデバイスを呼び出すためのgetUsermediaメソッドを提供します。これにより、ユーザーのメディアストリーム(MediaStream)を取得してビデオ録画を実行できます。
コード例:
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()メソッドを使用してビデオストリームを再生して、ユーザーがWebページでカメラでキャプチャされたビデオを表示できるようにします。
メディアストリームが取得されたら、MediareCorderオブジェクトを使用してビデオ録画を実行できます。 MediareCorderはWebrtcの一部であり、メディアストリームを再生またはアップロードできるビデオファイルに変換できます。
コード例:
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でさらに処理できます。
コード例:
$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を組み合わせてビデオストリームを記録および保存できます。このような関数は、Webアプリケーションのインタラクティブ性を改善するだけでなく、ユーザーエクスペリエンスを大幅に改善できます。ビデオ録画を含むアプリケーションを開発している場合、この記事は貴重なガイダンスを提供できるはずです。