Position actuelle: Accueil> Derniers articles> PHP Video Streaming Media Processing Methy Analysis: Comment traiter les flux vidéo via PHP?

PHP Video Streaming Media Processing Methy Analysis: Comment traiter les flux vidéo via PHP?

gitbox 2025-06-13

PHP Video Streaming Media Processing Methy Analysis: Comment traiter les flux vidéo via PHP?

Avec le développement rapide d'Internet, le streaming vidéo est devenu le principal moyen pour les utilisateurs de regarder et de partager des vidéos. Pour les développeurs développant des applications Web, PHP fournit des méthodes de traitement des médias de streaming vidéo très pratiques, qui peuvent facilement implémenter des fonctions de sortie, de transcodage et de streaming vidéo. Cet article présentera plusieurs méthodes de streaming vidéo PHP courantes en détail et joignera des exemples de code pour aider les développeurs à mieux maîtriser ces technologies.

Ouvrez le fichier vidéo local et sort le flux vidéo

PHP peut le sortir au navigateur en lisant des fichiers vidéo locaux et en les convertissant en flux vidéo. Voici un exemple simple de code:

        $ filename = 'path / to / vidéo.mp4';
        En-tête («Type de contenu: vidéo / MP4»);
        En-tête ('Content-Length:'. FileSize ($ filename));
        ReadFile ($ nom de fichier);
    

Dans le code ci-dessus, nous lisons directement le fichier vidéo et le faisons vers le navigateur en définissant le type MIME sur vidéo / MP4 et en utilisant la fonction readFile () .

Streaming vidéo à l'aide de ffmpeg

FFMPEG est un puissant outil de traitement multimédia open source qui prend en charge le transcodage vidéo, le recadrage, la fusion et d'autres opérations. Grâce à la fonction EXEC () dans PHP, FFMPEG peut être appelé directement pour le traitement de flux vidéo. Voici un exemple de transcodage vidéo:

        $ inputfile = 'path / to / input.mp4';
        $ outputFile = 'path / to / output.mp4';
        $ ffmpegcommand = "ffmpeg -i {$ inputfile} -c: v libx264 -c: a aac -strict expérimental {$ outputfile}";
        exec ($ ffmpegCommand);
    

Dans cet exemple, la commande FFMPEG est exécutée à l'aide de Exec () pour transcoder le fichier vidéo d'entrée dans le format de codage vidéo H.264 ( LiBX264 ) et le format de codage audio AAC.

Utiliser des fichiers vidéo en streaming

Si vous souhaitez diffuser une vidéo, vous pouvez le transférer en morceaux via PHP. De cette façon, le navigateur peut progressivement charger et lire des vidéos sans attendre que le fichier entier se charge. Voici un exemple de mise en œuvre du streaming vidéo:

        $ filename = 'path / to / vidéo.mp4';
        En-tête («Accept-Ranges: octets»);
        $ start = 0;
        $ end = fileSize ($ filename) - 1;
        En-tête ("Content-Range: Bytes {$ start} - {$ end} /". FileSize ($ filename));
        En-tête ("Content-Length:". FileSize ($ filename));
        $ fp = fopen ($ nom de fichier, «RB»);
        if ($ fp) {
            fseek ($ fp, $ start, Seek_set);
            while (! feof ($ fp) && ($ p = ftell ($ fp)) <= $ end) {
                $ length = ($ p + 1024> $ fin)? $ end - $ p + 1: 1024;
                Echo Fread ($ fp, $ la longueur);
                ob_flush ();
                flush();
            }
        }
        fclose ($ fp);
    

Dans ce code, nous implémenons le transfert de fichiers en définissant les en-têtes d'accept-plage et de gamme de contenu . Utilisez fseek () pour contrôler la position du pointeur de fichier et lire les données vidéo dans la plage spécifiée via Fread () .

Résumer

Cet article présente plusieurs méthodes de traitement des médias de streaming vidéo courantes en PHP, y compris la sortie directe des flux vidéo, en utilisant FFMPEG pour le transcodage vidéo et en utilisant PHP pour réaliser le streaming vidéo. Grâce à ces méthodes, les développeurs peuvent traiter les données vidéo de manière plus flexible et fournir une expérience de lecture vidéo plus riche.