Maison développement back-end Problème PHP Comment convertir amr en mp3 en php

Comment convertir amr en mp3 en php

Feb 09, 2023 am 09:36 AM
php mp3 amr

Comment convertir amr en mp3 en php : 1. Installez ffmpeg sur le serveur ; 2. Utilisez la commande "ffmpeg -i" pour convertir amr au format mp3. 3. Utilisez la balise audio HTML5 sur la page Web pour lire le format ; fichier mp3.

Comment convertir amr en mp3 en php

L'environnement d'exploitation de ce tutoriel : système Windows 10, PHP version 8.1, ordinateur DELL G3

Comment convertir amr en mp3 avec php ?

PHP Convertir les fichiers audio amr au format mp3

  • Parlons de l'idée générale

1 Installez ffmpeg sur le serveur

2 Utilisez la commande ffmpeg -i pour convertir amr au format mp3. (cela arrivera plus tard) Écrivez-le en code PHP et utilisez la fonction exec pour l'exécuter)

3. Utilisez la balise audio HTML5 pour lire les fichiers mp3 sur la page Web

Voici les détails de l'opération :

1. . Installez ffmpeg sur le serveur, en prenant cenos comme exemple

Référence ici : http://my.oschina.NET/ethan09/blog/372435

Il est à noter que dans la méthode suivante, l'installation d'amrnb est effectuée. et amrwb dans le lien make demandera une URL de 3gp. Généralement, elle ne peut pas être demandée. Vous pouvez utiliser crtl+c pour annuler son processus, et le format peut être converti sans ces deux-là. amr en mp3 dans un environnement Linux, utilisez le premier directement dans Windows. La méthode exe d'encapsulation des packages jar tiers est suffisante, mais elle ne prend pas en charge Linux. Après une exploration en ligne, il a été dit que cela pouvait être réalisé en utilisant ffmpeg. et le plug-in amr Je l'ai essayé selon le tutoriel :

1. Installez d'abord l'environnement de compilation du système

yum install -y automake autoconf libtool gcc gcc-c++  #CentOS

2. Compilez le package de code source requis
#yasm:汇编器,新版本的ffmpeg增加了汇编代码

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

tar -xzvf yasm-1.3.0.tar.gz

cd yasm-1.3.0

./configure

make

make install



#lame:Mp3音频解码

wget http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz

tar -xzvf lame-3.99.5.tar.gz

cd lame-3.99.5

./configure

make

make install



#amr支持

wget http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz

tar -xzvf opencore-amr-0.1.3.tar.gz

cd opencore-amr-0.1.3

./configure

make

make install



#amrnb支持

wget http://www.penguin.cz/~utx/ftp/amr/amrnb-11.0.0.0.tar.bz2

tar -xjvf amrnb-11.0.0.0.tar.bz2

cd amrnb-11.0.0.0

./configure

make

make install



#amrwb支持

wget http://www.penguin.cz/~utx/ftp/amr/amrwb-11.0.0.0.tar.bz2

tar -xjvf amrwb-11.0.0.0.tar.bz2

cd amrwb-11.0.0.0

./configure

make

make install



#ffmpeg

wget http://ffmpeg.org/releases/ffmpeg-2.5.3.tar.bz2

tar -xjvf ffmpeg-2.5.3.tar.bz2

cd ffmpeg-2.5.3

./configure --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-shared

make

make install



#加载配置

#最后写入config后,终端运行ffmpeg命令,出现success和已安装的扩展,则运行成功。

ldconfig
3.

Annexe :

Annexe 1. Le répertoire d'installation par défaut de ffmpeg est "/usr/local/lib", et le répertoire du logiciel sous certains systèmes 64 bits est "/usr/lib64", des erreurs similaires telles que "ffmpeg: error while chargement des bibliothèques partagées : libmp3lame.so.0: impossible d'ouvrir le fichier d'objet partagé : Aucun fichier ou répertoire de ce type" ne peut se produire pendant le processus de compilation. La solution consiste à établir un lien logiciel:

# ln -s /usr/local/lib/ libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0

