php技术博客

记录php相关学习知识及开发示例、疑难问题等

php代码将amr格式录音转换为mp3

有个需求是,录音后可以在页面播放这段录音。安卓下录音后格式为amr格式,这个格式在苹果手机下播放不了。搜索了下,需要服务器安装ffmpeg程序,有个命令可以帮amr转换为mp3格式的音频,mp3在安卓、苹果下都可以播放。

下面介绍下具体的实现方法

ffmpeg下载地址:http://ffmpeg.org/download.html

linux下可以下载静态版本包,静态版本包地址:https://johnvansickle.com/ffmpeg/,可以按照cpu版本,下载对应的包。如服务器cpu为intel的,下载 ffmpeg-release-i686-static.tar.xz 包

相关命令如下

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-i686-static.tar.xz
tar -Jxvf ffmpeg-release-i686-static.tar.xz
#解压后目录为:/root/ffmpeg-4.2.2-i686-static
cd /root/ffmpeg-4.2.2-i686-static
./ffmpeg #查看ffmpeg 命令配置及配置参数
#配置环境变量
vi etc/profile
export FFMPEG_HOME=/root/ffmpeg-4.2.2-i686-static/
export PATH=$FFMPEG_HOME:$PATH

保存并退出 
source etc/profile


php代码中通过执行命令 ffmpeg -i from.amr to.mp3即可,下面提供部分代码示例

system("ffmpeg -i $file $filemp3");
if(filesize($filemp3) > 0){
	@unlink($file);//删除原文件
	echo $filemp3;
}else{
	echo 'error';
}