Position actuelle: Accueil> Derniers articles> Comment utiliser PHP pour appeler l'appareil photo pour enregistrer le temps -lapse Video: un tutoriel complet

Comment utiliser PHP pour appeler l'appareil photo pour enregistrer le temps -lapse Video: un tutoriel complet

gitbox 2025-06-17

Comment utiliser PHP pour appeler l'appareil photo pour enregistrer le temps -lapse Video: un tutoriel complet

La caméra a été largement utilisée dans divers scénarios. En plus des émissions en direct et de la prise de photos, l'enregistrement des vidéos en accéléré est également un objectif très intéressant. Les vidéos en accéléré peuvent présenter un effet visuel accéléré dans le temps en jouant des photos consécutives à des fréquences d'images inférieures. Dans cet article, nous présenterons en détail comment utiliser PHP pour appeler l'appareil photo, enregistrer et générer des vidéos en accéléré.

1. Configurez la caméra

Tout d'abord, assurez-vous que la caméra est correctement connectée et configurée. Dans les systèmes Linux, nous pouvons vérifier si le périphérique de la caméra est disponible via l'outil de ligne de commande. Utilisez la commande suivante pour afficher les caméras disponibles sur le système:

    ls -l / dev / vidéo *
  

Si le nom de périphérique similaire à "/ dev / video0" s'affiche dans la sortie, cela signifie que l'appareil photo a été connecté avec succès. Si le périphérique n'est pas trouvé, vérifiez la connexion matérielle pour vous assurer que le pilote est installé correctement.

2. Installez les packages logiciels nécessaires

Avant d'appeler l'appareil photo avec PHP, nous devons installer certains packages logiciels nécessaires tels que FFMPEG et FSWEBCAM. Ces outils nous aideront à capturer des photos et à les synthétiser en vidéos. Vous pouvez utiliser la commande suivante pour installer:

    sudo apt-get install ffmpeg fswebcam
  

3. Appelez la caméra à l'aide de PHP

Ensuite, nous écrivons du code PHP pour appeler l'appareil photo et enregistrons la vidéo en accéléré. PHP effectuera des opérations de ligne de commande via la fonction shell_exec, prendra des photos et synthétisera les vidéos. Voici un exemple de code simple:

    <?php
    // Réglez l&#39;intervalle de temps et enregistrez le nombre total de cadres
    $interval = 1; // Tous les autres1Prenez une photo en quelques secondes
    $total_frames = 60; // Tir total60Une photo

    // Définissez le répertoire où vous enregistrez vos photos
    $photos_dir = '/path/to/photos'; // Remplacer par le chemin réel

    // Créer un répertoire pour enregistrer des photos
    if (!is_dir($photos_dir)) {
        mkdir($photos_dir, 0755, true);
    }

    // Prenez des photos dans une boucle
    for ($i = 1; $i <= $total_frames; $i++) {
        $photo_file = $photos_dir . '/photo' . $i . '.jpg'; // Nom de fichier d&#39;image
        $command = 'fswebcam -r 640x480 --no-banner ' . $photo_file; // Appelez l&#39;appareil photo pour prendre des photos
        shell_exec($command);
        sleep($interval); // Attendez un intervalle de temps spécifié
    }

    // Synthétiser les photos dans le temps-lapsevidéo
    $video_file = '/path/to/video.mp4'; // Remplacer par le chemin réel
    $command = 'ffmpeg -framerate 24 -pattern_type glob -i "' . $photos_dir . '/*.jpg" -c:v libx264 -pix_fmt yuv420p ' . $video_file;
    shell_exec($command);

    // Supprimer les photos prises
    array_map('unlink', glob($photos_dir . '/*.jpg'));
    rmdir($photos_dir);
    ?>
  

Dans le code ci-dessus, l'intervalle de tir et le nombre total de trames sont d'abord définis. Ensuite, utilisez la commande fswebcam pour prendre la photo et enregistrez-la dans le dossier spécifié. Une fois la prise de vue terminée, utilisez la commande ffmpeg pour synthétiser la photo dans une vidéo en accéléré et enregistrer à l'emplacement spécifié. Enfin, nous avons nettoyé les photos générées temporaires.

4. Exécutez le code

Enregistrez le code ci-dessus en tant que fichier PHP et remplacez le chemin d'accès au chemin réel. Après cela, exécutez le fichier PHP via le navigateur ou la ligne de commande pour commencer à tirer une vidéo en accéléré.

Résumer

Appeler la caméra pour enregistrer des vidéos en accéléré via PHP est un moyen très simple et efficace d'enregistrer facilement une série de scènes à changement lentement telles que les couchers de soleil, les nuages ​​ou la croissance des plantes. J'espère que ce tutoriel peut vous aider à implémenter cette fonction. Si vous rencontrez des problèmes, vous pouvez toujours vérifier les informations pertinentes ou demander de l'aide dans le forum technique.