安装ffmpef
FFMpeg官方下载地址:http://ffmpeg.org/download.html
yasm:http://yasm.tortall.net/Download.html
lame:http://lame.sourceforge.net/download.php
下载最新版本ffmpeg、yasm、lame
下载下来的是一个tar.xz文件
可以直接使用 tar xvJf *.tar.xz来解压
上传文件至服务器: scp 文件 root@ip
解压文件: tar xvJf ***.tar.xz
安装gcc:yum -y install gcc
进入目录(lame、yasm)
./configure
make
make install
编译安装lame、yasm之后进行安装ffmpeg
进入ffmpeg目录
进行安装前配置: ./configure --enable-libmp3lame
make && make install
试运行
ffmpeg -i test.wav test.mp3
可能遇到的问题
fmpeg默认安装目录为“/usr/local/lib”,有些64位系统下软件目录则为“/usr/lib64”,编译过程中可能会出现“ffmpeg: error while loading shared libraries: libmp3lame.so.0: cannot open shared object file: No such file or directory”等类似的错误,解决办法是建立软链接或者移动库文件到相应的目录:
ln -s /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0
mv /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0ldconfig命令的用途主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表,为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在/sbin目录下。
ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。如果想操作其它格式音频文件参考
http://thierry-xing.iteye.com/blog/2017864
安装Speex 解码器
微信的高音质语音的音频格式为speex格式,在使用speex官方解码器对微信的spx文件进行解码的时候会提示错误信息,提示该文件可能不是speex文件。。。查询资料过后发现微信自己对speex的音频文件也进行了操作,网上也有用ffmpeg speex转mp3的教程。
此次使用的为github上的一个开源项目「wechat-speex-declib」
https://github.com/ppninja/wechat-speex-declib
可直接对微信下载下来的文件转mav
安装步骤:
github上下载源码
在运行make进行编译的时候会提示找不到 -lspeex ,这个speex是一个speex的库。
我在网上找了很多帖子都没找到这个库的确切的名称
http://blog.csdn.net/lyflyyvip/article/details/76034794
这篇博客也是我写的。。。。我忘记当时怎么找到的这个库了
总之,安装这个库之后就会解决找不到speex库的问题
yum install speex-devel
make && make install
./speex_decode wxFiel sucFile –wxFile为微信上下载下来的spx文件,suc为转码后文件