Position actuelle: Accueil> Derniers articles> Comment utiliser PHP pour appeler la caméra pour enregistrer des vidéos haute définition pour améliorer l'expérience utilisateur Web

Comment utiliser PHP pour appeler la caméra pour enregistrer des vidéos haute définition pour améliorer l'expérience utilisateur Web

M66 2025-06-16

1. Préparation environnementale

Avant d'utiliser PHP pour appeler l'appareil photo pour enregistrer la vidéo, vous devez d'abord vous assurer que l'environnement du serveur a installé PHP et a les autorisations correspondantes. Deuxièmement, l'appareil photo doit fonctionner correctement et les pilotes requis sont installés. Dans le même temps, les navigateurs doivent prendre en charge la technologie WebBrTC, ce qui est crucial pour implémenter l'appel à l'appareil photo dans les pages Web.

2. Utilisez GetUserMedia pour appeler la caméra

HTML5 fournit la méthode GetUserMedia pour appeler l'appareil photo et les appareils microphones. Cela nous permet d'obtenir le flux multimédia de l'utilisateur (MediaStream) et donc d'effectuer l'enregistrement vidéo.

Exemple de code:

 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);
});

Dans le code ci-dessus, nous utilisons la méthode Navigator.Mediadevices.getUserMedia pour obtenir le flux multimédia de l'utilisateur et l'attribuer à la propriété SRCObject de la balise vidéo. Ensuite, utilisez la méthode vidéo.play () pour lire le flux vidéo afin que l'utilisateur puisse voir la vidéo capturée par l'appareil photo sur la page Web.

3. Utilisez MediaRecorder pour enregistrer des vidéos

Une fois le flux multimédia obtenu, nous pouvons utiliser l'objet médiaérien pour effectuer un enregistrement vidéo. MediaRecorder fait partie de WebBrTC, qui nous permet de convertir des flux de médias en fichiers vidéo qui peuvent être lus ou téléchargés.

Exemple de code:

 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);
    }
}

Dans le code ci-dessus, nous créons d'abord un objet de médiaRecorder et écoutons son événement ondataavailable. Commencez à enregistrer via la méthode StarTrecording et la méthode StopRecordage Arrêtez l'enregistrement de la vidéo. La méthode GreatheDataAvailable est responsable du traitement des données enregistrées.

4. Enregistrer les fichiers vidéo enregistrés

Lorsque l'enregistrement vidéo est terminé, nous pouvons enregistrer les données enregistrées au format de fichier et stocker le fichier et les traiter davantage via PHP.

Exemple de code:

 $filename = 'recorded_video.webm';

if (isset($_POST['video']) && !empty($_POST['video'])) {
    $file = fopen($filename, 'w');
    fwrite($file, base64_decode($_POST['video']));
    fclose($file);
    // Les fichiers vidéo peuvent être traités ou téléchargés sur le serveur
}

Dans ce code PHP, nous obtenons les données vidéo enregistrées transmises par le frontal via $ _post ['vidéo'], et après le décodage à l'aide de Base64_decode, enregistrez les données vidéo sous forme de fichier nommé enregistré_video.webm. Si nécessaire, vous pouvez ajouter un traitement de fichiers supplémentaire ou télécharger du code aux commentaires.

Résumer

Grâce aux étapes ci-dessus, nous pouvons utiliser PHP pour appeler l'appareil photo pour enregistrer des vidéos haute définition, et combiner l'API WebBrTC et MediaRecorder pour enregistrer et enregistrer des flux vidéo. De telles fonctions peuvent non seulement améliorer l'interactivité des applications Web, mais aussi améliorer considérablement l'expérience utilisateur. Si vous développez une application impliquant un enregistrement vidéo, cet article devrait être en mesure de vous fournir des conseils précieux.