最近项目中有个需求,要求把silk微信小程序语音转换成mp3格式,现在Linux中已经实现了,windows的实现方式也很简单,可在网上搜索其它方式,文章最后也给出了几个链接可以参考。以下是对笔者在实践过程总结,亲测可用。
工具、环境
(1)ffmpeg-3.0.tar.gz 安装包
(2)lame-3.99.5.tar.gz(ffmpeg依赖包)
(3)silk-v3-decoder: https://github.com/kn007/silk-v3-decoder
(4)环境centos6.8 (Final)、yum安装gcc、gcc-c++、
注意:本文安装都在/usr/local
中进行。以上软件可以网上搜索得到
ffmpeg安装
(1)上传ffmpeg-3.0.tar.gz、lame-3.99.5.tar.gz包到/usr/local中,并解压;
(2)在/usr/local中mkdir ffmpeg命令创建ffmpeg文件夹;
(3)先安装lame,shell命令如下
tar -xvf lame-3.99.5.tar.gz #解压后进入到lame文件中
cd lame-3.99.5
./configure --prefix=/usr/local/ --enable-shared ###表示安装目录
make
make install
(4)再安装ffmpeg-3.0,shell命令如下
tar -xvf ffmpeg-3.0.tar.gz #解压后进入到ffmpeg文件中
cd ffmpeg-3.0
./configure --prefix=/usr/local/ffmpeg --disable-yasm --disable-libspeex --enable-libmp3lame --disable-libvorbis --enable-shared
make ##可能会比较久,大概5分钟
make install
(5)ffmpeg配置,配置lib.so.conf文件
echo '/usr/local/lib' >> /etc/ld.so.conf
ldconfig
echo '/usr/local/ffmpeg/lib' >> /etc/ld.so.conf
ldconfig
(6)配置系统环境:在/etc/profile
文件中PATH中添加/usr/local/ffmpeg/bin
vi /etc/profile
#在PATH后添加如下
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/ffmpeg/bin
- 测试ffmpeg,输入ffmpeg命令,出现如下,表示安装成功
(7)安装silk-v3包
将github上下载的silk-v3-decoder上传到/usr/local/
目录下,并改名为silk-v3 - 测试命令,首次输入以下测试时会自动编译silk-v3
sh /usr/local/silk-v3/converter.sh /usr/local/test/demo.silk mp3
至此,整个安装过程结束了,是不是很简单?接下来就可以在Java或者其它程序中通过调用Linux命令实现软件需求了。
常见问题
ffmpeg配置问题
错误示例
解决方法:参考上一节第(5),成功配置后的结果如下图
环境变量问题
错误示例
解决:参考上一节第(6)步silk-v3编译问题
解决:需要将原生的 silk-v3.tar.gz包上传到服务器中,并运行一次(自动编译)文章参考链接
http://www.javashuo.com/content/p-6018686.html
https://my.oschina.net/VASKS/blog/656500
http://www.wxapp-union.com/portal.php?mod=view&aid=1633