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.验证 总结 ...
最新文章
- 递归/归并:count of smaller numbers求逆序数
- “搞垮” 微博服务器?每天上亿条用户推送是如何做到的
- 发布在《30天自制操作系统》之前的帮助阅读贴
- 15-数据结构探险系列-图篇
- smarty模板引擎原理解析
- 浅析影响网站建设的因素有哪些?
- ClickHouse【环境搭建 02】设置用户密码的两种方式(明文+SHA256)及新用户添加及只读模式 Cannot execute query in readonly mode 问题解决
- Docker生成镜像的两种方式
- hybris commerce storefront的产品搜索功能
- Quartz Scheduler插件–隐藏的宝藏
- 自动添加html结束标志,HTML:包含或排除可选的结束标记?
- electron 入坑记
- python内置函数详解总结篇_Python内置函数详解——总结篇
- iOS版微信跟上了!已支持改微信号,修改后好友不会收到提醒
- 270 扩展固态硬盘_新款macbook扩展坞,内置固态硬盘盒,支持NVME M2协议,一秒传输1GB...
- Update批量更新
- P3717 cover
- 微云解析直链php源码,微云分享文件直链解析源码
- 利用计算机技术全面规划供应,英语翻译《物流术语》国家标准对供应链管理的定义:利用计算机网络技术全面规划供应链中的商流、物流、信息流、资金流等,并进行...
- 魔兽怀旧卓越服务器微信,《魔兽世界》怀旧服火爆超预期,部分服务器排队简直可怕...
热门文章
- 关于Date类型、时间戳格式转换方法
- H5 存储数据sessionStorage
- uni-app条件编译:#ifdef #ifndef #endif
- linux中info功能是什么意思,Linux中的info指令
- x内存满白苹果解决_苹果最佳MacBook和Mac:顶级苹果台式机和笔记本电脑
- c语言context窗口,如何在gtk3中为窗口小部件设置特定的css类? (C)
- html5 replace,js replace 与replaceall实例用法详解
- java容易搞混的技术_Java中比较容易混淆的知识点
- mysql skip slave_MYSQL replication slave-skip-errors 详解
- 计算机程序设计 大作业 vb,成人《VB程序设计》标准化大作业(答案)1