利用ffmpeg将微信speex格式转为wav或mp3

利用speex_decode插件进行微信speex文件转换为wav格式的音频文件

1.服务器上安装speex库

yum install speex-devel

2.下载speex源码进入路径后make;make install(安装时必须要先安装speex库)
3. 下载该github项目,编译生成speex可执行文件/https://github.com/lyflyy/wechat-speex-declib

  • 3.1 git clone https://github.com/gamelife1314/wechat-speex-declib.git
  • 3.2 cd wechat-speex-declib && make && cp ./bin/speex_decode /usr/local/bin/speex2wav
  • 3.3 speex2wav test.speex test.wav

4.speex_decode 转码文件 目标文件。 即可对speex文件进行转码

利用ffmpeg进行wav格式–》mp3格式的转换

http://blog.csdn.net/chen5287603/article/details/51549620

1.下载3.0版本以上的ffmpeg。

2.需要mp3编解码器支持

http://nchc.dl.sourceforge.NET/project/lame/lame/3.99/lame-3.99.5.tar.gz

3.如果要进行ogg格式的转换需要一下两个库

http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz

4.speex编解码

http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz

5.解压lame、libogg、libvorbis、speex

eg:tar -xvf  lame-3.99.5.tar.gz

6.进入对应包目录编译以上4个依赖

./configure --prefix=/usr/local/   --enable-shared
make
makeinstall

7.以上4个包都编译安装完成后解压ffmpeg
进入目录后执行

./configure --prefix=/usr/local/ffmpeg --disable-yasm --enable-libspeex --enable-libmp3lame --enable-libvorbis --enable-shared
make
makeinstall

8.这篇文章对ffmpeg的编译选项有详细的说明

http://www.cnblogs.com/wainiwann/p/4204230.html

9.如果需要转为其他格式的,如果ffmpeg默认没安装对应的编解码包,可自行下载安装,再重新编译安装ffmpeg即可

这篇文章总结了多种格式编解码包(http://www.java123.net/974237.html)

10.最后验证是否可以转码

./usr/local/bin/ffmpeg -i input.speex output.mp3

安装中可能遇到的问题

1.speex not found using pig-config

  • 解决办法:
  • vi /etc/profile
  • 添加
  • export PKG_CONFIG=/usr/bin/pkg-config
  • export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
  • 保存后执行
  • source /etc/profile

2.error while loading shared libraries: xxx.so.x" 类似的错误

  • 一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误

  • 操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对

  • 另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件.

  • 解决办法

  • vi /etc/ld.so.conf

  • 添加 /usr/local/lib

  • 保存后执行 ldconfig

你可能感兴趣的:(利用ffmpeg将微信speex格式转为wav或mp3)