Annexe 2. Si l'invite suivante apparaît : ffmpeg : erreur lors du chargement des bibliothèques partagées : libavdevice so.54 : impossible d'ouvrir le fichier objet partagé : rien de tel. fichier ou répertoire
Vous pouvez vérifier quelles bibliothèques de liens dynamiques de ffmpeg n'ont pas été trouvées de la manière suivante :

ffmpeg -i 1.mp3 -ac 1 -ar 8000 1.amr  #MP3转换AMR
ffmpeg -i 1.amr 1.mp3                 #AMR转换MP3

À propos de ffmpeg :

FFmpeg est un logiciel vidéo et audio multiplateforme gratuit et open source. La solution de streaming est un logiciel gratuit, sous licence la LGPL ou la GPL (selon le composant que vous choisissez). Il fournit une solution complète pour l'enregistrement, la conversion et le streaming audio et vidéo. Il contient la bibliothèque de codecs audio/vidéo très avancée libavcodec Afin de garantir une portabilité et une qualité de codec élevées, de nombreux codecs de libavcodec ont été développés à partir de zéro. Son site officiel est : http://www.ffmpeg.org

Enfin, une partie du contenu peut être trouvée sur http://linux.it.Net.cn/e/Linuxit/2014/0828/3980.html

2. Utilisez la commande ffmpeg

Après avoir terminé la première étape, vous pouvez utiliser ffmpeg --help pour voir s'il est correctement installé. Sinon, veuillez vérifier si vous avez oublié de faire install

La commande de conversion est ffmpeg -. i 1. amr 2.mp3

convertira 1.amr en 2.mp3

3 Utilisez php pour exécuter la commande Linux ffmpeg

Bien sûr, vous ne pouvez pas convertir le fichier en exécutant la commande Linux dans le fichier. Nous utilisons donc php pour exécuter les instructions Linux pour traiter les fichiers amr

Utilisez la fonction exec pour exécuter

ldd `which ffmpeg`

        libavdevice.so.54 => not found

        libavfilter.so.3 => not found

        libavformat.so.54 => not found

        libavcodec.so.54 => not found

        libswresample.so.0 => not found

        libswscale.so.2 => not found

        libavutil.so.51 => not found

        libm.so.6 => /lib64/libm.so.6 (0x00002ab7c0eb6000)

        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ab7c100b000)

        libc.so.6 => /lib64/libc.so.6 (0x00002ab7c1125000)

        /lib64/ld-linux-x86-64.so.2 (0x00002ab7c0d9a000)

#如果类似于上面的输出内容,查找以上类库,会发现全部在/usr/local/lib/下

find /usr/local/lib/ | grep -E "libavdevice.so.54|libavfilter.so.3|libavcodec.so.54"

/usr/local/lib/libavfilter.so.3.17.100

/usr/local/lib/libavcodec.so.54.59.100

/usr/local/lib/libavdevice.so.54

/usr/local/lib/libavcodec.so.54

/usr/local/lib/libavfilter.so.3

/usr/local/lib/libavdevice.so.54.2.101



#查看链接库配置文件

more  /etc/ld.so.conf | grep /usr/local/lib

#如果不包含的话,需要编辑此文添加:

vi /etc/ld.so.conf

/usr/local/lib

/usr/local/lib64

#运行配置命令

ldconfig
Regardez attentivement le code, j'utilise /usr/local/bin/ffmpeg pour l'exécuter, car j'utilise php You ne peut pas exécuter la commande ffmpeg directement. Si votre commande ne se trouve pas dans ce répertoire, vous pouvez utiliser Locate ou Find pour trouver le répertoire où se trouve ffmpeg Apprentissage recommandé : "

Tutoriel vidéo PHP

"

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 de ce site Web
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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment implémenter un modèle singleton en PHP? Comment implémenter un modèle singleton en PHP? Sep 25, 2025 am 12:27 AM

Le modèle Singleton garantit qu'une classe n'a qu'une seule instance et fournit un point d'accès global pour les scénarios où un seul objet coordonne le fonctionnement du système, tels que les connexions de base de données ou la gestion de la configuration. 2. Sa structure de base comprend: les instances de stockage d'attribut statiques privées, les constructeurs privés empêchent la création externe, les méthodes de clonage privé empêchent la copie et les méthodes statiques publiques (telles que getInstance ()) pour obtenir des instances. 3. Obtenez une instance unique dans PHP en appelant la méthode GetInstance () et renvoie la même référence d'objet, peu importe le nombre de fois où il est appelé. 4. Selon le modèle de demande PHP standard, la sécurité des threads n'est pas nécessaire pour être prise en compte, mais les problèmes de synchronisation doivent être prêts à prêter attention dans des environnements à long terme ou multi-thread, et PHP lui-même ne prend pas en charge le mécanisme de verrouillage natif. 5. Bien que les singletons soient utiles,

