ubuntu下ffmpeg的安装,实现支持3gpp转换

最近上线的项目,自驾游对讲机(android)的语音格式转码需要调试3gpp,所以需要再spx,3gpp,3gp等格式之间转换,特记录基于ubuntu环境下的环境ffmpeg部署细则

安装测试环境:ubuntu 11.04 server 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格式的空间最小,是我们项目最适合做语音对话的格式,但是音量的大小还需要继续调整其他参数。

你可能感兴趣的:(ubuntu下ffmpeg的安装,实现支持3gpp转换)