Avec le développement rapide d'Internet, la vidéo est devenue le principal moyen pour les gens d'obtenir des informations et des divertissements. Cependant, les fichiers vidéo sont généralement importants, et afin d'augmenter la vitesse de transfert de fichiers et de réduire l'espace de stockage, les sites Web doivent généralement transcoder et compresser la vidéo. Cet article présentera comment utiliser le langage PHP combiné avec l'outil FFMPEG pour implémenter les fonctions de transcodage vidéo et de compression.
$ sourceFile = 'Path de fichier vidéo d'origine'; $ cibleFile = 'Transcoding Video Fichier Path'; $ command = "ffmpeg -i $ sourcefile -vcodec libx264 -acodec aac -preset lent -crf 22 $ ciblefile"; exec ($ Command);
Dans le code ci-dessus:
$ SourceFile est le chemin vers la vidéo originale.
$ TargetFile est le chemin de fichier vidéo de transcodage.
-vcodec libx264 spécifie l'utilisation de l'encodeur x264 pour l'encodage vidéo,
-ACODEC AAC Spécifie l'utilisation de l'encodeur AAC pour l'encodage audio.
-Preset utilise lent lent à la vitesse de transcodage lente pour assurer une meilleure qualité vidéo.
-Crf 22 est un paramètre de compression pour la qualité vidéo. Plus la valeur est petite, plus la qualité vidéo est petite.
En ajustant ces paramètres, vous pouvez transcoder au besoin.
$ sourceFile = 'Path de fichier vidéo d'origine'; $ TargetFile = 'Path de fichier vidéo compressé'; $ command = "ffmpeg -i $ sourcefile -vcodec libx264 -acodec aac -s 640x480 -b: v 500k $ ciblefile"; exec ($ Command);
Dans ce code:
$ SourceFile est le chemin vers la vidéo originale.
$ TargetFile est le chemin du fichier vidéo compressé.
-S 640x480 définit la résolution de la vidéo à 640x480,
-B: V 500K Définissez le débit bit de vidéo à 500 Kbps.
En ajustant ces paramètres, vous pouvez contrôler de manière flexible le niveau de compression et la qualité de votre vidéo.
$ sourceFile = 'Path de fichier vidéo d'origine'; $ TargetFile = 'Transcoped / Comprestic Video Fichier Path'; $ command = "ffmpeg -i $ sourcefile -vcodec libx264 -acodec aac -preset lent -crf 22 $ ciblefile"; exec ($ Command, $ output, $ returnvar); if ($ returnvar === 0) { écho «transcodage vidéo / compression avec succès»; } autre { Echo 'Échec de la transcodage vidéo / compression, veuillez vérifier le message d'erreur:'. Improde ("\ n", $ output); }
Dans le code ci-dessus, le troisième paramètre de la fonction EXEC () $ returnvar est utilisé pour renvoyer l'état d'exécution de la commande. Si la valeur de retour est 0, cela signifie que l'exécution de la commande est réussie; Si ce n'est pas 0, cela signifie que l'exécution est en panne. Vous pouvez aider à localiser le problème en diffusant des messages d'erreur dans $ la sortie .