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

安装测试环境:ubuntu 14.04 64bit

首先按照相关的应用:

  1. 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

  1. git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

官网说明:

September, 28, 2012, FFmpeg 1.0 这个版本的Project Description中已经加入:

  1. - 3GPP Timed Text encoder/decoder

配置及编译,加入需要格式,特别是--enable-libopencore-amrnb --enable-libopencore-amrwb

  1. ./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
  2. 然后make&&make install

编译时间比较长,估计要等一会

测试时候,请不要直接将转换后的文件后缀名写成3gpp,系统无法识别,应该写成3gp,格式也是3gpp。

完成之后,如果使用ffmpeg还是无法识别3gpp格式,可以采用另外一个办法,在git下来的ffmpeg中新增特定的数据包,主要是支持amrnb和amrwb这2个模块。
我这里已经共享,可以直接下载完成打包的ffmpeg数据包进行编译

  1. http://pan.baidu.com/share/link?shareid=167371&uk=1361273680&third=0

测试结论:
在不太在意音频质量的情况,3gpp格式的空间最小,是我们项目最适合做语音对话的格式,但是音量的大小还需要继续调整其他参数。

ubuntu下ffmpeg的安装,实现支持3gpp等转换的更多相关文章

  1. Linux下FFmpeg的安装编译过程【转】

    本文转载自:http://www.linuxidc.com/Linux/2013-06/85628.htm 详细说下在Linux下FFmpeg的安装编译过程.参考 Ubuntu 10.04安装编译FF ...

  2. ubuntu下的openfire安装、配置、运行

    openfire服务器              Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议.您可以使用它轻易的构建高效率的即时通信服务器.Op ...

  3. 2010-01-20 12:09 ubuntu下minicom的安装及使用

    转http://hi.baidu.com/npugtawqdnbgqrq/item/106f805409b42813db163527 ubuntu下minicom的安装及使用 安装: sudo apt ...

  4. Ubuntu下FileZilla的安装

    FileZilla是一个免费而且开源的FTP客户端软件,共有两种版本:客户端版本.服务器版本.FileZilla有条理的界面和管理多站点的简化方式使得FileZilla Client成为一个方便高效的 ...

  5. Ubuntu下查看服务器cpu是否支持VT

    http://blog.51cto.com/zhangmingqian/1249522 Ubuntu下查看服务器cpu是否支持VT 原创wazjajl 2013-07-15 16:25评论(0)119 ...

  6. Ubuntu下FileZilla的安装(转载)

    转自:http://os.51cto.com/art/201103/247564.htm FileZilla是一个免费而且开源的FTP客户端软件,共有两种版本:客户端版本.服务器版本.FileZill ...

  7. Ubuntu下git的安装与使用

    Ubuntu下git的安装与使用 Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便. 首先,确认你的系统是否已安装git,可以通过git指令 ...

  8. Ubuntu下Speedtest的安装

    要安装Speedtest,需要先安装apache,参见<Ubuntu下Apache的安装>一文:*(再安装LAMP server,参见<Ubuntu下快速安装LAMP server& ...

  9. Ubuntu下Apache的安装

    Ubuntu下可快速安装LAMP server(Apache+MySQL+PHP5),参见<Ubuntu下快速安装LAMP server>一文. 也可以手动安装Apache.本文介绍如何手 ...

随机推荐

  1. springmvc访问路径传递参数

    @RequestMapping(value = "/{path}/toList") public String toList(@PathVariable String path) ...

  2. [HeadFirst-HTMLCSS学习笔记][第十三章表格]

    表格 -table 块 tr 行 table row th 表头 table head td 表数据 table data; caption 表格标题 <table> <captio ...

  3. CSS---------------之文本类型

    通过font来改变文本,主要从以下几个方面 字体加粗,字体的风格:斜体和字体变形:小型大写字母 字体的大小 行高 字体 示例如下 p{font:italic 75%/125% "Comic ...

  4. 1203.2——条件语句 之 switch语句

    用 if else 语句在处理多分支的时候,分支太多就会显得不方便,且容易出现 if 和 else配对出现错误的情况.例如,输入一个整数,输出该整数对应的星期几的英文表示: #include < ...

  5. C#如何解决对ListView控件更新以及更新时界面闪烁问题

    第一个问题:如何更新ListView控件内容 很多时候运行窗体程序时,由于程序中使用了多线程加之操作不当,所以在对控件操作时会出现下面这样的异常:   这是因为我们在窗体中添加的控件都有属于自己的线程 ...

  6. Dx 1 error; aborting Conversion to Dalvik format failed with error 1

    Dx 1 error; aborting Conversion to Dalvik format failed with error 1 问题实质是工程中android.jar包大于一个: 保留一个a ...

  7. JavaScript函数学习要点总结(一)

    1.函数的最大作用是提供代码复用: 2.JavaScript函数是弱类型语言,定义函数时既不要声明函数的返回值,也不要声明函数的参数列表类型: 语法如下: function functionName( ...

  8. Taurus.MVC

    开源:Taurus.MVC 框架 为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate ...

  9. mysql create routine 权限的一些说明

    1.如果用户有create routine 权限那么他就可以创建procedure | function . 2.如果用户创建了procedure | function 那么mysql 会自动赋予它对 ...

  10. 学习Emacs

    1.http://ergoemacs.org/emacs/emacs.html 2.Debian7安装emacs24 http://my.oschina.net/xuzhouyu/blog/14954 ...