接到需求要在Linux环境下将amr转换为mp3,windows下直接使用第三方jar包封装的exe方法即可,但不支持Linux,上网爬完资料说是用ffmpeg加上amr插件可以实现,根据教程尝试了一下:

1. 首先安装系统编译环境

yum install -y automake autoconf libtool gcc gcc-c++  #CentOS

2. 编译所需源码包

#yasm:汇编器,新版本的ffmpeg增加了汇编代码

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

tar -xzvf yasm-1.3.0.tar.gz

cd yasm-1.3.0

./configure

make

make install

#lame:Mp3音频解码

wget http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz

tar -xzvf lame-3.99.5.tar.gz

cd lame-3.99.5

./configure

make

make install

#amr支持

wget http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz

tar -xzvf opencore-amr-0.1.3.tar.gz

cd opencore-amr-0.1.3

./configure

make

make install

#amrnb支持

wget http://www.penguin.cz/~utx/ftp/amr/amrnb-11.0.0.0.tar.bz2

tar -xjvf amrnb-11.0.0.0.tar.bz2

cd amrnb-11.0.0.0

./configure

make

make install

#amrwb支持

wget http://www.penguin.cz/~utx/ftp/amr/amrwb-11.0.0.0.tar.bz2

tar -xjvf amrwb-11.0.0.0.tar.bz2

cd amrwb-11.0.0.0

./configure

make

make install

#ffmpeg

wget http://ffmpeg.org/releases/ffmpeg-2.5.3.tar.bz2

tar -xjvf ffmpeg-2.5.3.tar.bz2

cd ffmpeg-2.5.3

./configure --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-shared

make

make install

#加载配置

#最后写入config后,终端运行ffmpeg命令,出现success和已安装的扩展,则运行成功。

ldconfig

3.使用方法

ffmpeg -i 1.mp3 -ac 1 -ar 8000 1.amr  #MP3转换AMR

ffmpeg -i 1.amr 1.mp3                 #AMR转换MP3

附录:

附录1. ffmpeg默认安装目录为“/usr/local/lib”,有些64位系统下软件目录则为“/usr/lib64”,编译过程中可能会出现

“ffmpeg: error while loading shared libraries: libmp3lame.so.0: cannot open shared object file: No such file or directory”等类似的错误,解决办法是建立软链接:

# ln -s /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0

附录2. 如果出现以下提示:ffmpeg: error while loading shared libraries: libavdevice.so.54: cannot open shared object file: No such file or directory

可以通过如下方式查看ffmpeg的动态链接库哪些没有找到:

ldd `which ffmpeg`

libavdevice.so.54 => not found

libavfilter.so.3 => not found

libavformat.so.54 => not found

libavcodec.so.54 => not found

libswresample.so.0 => not found

libswscale.so.2 => not found

libavutil.so.51 => not found

libm.so.6 => /lib64/libm.so.6 (0x00002ab7c0eb6000)

libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ab7c100b000)

libc.so.6 => /lib64/libc.so.6 (0x00002ab7c1125000)

/lib64/ld-linux-x86-64.so.2 (0x00002ab7c0d9a000)

#如果类似于上面的输出内容,查找以上类库,会发现全部在/usr/local/lib/下

find /usr/local/lib/ | grep -E "libavdevice.so.54|libavfilter.so.3|libavcodec.so.54"

/usr/local/lib/libavfilter.so.3.17.100

/usr/local/lib/libavcodec.so.54.59.100

/usr/local/lib/libavdevice.so.54

/usr/local/lib/libavcodec.so.54

/usr/local/lib/libavfilter.so.3

/usr/local/lib/libavdevice.so.54.2.101

#查看链接库配置文件

more  /etc/ld.so.conf | grep /usr/local/lib

#如果不包含的话,需要编辑此文添加:

vi /etc/ld.so.conf

/usr/local/lib

/usr/local/lib64

#运行配置命令

ldconfig

关于ffmpeg简介:

FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。其官方网址为:http://www.ffmpeg.org

最后,部分内容参照http://linux.it.net.cn/e/Linuxit/2014/0828/3980.html

