微信FFMPEG扩展转换音频格式

电脑杂谈  发布时间:2020-05-29 10:22:00  来源:网络整理

ios支持音频格式_微信支持的音频格式_微信支持视频格式

项目背景:

在微信的开发中,语音文件被保存到服务器中,方便浏览和播放. 但是,微信下载了amr格式,但是H5网页元素支持Mp3格式.

讨论该过程:

微信-》 JSSDK录音-》上传语音=>获取media_id =》下载语音(请参阅media_id)=》获取amr格式=》转码MP3

查看PHP代码

您可以在此处获取amr格式的文件.

转码过程:

谈论总体想法

1. 在服务器上安装ffmpeg

2. 使用ffmpeg -i命令将amr转换为mp3格式(这是当时用PHP代码编写的,可以使用系统功能执行)

3. 使用HTML5音频标签在网页上播放mp3文件

以下是操作细节:

首先,以cenos为例,在服务器上安装ffmpeg

参考此处:

微信支持视频格式_ios支持音频格式_微信支持的音频格式

重要的是要注意,在以下方法中,安装amrnb和amrwb时将为make链接请求3gp的URL,该URL通常不可用. 您可以使用crtl + c取消他的进程,而这两个不需要转换格式.

根据需求,您需要在Linux环境中将amr转换为mp3. 您可以直接使用Windows下第三方jar程序包封装的exe方法,但它不支持Linux. 实现,请根据教程进行尝试:

首先安装系统编译环境

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

需要编译的源程序包

#yasm: 汇编程序,新版本的ffmpeg添加了汇编代码

wget

tar -xzvf yasm-1.3.0.tar.gz

cd yasm-1.3.0

./配置

制作

进行安装

#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

微信支持的音频格式_微信支持视频格式_ios支持音频格式

#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

#Load配置

##最终写完配置后,终端运行ffmpeg命令,成功并显示已安装的扩展名,并且操作成功.

ldconfig

3. 使用方法

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

附录:

ios支持音频格式_微信支持的音频格式_微信支持视频格式

附录1. ffmpeg的默认安装目录为“ / usr / local / lib”,某些64位系统下的软件目录为“ / usr / lib64”微信支持的音频格式,在编译过程中可能会出现

“ ffmpeg: 加载共享库时出错: libmp3lame.so.0: 无法打开共享库文件: 没有这样的文件或目录”和其他类似的错误,解决方法是建立软链接:

附录2. 如果出现以下提示: ffmpeg: 加载共享库时出错: libavdevice.so.54: 无法打开共享对象文件: 没有此类文件或目录

您可以通过以下方式检查找不到ffmpeg的动态链接库:

ldd哪个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

#View链接库配置文件

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

##如果不包括在内,则需要编辑此文章以添加:

vi /etc/ld.so.conf
/usr/local/lib
/usr/local/lib64

#Run配置命令

微信支持的音频格式_ios支持音频格式_微信支持视频格式

ldconfig

关于ffmpeg简介:

FFmpeg是一种开源且免费的跨平台视频和音频流解决方案. 它属于免费软件,并且使用LGPL或GPL许可(取决于您选择的组件). 它提供了用于记录,转换和流式传输音频和视频的完整解决方案. 它包含非常高级的音频/视频编库libavcodec. 为了确保较高的可移植性和编质量,libavcodec中的许多编都是从头开始开发的. 它的官方网站是:

最后,一些内容引用

第二,使用ffmpeg命令

第一步之后,您可以使用ffmpeg --help来查看其是否正确安装. 如果没有,请检查是否忘记安装

使用转换的指令是ffmpeg -i 1.amr 2.mp3

会将1.amr转换为2.mp3

三,使用php执行linux命令ffmpeg

当然,文件的转换不能通过在服务器上运行linux命令来完成,因此我们使用php执行linux命令来处理amr文件

使用系统功能执行

PHP代码

view plain copy
    $amr = './'.$vo['voice'];  
    $mp3 = $amr.'.mp3';  
      
    if(file_exists($mp3) == true){  
        // exit('无需转换');  
    }else{  
        $command = "/usr/local/bin/ffmpeg -i $amr $mp3";  
        system($command,$error);  
    }  

仔细查看代码. 我使用/ usr / local / bin / ffmpeg来执行它,因为我不能使用php直接运行ffmpeg命令. 如果您的命令不在此目录中,则可以使用定位或查找来找到ffmpeg所在的目录


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-226328-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...