Maison  >  Article  >  développement back-end  >  Comment utiliser PHP et FFMPEG pour traiter et transcoder l'audio et la vidéo

Comment utiliser PHP et FFMPEG pour traiter et transcoder l'audio et la vidéo

WBOY
WBOYoriginal
2023-06-25 16:46:401681parcourir

Avec le développement rapide des médias audio et vidéo, nous sommes de plus en plus exposés à des fichiers audio et vidéo sous divers formats dans notre vie et notre travail. Cependant, différents appareils, différentes occasions et différents besoins peuvent nécessiter des fichiers audio et vidéo dans différents formats de codage. Par conséquent, le transcodage des fichiers audio et vidéo est devenu une exigence essentielle. Dans cet article, nous présenterons comment utiliser PHP et FFMPEG (un codec audio et vidéo open source) pour traiter et transcoder l'audio et la vidéo.

  1. Installer FFMPEG

Tout d'abord, nous devons installer FFMPEG sur le serveur. Le processus d'installation est relativement fastidieux, mais les principales étapes sont les suivantes :

1.1 Installer les dépendances

Tout d'abord, nous devons installer les bibliothèques dont dépend FFMPEG. Sur les systèmes Ubuntu, vous pouvez utiliser la commande suivante pour installer :

sudo apt-get update
sudo apt-get install autoconf automake build-essential libass-dev libfreetype6-dev libsdl2-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev

1.2 Télécharger FFMPEG

Ensuite, nous devons télécharger le code source FFMPEG, qui se trouve sur le site officiel (https://www.ffmpeg.org) pour télécharger la dernière version, ou utilisez la commande suivante pour télécharger :

wget https://www.ffmpeg.org/releases/ffmpeg-4.4.tar.gz
tar xvf ffmpeg-4.4.tar.gz

1.3 Compilez et installez FFMPEG

Suivant , nous devons compiler et installer FFMPEG, vous pouvez utiliser la commande suivante :# 🎜🎜#

cd ffmpeg-4.4
./configure --enable-shared --disable-static --enable-gpl --enable-libfreetype --enable-libvorbis --enable-libx264 --enable-libx265 --enable-nonfree
make -j8
sudo make install

Une fois la compilation et l'installation terminées, nous pouvons utiliser FFMPEG sur le serveur.

    Utilisez PHP pour appeler FFMPEG pour le traitement audio et vidéo
Après avoir compris le processus d'installation de FFMPEG, nous pouvons réfléchir à la façon d'utiliser PHP pour appelez FFMPEG pour le traitement audio et vidéo.

2.1 Utilisez la fonction exec pour appeler FFMPEG

PHP fournit la fonction exec, qui peut être utilisée pour exécuter des commandes sur la ligne de commande du système. Par conséquent, vous pouvez utiliser la fonction exec de PHP pour appeler FFMPEG pour le traitement audio et vidéo. Par exemple, le code suivant peut convertir un fichier vidéo au format mp4 au format avi :

$cmd = "ffmpeg -i input.mp4 output.avi";
exec($cmd);

2.2 Utilisez l'extension PHP pour encapsuler FFMPEG

Bien que l'utilisation de la fonction exec puisse facilement appeler FFMPEG, Cependant, il existe des risques de sécurité évidents car n'importe quelle commande peut être exécutée et son utilisation n'est donc pas recommandée. À cette fin, nous pouvons utiliser des extensions PHP pour encapsuler l'API FFMPEG afin d'appeler FFMPEG plus facilement. En PHP, il existe deux extensions principales qui peuvent être utilisées pour encapsuler FFMPEG : l'extension FFMPEG (http://ffmpeg-php.sourceforge.net) et PHP-FFMpeg (https://github.com/PHP-FFMpeg/PHP- FFMpeg ).

2.2.1 Utilisation de l'extension FFMPEG

L'extension FFMPEG peut être installée via l'outil PECL et peut être installée à l'aide de la commande suivante :

sudo pecl install ffmpeg

After l'installation est terminée, vous devez ajouter l'extension au fichier php.ini Vous pouvez ajouter les lignes suivantes au fichier :

extension=ffmpeg.so

En utilisant l'extension FFMPEG, vous pouvez facilement appeler l'API FFMPEG pour traitement audio et vidéo. Par exemple, le code suivant peut convertir un fichier vidéo au format mp4 au format avi :

$movie = new ffmpeg_movie("input.mp4");
$cmd = "ffmpeg -i input.mp4 output.avi";
exec($cmd);

2.2.2 Utilisation de l'extension PHP-FFMpeg

PHP-FFMpeg est un FFMPEG- L'extension PHP basée fournit une API unifiée pour le traitement audio et vidéo. Vous pouvez utiliser la commande suivante pour installer :

composer require php-ffmpeg/php-ffmpeg

Une fois l'installation terminée, vous pouvez utiliser le code suivant pour le traitement audio et vidéo :

$ffmpeg = FFMpegFFMpeg::create();
$video = $ffmpeg->open('video.mp4');
$format = new FFMpegFormatVideoWMV();
$format->setAudioCodec("wmav2")
       ->setVideoCodec("wmv2");
$video->save($format, 'video.wmv');

    Conclusion
  1. #🎜🎜 #
  2. Cet article explique comment utiliser PHP et FFMPEG pour traiter et transcoder l'audio et la vidéo. Dans le développement actuel, il est nécessaire de choisir la méthode appropriée pour le traitement et le transcodage audio et vidéo en fonction des besoins spécifiques.

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