Comment utiliser l'opérateur de fusion nul (??) en PHP? Comment utiliser l'opérateur de fusion nul (??) en PHP? Sep 25, 2025 am 01:28 AM

Réponse: L'opérateur de fusion vide de PHP (??) est utilisé pour vérifier si une variable ou une clé de tableau existe et n'est pas nul. S'il est vrai, il renvoie sa valeur, sinon il renvoie la valeur par défaut. Il évite l'utilisation de longs chèques ISSet (), convient pour gérer les variables et les clés de tableau non définies, telles que $ username = $ userInput ?? 'invité, et prend en charge les appels de chaîne, tels que $ thème = $ usertheme?

Comment obtenir des paramètres URL en PHP? Comment obtenir des paramètres URL en PHP? Sep 24, 2025 am 05:11 AM

Utilisez $ _get pour obtenir des paramètres URL, tels que? Name = John & Age = 25; Vérifiez l'existence via les opérateurs de fusion ISSET ou vide, et filtrez et vérifiez les données avec filter_input pour assurer la sécurité.

MANWA2 Version Web Direct Link_manwa2 (version australienne) Dernière mise à jour du portail Web MANWA2 Version Web Direct Link_manwa2 (version australienne) Dernière mise à jour du portail Web Sep 23, 2025 am 11:42 AM

Le lien direct de la version Web de Manwa2 est http://www.manwaw.cn/. La plate-forme fournit un grand nombre de ressources comiques à haute définition, prend en charge la recherche en ligne, le cache hors ligne et la synchronisation multi-terminaux, et possède des listes de livres personnalisées et des fonctions de paramètres de lecture pour garantir une expérience de loupe en douceur et confortable des utilisateurs.

Comment désactiver une fonction en PHP? Comment désactiver une fonction en PHP? Sep 24, 2025 am 02:40 AM

TodisableAphpFunction, utilisésable_functionsinphp.IniforBuilt-infunctions likeExecorsystem, qui bloquethemgloballyforsecurity;

Comment télécharger un fichier à partir d'une URL en PHP? Comment télécharger un fichier à partir d'une URL en PHP? Sep 24, 2025 am 05:45 AM

Réponse: Utilisez File_get_Contents et Curl pour télécharger des fichiers d'URL, le premier est simple mais restreint, tandis que le second est plus flexible et prend en charge le streaming. Les exemples incluent la lecture et la rédaction directement des fichiers, les options de paramètre d'initialisation de boucles et la sauvegarde, l'ajout d'une gestion des erreurs et la vérification de l'état HTTP. Les fichiers volumineux sont recommandés pour diffuser le téléchargement en blocs pour enregistrer la mémoire, en veillant à ce que le répertoire soit écrit et gère correctement les exceptions.

Comment implémenter une interface dans une classe PHP? Comment implémenter une interface dans une classe PHP? Sep 25, 2025 am 05:34 AM

Utilisez le mot-clé Implementation pour implémenter l'interface et la classe doit fournir des implémentations spécifiques de toutes les méthodes dans l'interface. 2. Définissez l'interface pour déclarer la méthode à l'aide du mot-clé d'interface. 3. La classe implémente l'interface et remplace les méthodes. 4. Créez un objet et appelez la méthode pour sortir le résultat. 5. Une classe peut implémenter plusieurs interfaces pour assurer la spécification du code et la maintenabilité.

Comment désinfecter la saisie des utilisateurs pour empêcher les XS dans PHP? Comment désinfecter la saisie des utilisateurs pour empêcher les XS dans PHP? Sep 25, 2025 am 05:19 AM

TopreventXssInPhp, SanitizeUserInputAscapeOutputBasedOnContextuSingHtmlSpecialCars () forhtml, json_encode () forjavascrip

See all articles