最近上线的项目,语音格式转码需要调试3gpp,所以需要再spx,3gpp,3gp等格式之间转换,特记录基于ubuntu环境下的环境ffmpeg部署细则
安装测试环境:ubuntu 14.04 64bit
首先按照相关的应用:
- apt-get install graphicsmagick speex libspeex1 libspeex-dev libspeexdsp-dev libspeex-dev liboggplay1-dev libmp3lame0 libavcodec-dev libavcodec-extra-53 libavcodec-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvo-amrwbenc-dev libvo-amrwbenc-dev libvorbis-dev libvpx-dev libvorbis-dev libvorbis0a libvorbisenc2 libvorbis-dev libfaac0 libfaac-dev libopencore-amrnb-dev libopencore-amrnb0 libopencore-amrwb-dev libopencore-amrwb0 libtheora-dev libtheora0 libmp3lame-dev yasm libvpx-dev libx264-dev libxvidcore-dev libdc1394-22-dev pkg-config libspeex1 liboggplay1-dev
下载最新版本的ffmpeg
- git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
官网说明:
September, 28, 2012, FFmpeg 1.0 这个版本的Project Description中已经加入:
- - 3GPP Timed Text encoder/decoder
配置及编译,加入需要格式,特别是--enable-libopencore-amrnb --enable-libopencore-amrwb
- ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libdc1394 --enable-libx264 --enable-libxvid --enable-libvo-amrwbenc --enable-libspeex
- 然后make&&make install
编译时间比较长,估计要等一会
测试时候,请不要直接将转换后的文件后缀名写成3gpp,系统无法识别,应该写成3gp,格式也是3gpp。
完成之后,如果使用ffmpeg还是无法识别3gpp格式,可以采用另外一个办法,在git下来的ffmpeg中新增特定的数据包,主要是支持amrnb和amrwb这2个模块。
我这里已经共享,可以直接下载完成打包的ffmpeg数据包进行编译
- http://pan.baidu.com/share/link?shareid=167371&uk=1361273680&third=0
测试结论:
在不太在意音频质量的情况,3gpp格式的空间最小,是我们项目最适合做语音对话的格式,但是音量的大小还需要继续调整其他参数。