現在の位置: ホーム> 最新記事一覧> PHPを使用してカメラに電話して高解像度ビデオを録画してWebユーザーエクスペリエンスを向上させる方法

PHPを使用してカメラに電話して高解像度ビデオを録画してWebユーザーエクスペリエンスを向上させる方法

M66 2025-06-16

1。環境準備

PHPを使用してカメラを呼び出してビデオを録画する前に、最初にサーバー環境にPHPがインストールされ、対応するアクセス許可があることを確認する必要があります。第二に、カメラデバイスは正しく動作し、必要なドライバーがインストールされます。同時に、ブラウザはWeBRTCテクノロジーをサポートする必要があります。これは、Webページでカメラへの呼び出しを実装するために重要です。

2。getUsermediaを使用してカメラを呼び出します

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ページでカメラでキャプチャされたビデオを表示できるようにします。

3. MediareCorderを使用してビデオを録画します

メディアストリームが取得されたら、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メソッドは、記録されたデータの処理を担当します。

4.記録されたビデオファイルを保存します

ビデオ録画が完了したら、録画されたデータをファイル形式で保存してファイルを保存し、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アプリケーションのインタラクティブ性を改善するだけでなく、ユーザーエクスペリエンスを大幅に改善できます。ビデオ録画を含むアプリケーションを開発している場合、この記事は貴重なガイダンスを提供できるはずです。