在服务器端,转换amr格式音频文件为MP3格式

时间:2023-01-01 03:54:06


    由于当前pc端浏览器及移动端浏览器都不支持直接播放amr格式文件,因此考虑在服务器端,将amr文件转换为MP3文件,使浏览器可直接播放。

在服务器使用ffmpeg工具,供php调用,用来转换amr文件。

基本流程是:微信浏览器中录音并上传(上传到微信平台服务器)——将音频下载到自己的服务器(amr格式)——php调用ffmpeg命令,转换amr为mp3。


1、下载ffmpeg:http://ffmpeg.zeranoe.com/builds/win32/shared/

选择与自己服务器版本匹配的ffmpeg版本下载,如果版本不匹配,程序不能运行。

下载后,解压缩到自定的目录,如 D:\ffmpeg\bin,可执行程序在这个目录中。

在服务器端,转换amr格式音频文件为MP3格式

配置环境变量,在path中增加上面的目录,命令行窗口试运行一下:ffmpeg -i b.amr b.mp3,如果生成mp3文件,说明程序能正常运行。


2、配置php,开启安全模式,在php.ini文件中,增加外部程序运行目录:

; This directive allows you to disable certain functions for security reasons.
; It receives a comma-delimited list of function names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
; http://php.net/disable-functions
disable_functions = ****

;增加以下行,指定可运行程序外部目录safe_mode_exec_dir = "D:\ff\bin"

3、修改php文件,即可执行转换:

shell_exec("ffmpeg -i aaa.amr aaa.mp3");