ffmpeg对amr格式编解码
linux下的ffmpeg默认情况下是不支持amr格式解码的,因此考虑手动编译ffmpeg源代码增加解码器以便支持amr文件格式的解码。
系统环境:Suse 64bit OS
前期准备:
1、 下载ffmpeg源代码:http://ffmpeg.org/download.html,这里选择版本为0.11.1
2、 下载OpenCORE AMR:http://sourceforge.net/projects/opencore-amr/,这里选择的版本为0.1.3。
并将下载的文件存放与/home/ffmpeg目录下,以root用户登录系统。
具体步骤:
1、 编译安装opencore-amr,这里需要注意的是在执行configure命令的时候要添加--enable-shared=no --enable-static=yes参数,其主要作用是禁止生产动态链接库、允许生产静态库。
chmod 755 opencore-amr-0.1.3.tar.gz tar -xzvf opencore-amr-0.1.3.tar.gz cd opencore-amr-0.1.3 ./configure --enable-shared=no --enable-static=yes make make install |
2、 编译安装ffmpeg,注意configure命令后面所要添加的参数,可以通过执行configure --help命令查看后面所允许带的参数
chomd 755 ffmpeg-0.11.1.tar.gz tar -xzvf ffmepg-0.11.1.tar.gz cd ffempg ./configure --enable-gpl --enable-version3 --enable-nonfree --disable-ffplay --disable-ffprobe --disable-ffserver --enable-libopencore-amrnb --enable-libopencore-amrwb --prefix=/home/ffmpeg/target make make install |
以上命令成功执行后将会在/home/ffmpeg/target目录下的bin目录得到ffmpeg文件,该文件已经包含amr解码器
3、 测试:
chmod 755 ffmpeg ./ffmpeg -I PA003.wav -ar 8000 -ab 12.2k -ac 1 target.amr |
4、 注意事项:
a) 以上方式都是通过静态库的形式编译,采用静态库的形式编译的好处在于:编译后的可执行文件ffmpeg可以不依赖于amr解码器,简单地说,可执行文件已经将amr解码器包含在内了。
b) ffmpeg在编译时候会优先查找amr解码器的动态链接库,如果没有找到,则查找amr解码器的静态库。在第一步中如果没有禁止amr生成动态链接库,则ffmpeg将采用amr的动态链接库进行编译,其缺点是,编译后的可执行文件ffmpeg将依赖于amr的动态链接库,如果系统的动态链接库搜索路径LD_LIBRARY_PATH不包含amr动态链接库所在路径,则ffmpeg将会报错,无法正常工作。
c) amr编译安装时不建议添加prefix=XXX参数(./configure)修改amr安装路径,这样ffmpeg在编译安装时将出现找不到amr解码器的情况。
转载于:https://www.cnblogs.com/kasuo/archive/2013/06/06/3121741.html
ffmpeg对amr格式编解码相关推荐
- 基于FFMPEG 的跨平台视频编解码研究
第33卷 第11期 2011年11月 武 汉 理 工 大 学 学 报 JOURNALOF WUHANUNIVERSITYOFTECHNOLOGY Vol.33 No.11 췍췍췍췍췍췍췍췍췍췍췍췍췍췍 ...
- Android amr语音编解码解惑 【转http://blog.csdn.net/xyz_lmn/article/category/922246】
Android amr语音编解码解惑 androidAndroidARMarm声音采集 关于android中的语音压缩编码,今天算是好好的研究了一下,有了小小的心得: 首先关于采集到得声音源的格式是P ...
- 嵌入式Linux下基于FFmpeg的视频硬件编解码[图]
转自:http://tech.c114.net/167/a674033.html 摘要: 对FFmpeg多媒体解决方案中的视频编解码流程进行研究.结合对S3C6410处理器视频硬件编解码方法的分析,阐 ...
- 使用FFMPEG进行音视频编解码(C++) 0.简介
FFMPEG介绍 FFMPEG是一个开源的编解码软件,读作"ef ef em peg".官方网址是:http://ffmpeg.org/.FFMPEG几乎支持所有的格式,当然了像一 ...
- 嵌入式Linux下基于FFmpeg的视频硬件编解码
嵌入式Linux下基于FFmpeg的视频硬件编解码[图] http://www.c114.net ( 2012/3/1 15:41 ) 摘要: 对FFmpeg多媒体解决方案中的视频编解码流程进行研究. ...
- 在java中使用ffmpeg将amr格式的语音转为mp3格式
ffmpeg是一个非常强大的音视频处理工具,官网是:http://ffmpeg.org/ . 由于ffmpeg在windows上和linux系统上的执行文件不一样(Windows上不需要安装ffmpe ...
- iOS之ffmpeg开发音视频编解码概要、SDL
官网:http://ffmpeg.org/documentation.html http://ffmpeg.org/ffmpeg.html 简介:https://blog.csdn.net/qq_36 ...
- java amr wav_AMR编解码库的实现
基于opencore-amr实现amr-nb编码和解码,在Android上完成wav文件与amr文件格式的相互转换.wav和amr文件读写部分主要参考了opencore中的test文件夹下的例子,以及 ...
- 【ffmpeg+cuda实现硬编解码】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.先安装CUDA+NVCODEC 二.编译带NVCODEC的FFMPEG 1.安装环境 2.开始编译 3.验证 总结 ...
最新文章
- ARCGIS开发中类型XXX在未被引用的程序集中定义的解决办法
- linux重启kvm服务命令,linux中kvm的安装及快照管理
- mysql2014授权设置_mysql权限管理(2014-09-15)
- 2782: [HNOI2006]最短母串
- I2C与SPI通信总线协议
- 用 扩展事件抓取过去的死锁
- 输入一个十进制数N,将它转换成R进制数输出(运用递归实现)
- linux 内核移植(七)――rest_init函数分析
- 使用 AppleALC 驱动黑苹果声卡
- 软件测试实验二条件覆盖和条件组合覆盖
- 马悦凌:从初级护士到“民间奇医”[7]
- python读取yml文件
- RationalDMIS7.0 编程测量快速入门教程(山涧果子)
- 【长篇博文】Docker学习笔记与深度学习环境的搭建和部署(一)
- 新手使用python易踩坑语法:if语句中or 与in连用
- SQL Server 排序函数 ROW_NUMBER和RANK 用法总结
- 使用WPS生成二维码,手机扫码访问主机的资源
- 关于新光源建设的一些想法
- unity打包安卓显示手机顶部状态栏
- python按哪个键运行代码_python运行快捷键是哪个
热门文章
- java 文件crc校验_Java 对文件进行 CRC32 校验
- 偏微分方程的正问题和逆问题(inverse problem)
- java机器PDF_机器人制作入门(第3版)PDF 下载
- 字母三角形c语言ABBBCCCCC,C语言输出ABBBCCCCCDDDDDDDCCCCCBBBA
- java 传绝对路径无效_【Java并发005】原理层面:volatile关键字全解析
- 关于使用layer弹出框展现echarts不显示的问题
- pytorch 绘制多个算法loss_PyTorch线性模型和梯度下降
- mysql 搜索正则表达式_mysql必知必会--用正则表达式 进行搜索
- 证书服务器web注册,无法通过 Web 注册请求证书 - Windows Server | Microsoft Docs
- android调用日历库,Android学习教程之日历库使用(15)