ffmpeg js转换音频_linux下使用ffmpeg将amr转成mp3相关推荐

  1. ffmpeg js转换音频_实践!实现纯前端下的音频剪辑处理

    前言 最近在做一个项目,需要对 webRTC 录制的音频进行处理,包括音频的裁剪.多音频合并,甚至要将某个音频的某一部分替换成另一个音频. 原本笔者打算将这件工作交给服务端去完成,但考虑,其实无论是前 ...

  2. ffmpeg js转换音频_微信FFMPEG 扩展转换音频格式

    项目背景: 微信开发中有保存到语音文件到服务器上,便于网页浏览中使用播放. 但是微信下载下来的是 amr格式,但是H5网页元素支持 Mp3格式. 说下流程: 微信 -> JSSDK 录音 --& ...

  3. ffmpeg js转换音频_webRTC使用ffmpeg.js将webm转换为mp4

    我正尝试使用ffmpeg.js将webM文件转换为mp4. 我正在从画布上录制视频(叠加了一些信息)并录制了视频中的音频数据.webRTC使用ffmpeg.js将webm转换为mp4 stream = ...

  4. ffmpeg js转换音频_将微信jssdk录制的speex高清音频转换为wav/mp3

    今天在做微信开发的时候需要将jssdk录制的音频上传到微信平台,但是jssdk录制的是speex高清格式,不能直接转换为mp3或者wav格式, 微信官方提供了一个说明: [如果speex音频格式不符合 ...

  5. ffmpeg for android windows,windows10下编译ffmpeg for android

    最近实现了一款基于FFMpeg的支持多路视频的实时流媒体播放器:https://github.com/huweijian5/RtspPlayer 有兴趣能够关注下.html 本文记录在windows1 ...

  6. 【FFMPEG系列】之windows下编译FFMPEG篇----之三(MingW64)

    目录结构 序 1 .安装mingw64 1.1 mingw64的安装 1.2 msys的安装 2.编译ffmpeg 2.1 编译 序 前文"windows下编译FFMPEG篇----之一(M ...

  7. linux下使用ffmpeg将amr转成mp3(转)

    转自  http://my.oschina.net/ethan09/blog/372435?p=1 接到需求要在Linux环境下将amr转换为mp3,windows下直接使用第三方jar包封装的exe ...

  8. linux下使用ffmpeg将amr转成mp3

    接到需求要在Linux环境下将amr转换为mp3,windows下直接使用第三方jar包封装的exe方法即可,但不支持Linux,上网爬完资料说是用ffmpeg加上amr插件可以实现,根据教程尝试了一 ...

  9. ffmpeg摄像头Android,Android平台下使用FFmpeg进行RTMP推流(摄像头推流)

    简介 今天要给大家介绍如何在Android平台下获取采集的图像,并进行编码推流.同时项目工程也是在之前的代码基础上新增功能 QQ截图20171124114855.png 打开摄像头并设置参数 具体代码 ...

最新文章

  1. MySQL用得好好的,为什么要转ES?
  2. 《新一代城市大脑建设与发展》专家研讨会在京举办(新版)
  3. .net分布式系统架构的思路
  4. (android硬件应用实战)摄像头拍照实现和总结
  5. spring事件通知机制详解
  6. np.meshgrid
  7. 美国面试之旅——面试经验分享
  8. javafx 界面_JavaFX的科幻用户界面第1部分
  9. iif能用到mysql中吗_数据库基础知识:SQL中的IIF语句详解
  10. 为MFC应用程序添加全屏幕显示功能
  11. qt获取窗口的右上角位置_智能座舱QT应用实例 -- Mode/View
  12. NEWS - InstallShield 2013发布
  13. Markdown-Latex全称量词和存在量词(对于全体、存在)
  14. java调用讯飞语音合成api
  15. WIN8专业版安装SqlServer2008
  16. appcan mysql_AppCan 双击返回按钮退出应用 | 学步园
  17. 再论互联网公司盖楼那些事-尾声 谁是中神通
  18. 小白学习MySQL - 一次慢SQL的定位
  19. stm32l476时钟设置
  20. 「雕爷学编程」Arduino动手做(25)——MQ2气敏检测模块

热门文章

  1. java 启动参数 别名,Spring boot 参数别名处理
  2. Orcale 批量更新sql
  3. ebs知识点100题
  4. 还在花冤枉钱找人做电子签名?看这儿,教你制作纯手写电子签名
  5. 多传感器融合及其应用
  6. Linux报错: terminate called after throwing an instanc
  7. 磁感应强度、磁场强度、磁动势之三者间的关系
  8. 反证法在计算机领域,人工智能的基础研究领域——问题求解、逻辑推理与定理证明...
  9. 华为西安鲲鹏服务器项目,眼见为实,华为鲲鹏架构服务器生态大揭秘
  10. python中area是什么意思_python之懒惰属性(延迟初始化)