Maison > Article > développement back-end > PHP FFmpeg : analyser et convertir le format audio SILK
FFmpeg est un framework multimédia open source capable d'analyser et de convertir presque tous les formats audio et vidéo courants. Par conséquent, c'est également l'un des outils préférés pour analyser et convertir de l'audio ou de la vidéo à l'aide de PHP. Cet article explique comment utiliser PHP et l'extension FFmpeg pour analyser et convertir le format audio SILK.
Qu'est-ce que la SOIE ?
SILK est un format de codec audio (codec) spécial utilisé par Skype pour les appels VoIP. Ce codec est largement utilisé dans Skype et est également utilisé par plusieurs autres applications de messagerie. Étant donné que SILK n'est pas pris en charge par défaut sous Linux ou Unix, nous devons utiliser FFmpeg pour le gérer.
Installez FFmpeg
Avant de commencer, assurez-vous d'avoir installé FFmpeg et les extensions associées. Sinon, veuillez l'installer à l'aide de la commande suivante sur votre système Linux ou Unix :
sudo apt-get update sudo apt-get install ffmpeg php-ffmpeg
Parse SILK
Pour analyser les fichiers SILK dans d'autres formats audio courants, vous devez d'abord utiliser FFmpeg pour décoder les fichiers SILK. Avant d'exécuter des commandes FFmpeg via PHP, veuillez lire attentivement la documentation FFmpeg pour vous assurer que vous êtes familier avec son utilisation.
Lorsque vous utilisez l'extension FFmpeg en PHP, vous pouvez utiliser la méthode open()
de la classe FFMpegFFMpeg
pour ouvrir le fichier audio. Cette méthode renvoie un objet FFMpegMediaAudio
, qui peut accéder à diverses propriétés et informations de l'audio et effectuer un traitement arbitraire. FFMpegFFMpeg
类的 open()
方法打开音频文件。该方法返回一个 FFMpegMediaAudio
对象,该对象可以访问音频的各种属性和信息,并可以进行任意处理。
以下是通过 PHP 解析 SILK 文件的示例代码:
require_once('vendor/autoload.php'); use FFMpeg\FFMpeg; $ffmpeg = FFMpeg::create(); $audio = $ffmpeg->open('input.silk'); $format = $audio->getFormat(); $codec = $format->getAudioCodec(); // Do something with the audio file...
在代码示例中,open()
方法用于打开 SILK 文件。$format->getAudioCodec()
方法用于获取音频编解码器的名称,通常为“silk”。
转换 SILK
转换 SILK 文件时,您需要先将其解码为 PCM 格式,然后再通过 FFmpeg 对 PCM 进行编码。使用 FFmpeg 中命令 ffmpeg -f s16le -ar 24000 -ac 1 -i input.pcm -codec:a libmp3lame -qscale:a 4 output.mp3
将内容从 PCM 转换为 MP3(或其他格式)。
以下是使用 PHP 将 SILK 文件转换为 MP3 的示例代码:
require_once('vendor/autoload.php'); use FFMpeg\FFMpeg; $ffmpeg = FFMpeg::create(); $audio = $ffmpeg->open('input.silk'); $format = $audio->getFormat(); $codec = $format->getAudioCodec(); if ($codec === 'silk') { // Decode SILK to PCM $temp_file = tempnam(sys_get_temp_dir(), 'php-silk'); exec("ffmpeg -i input.silk -acodec pcm_s16le -ar 24000 -ac 1 -f s16le $temp_file"); $audio = $ffmpeg->open($temp_file); // Encode PCM to MP3 $format = new \FFMpeg\Format\Audio\Mp3(); $format->setAudioCodec("libmp3lame"); $format->setAudioQuality(4); $audio->save($format, "output.mp3"); unlink($temp_file); }
以上代码首先检查编解码器是否为 SILK,如果是,则解码为 PCM 格式。然后,使用 FFMpegFormatAudioMp3()
rrreee
Dans l'exemple de code, la méthodeopen()
est utilisée pour ouvrir le fichier SILK. La méthode $format->getAudioCodec()
est utilisée pour obtenir le nom du codec audio, généralement "silk". Convertir SILK🎜🎜Lors de la conversion d'un fichier SILK, vous devez d'abord le décoder au format PCM, puis encoder le PCM via FFmpeg. Utilisez la commande dans FFmpeg ffmpeg -f s16le -ar 24000 -ac 1 -i input.pcm -codec:a libmp3lame -qscale:a 4 output.mp3
pour convertir le contenu de PCM en MP3 (ou autres formats). 🎜🎜Voici un exemple de code pour convertir un fichier SILK en MP3 en utilisant PHP : 🎜rrreee🎜Le code ci-dessus vérifie d'abord si le codec est SILK et si c'est le cas, le décode au format PCM. Ensuite, utilisez FFMpegFormatAudioMp3()
pour créer un objet au format MP3 et enregistrez-le sous forme de fichier. 🎜🎜Résumé🎜🎜L'extension FFmpeg est un outil puissant pour analyser et convertir de l'audio ou de la vidéo en PHP. Dans cet article, nous montrons comment analyser et convertir le format audio SILK à l'aide de PHP et de l'extension FFmpeg. Cela aidera les développeurs à convertir facilement les fichiers SILK vers d'autres formats audio courants en fonction de leurs besoins. 🎜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!