`
foolraty
  • 浏览: 400131 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

转自  http://my.oschina.net/ethan09/blog/372435?p=1

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

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

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

2. 编译所需源码包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#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.使用方法

1
2
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的动态链接库哪些没有找到:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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

分享到:
评论

相关推荐

    linux下ffmpeg转换amr为mp3大小为0的解决方案

    在Linux环境中,使用FFmpeg工具将AMR音频文件转换为MP3格式时,有时可能会遇到输出的MP3文件大小为0的问题。这个问题通常是由于多种原因引起的,包括编码参数设置不当、源文件问题或是FFmpeg版本不兼容等。下面我们...

    (带一键安装脚本sh)Linux编译ffmpeg并转换MP3到AMR.zip

    综上所述,这个压缩包包含了一键安装FFmpeg的脚本,方便在Linux环境中快速部署,并且提供了音频转换功能,尤其是MP3到AMR的转换,这对于处理多媒体数据的开发者来说非常实用。通过深入理解FFmpeg的工作原理和命令行...

    ffmpeg开源代码 amr to wav的转换

    在这个特定的场景中,我们关注的是如何使用FFmpeg将AMR格式的音频文件转换为WAV格式。AMR(Adaptive Multi-Rate)是一种压缩音频格式,常用于手机语音记录,而WAV则是无损音频格式,适用于高质量的音频存储和编辑。 ...

    amr wav互转代码

    本文将详细介绍如何使用FFmpeg工具在Windows和Linux环境下实现AMR与WAV之间的转换。 FFmpeg是一款强大的开源多媒体处理工具,支持多种音频、视频格式的转换、编码和解码。要实现AMR到WAV或WAV到AMR的转换,首先需要...

    FFmpeg(liunx中amr转MP3工具)

    //执行amr转MP3命令 Process proc = rt.exec(command); InputStream stderr = proc.getErrorStream(); InputStreamReader isr = new InputStreamReader(stderr); BufferedReader br = new BufferedReader...

    amr转MP3格式

    下面将详细介绍AMR和MP3格式,以及如何使用FFmpeg工具进行转换。 **AMR格式**:全称为Adaptive Multi-Rate Codec,是一种用于GSM和3GPP网络中的语音编码标准。它有多种比特率模式,可以根据网络条件动态调整,以...

    linux 下安装 ffmpeg

    在Linux环境下安装FFmpeg是一项常见的任务,特别是在进行多媒体处理或流媒体服务时。FFmpeg是一个强大的开源工具,用于处理音频和视频文件,包括转换、编码、解码、封装和流化。下面将详细介绍如何在Linux系统中安装...

    linux下安装FFmpeg命令,亲测可用

    以下是对"linux下安装FFmpeg命令,亲测可用"这一主题的详细解释。 1. **FFmpeg简介** FFmpeg是跨平台的音频和视频处理工具,包含了一系列的命令行工具,如ffmpeg、ffplay、ffprobe等,用于编码、解码、转码、合并、...

    ffmpeg linux转微信amr为讯飞、百度可识别语音

    在这个场景下,我们将在Linux环境下利用`ffmpeg`将微信中的AMR音频文件转换为讯飞和百度能够识别的格式。 首先,让我们详细了解`ffmpeg`。`ffmpeg`是一个跨平台的解决方案,用于转换、流化、解码和编码音频和视频。...

    Java实现amr文件转mp3,可转换微信和微信公众号内的录音文件

    Java实现amr文件转mp3,可转换微信和微信公众号内的录音文件! 原理是使用ffmpeg实现,跨平台,支持 linux、window、mac等环境!

    amr音频转mp3 amr音频转mp3

    在Windows和Linux环境下,都有多种工具和方法可以实现AMR到MP3的转换。下面我们将详细介绍这两种操作系统下的转换过程。 ### Windows环境下转换 1. **使用FFmpeg**:FFmpeg是一款强大的多媒体处理工具,支持多种...

    ffmpeg 转换pcm

    以上脚本将把"audio-ycs"目录下的所有PCM文件转换为MP3,并保留相同的文件名。 总之,FFmpeg是一个强大的多媒体处理工具,能够轻松地在各种音频格式之间进行转换,满足不同应用场景的需求。无论是个人用户还是专业...

    jave amr转换MP3

    java使用jave,可以支持剁成格式的转换,比如amr转换成MP3格式,底层是使用ffmpeg实现的,jar中有修改过的ffmpeg,支持在linux中使用

    音频格式转换的ffmpeg

    在本文中,我们将深入探讨如何使用 FFmpeg 在 Java 环境中进行 AMR 转 MP3 的操作,以及如何在 Windows 和 Linux 系统上执行这个过程。 首先,AMR(Adaptive Multi-Rate)是一种广泛用于语音编码的压缩格式,常用于...

    JAVA程序将amr文件转换为mp3文件

    使用java代码将amr文件转换为MP3文件,本jar包只支持linux平台, windows平台需要单独下载ffmpeg.exe文件,地址:http://ffmpeg.org/download.html

    linux版FFmpeg-4.1(带运行环境,可直接运行)

    5. **使用说明.txt**:这份文件很可能是提供关于如何在Linux环境下运行和使用这个预编译版本的FFmpeg的指南,可能包含一些基本的命令示例和注意事项。 在实际使用中,用户可以利用FFmpeg的强大功能处理各种多媒体...

    ffmpeg和opencore-amr模块

    5. **使用FFmpeg转换音频**:安装完成后,你可以通过命令行使用FFmpeg将.wav文件转换为.AMR格式,例如:`ffmpeg -i input.wav -c:a libopencore_amrnb output.amr`。 通过这样的流程,你可以在Linux环境下方便地...

    微信语音amr转换mp3实例代码

    在IT行业中,音频格式转换是一...总的来说,通过FFmpeg和简单的编程,我们可以轻松地将微信的AMR语音文件转换成MP3格式,从而实现跨平台和设备的兼容性。这个过程对于开发者来说非常实用,尤其是在处理大量语音数据时。

    linux ffmpeg静态构建

    在本教程中,我们将探讨如何在Linux环境下,特别是针对内核版本2.6.32及更高版本,进行FFmpeg的静态构建。这将帮助你实现AMR文件到MP3的转换,并且适用于Java 1.0.2环境。 **FFmpeg的基本概念** FFmpeg由一系列库...

    linux环境amr格式转化

    下面将详细介绍如何在Linux下进行AMR到MP3或WAV的转换过程。 ### AMR格式简介 AMR是一种有损音频编码格式,它通过动态调整比特率来适应不同的语音质量和网络条件。AMR有两种主要的编码模式:AMR-NB(窄带)和AMR-WB...

Global site tag (gtag.js) - Google Analytics