Maison  >  Article  >  développement back-end  >  Comment convertir des fichiers vidéo au format MP4 en utilisant PHP

Comment convertir des fichiers vidéo au format MP4 en utilisant PHP

PHPz
PHPzoriginal
2023-04-10 09:43:3411269parcourir

PHP est un langage de script couramment utilisé pour le développement de sites Web et la création de pages Web dynamiques. Cependant, Php peut également être utilisé pour la conversion vidéo. Dans cet article, nous apprendrons comment convertir des fichiers vidéo au format MP4 à l'aide de PHP.

Tout d’abord, nous devons comprendre quelques concepts. Un fichier vidéo est composé de plusieurs images, chaque image représente un moment d'échantillonnage vidéo. Ces images sont compressées dans une certaine séquence et stockées dans un fichier dans un format spécial. La conversion de fichiers vidéo implique principalement le processus de décodage de ces images, de leur édition, puis de leur réencodage dans un nouveau format.

Pour réaliser la conversion vidéo, nous devons utiliser deux bibliothèques PHP : FFmpeg et FFprobe. FFmpeg est une bibliothèque open source pour le traitement audio et vidéo. Elle fournit de nombreuses fonctions pour décoder, éditer et encoder des vidéos. FFprobe est un outil utilisé pour détecter les fichiers vidéo et extraire des informations.

Pour utiliser ces deux bibliothèques, vous devez les installer sur le serveur. Cela nécessite généralement d'utiliser l'interface de ligne de commande du système Linux. Vous pouvez les installer via la commande suivante :

sudo apt-get install ffmpeg
sudo apt-get install ffprobe

Une fois l'installation terminée, nous pouvons utiliser PHP pour appeler ces deux bibliothèques afin d'effectuer des opérations de conversion vidéo. Voici un simple script PHP pour convertir des fichiers vidéo au format MP4 :

<?php

$ffmpeg_command = &#39;/usr/bin/ffmpeg&#39;;
$ffprobe_command = &#39;/usr/bin/ffprobe&#39;;

$input_file = &#39;input_video.mp4&#39;;
$output_file = &#39;output_video.mp4&#39;;

// 获取视频信息
$cmd = "$ffprobe_command -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 $input_file";
exec($cmd, $output, $retval);
$duration = floor($output[0]);

// 转换视频文件
$cmd = "$ffmpeg_command -i $input_file -vcodec h264 -acodec mp3 -shortest -preset fast -strict experimental -t $duration -f mp4 -y $output_file";
exec($cmd, $output, $retval);

?>

Voyons comment fonctionne ce script. Tout d'abord, nous avons défini deux variables $ffmpeg_command et $ffprobe_command pour spécifier les emplacements de FFmpeg et FFprobe. Ensuite, nous spécifions les noms des fichiers d'entrée et de sortie, ainsi que le format du fichier de sortie (MP4).

Dans l'étape suivante, nous utilisons FFprobe pour obtenir la durée du fichier vidéo d'entrée. Nous utilisons une commande système pour exécuter FFprobe, exécutons la commande via la fonction -exec() et capturons la sortie. La valeur de durée obtenue à partir de FFmpeg est stockée dans la variable $duration.

Enfin, nous utilisons FFmpeg pour la conversion vidéo proprement dite. Nous avons spécifié les noms des fichiers d'entrée et de sortie et utilisé l'encodeur -h264 et l'encodeur audio -mp3. Nous définissons la longueur sur la durée de la vidéo et utilisons le préréglage -fast pour accélérer la conversion. Nous avons également spécifié l'option expérimentale -strict pour garantir que les derniers codecs sont utilisés lors de la conversion.

En utilisant FFmpeg et FFprobe comme ceci, nous pouvons convertir des fichiers vidéo dans presque tous les formats et effectuer diverses opérations d'édition. Cela fait de PHP une plate-forme très puissante pour les applications d’édition et de traitement audio et vidéo.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn