AMR文件怎么存储的
amr是3gpp开发的语音编码规范,初衷是用在3g语音通信,但没想到3g是如此的昙花一现。不过amr被2g、4g都采用并发扬光大,高压缩比下提供清晰的语音,令amr傲视其他的编码格式。不仅如此,应运而生的amr语音文件,也为录音和网络语音传输提供了很低的payload。一直很好奇这个语音文件的格式是啥样滴。于是收集网络信息,发现原来amr文件的组织来如此简单,
文件头
语音帧 1
语音帧 2
…
而对于单声道的文件头只是#!AMR\n
的ASCII码,宽带的是#!AMR-WB\n
。然后每帧有一个简单的帧头。复杂一点的是amr数据比特的排布,细节都在参考文档rfc4867的5. AMR and AMR-WB Storage Format
章节有详细描述,
只要记住
- 话音帧遵守
octet
对齐, octet
内遵守 big endian(最高位存最前面的比特),- 核心codec遵守3gpp的标准,
这三个原则,amr文件格式的阅读就没有困难了。
参考文档
3gpp ts26.101:
rfc4867:RTP Payload Format and File Storage Format for the Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB) Audio Codecs
AMR文件格式的解释
Conversion between AMR (Adaptive Multi-rate Codec) file formats
AMR文件怎么存储的相关推荐
- 网页上播放微信录音amr文件方案
在最近的H5项目中,遇到了个棘手的问题. 项目中需要使用微信录音的JSSDK接口,录完音后上传到自己的服务器上.流程如图: 整个流程非常清晰,也十分顺利.但下载到网站服务器上的文件时amr格式的音频文 ...
- 「微信帐号amp;语音文件」结构分析-amr文件
1.关于微信账号 这里提到的微信内部账号(UIN)有三种可能的结构:9位数.10位数.1个负号拼接10位数. UIN记录在/data/data/com.tencent.mm/shared_prefs/ ...
- js html保存json,如何在json文件中存储jQuery或javascript变量?
我可以知道有没有机会将jquery变量保存在json文件中?提前致谢.如何在json文件中存储jQuery或javascript变量? 我: var image='/test/test.png'; 我 ...
- Android 文件的存储和加载
Android 文件的存储和加载,主要用于请求网络中json文件的缓存,引入了一个简单的过期时间,供大家参考学习! 文件存储 1 private void saveLocal(String json, ...
- php长传文件到数据库,php上传文件并存储到mysql数据库的简单示例
这篇文章主要为大家详细介绍了php上传文件并存储到mysql数据库的简单示例,具有一定的参考价值,可以用来参考一下. 对php上传文件并存储到mysql数据库感兴趣的小伙伴,下面一起跟随512笔记的小 ...
- 文件 云存储服务器配置,文件和存储服务器配置
文件和存储服务器配置 内容精选 换一换 本课程主要针对openEuler操作系统工程师在基础运维工作,以文件共享服务器的搭建和运维为案例,讲解openEuler操作系统的基础知识,并培养基础运维操作能 ...
- 修改mysql文件的存储路径
使用本地数据库时,常常会发生磁盘爆满变红的情况,特别是C盘,这时候我们希望将mysql本地数据库存储的文件移动到D盘或者E盘,下面是手动调整的办法: 1.关闭mysql服务: 左下角开始处输入&quo ...
- java 安卓下载文件_GitHub - Charay/downloadfile: 使用Retrofit2+Rxjava+Rxandroid+okhttp的方式下载文件并存储到sd卡指定目录...
downloadfile 使用Retrofit2+Rxjava+Rxandroid+okhttp的方式下载文件并存储到sd卡指定目录 使用: gradle Step 1.在工程build.gradle ...
- 导入开源的文件云存储平台-Seafile
1 理论基础 1.1 简介 Seafile 是一个开源的文件云存储平台,更注重于隐私保护和对团队文件协作的支持. Seafile 通过"资料库"来分类管理文件,每个资料库可单独同步 ...
- python文件、存储、压缩
python文件.存储.压缩 回忆:在第九章又强调了"保留分隔符"这样的核心笔记,其实在上章已经解释了.其实就是为了不同系统之间文件结束符的统一性.就是\n\r, \n或者其他系 ...
最新文章
- linux基础篇-02,linux时间管理date hwclock cal 简述
- Swift反射API及其用法
- factorytalkview 卡 86_徕卡M党的街拍小贴士
- 用户画像标签维度_神策数据钟秉哲:一文了解用户标签画像,从洞察到突破
- C#中'??'符的使用
- python数据处理框架_python 最快 web 框架 Sanci 快速入门
- 本田与索尼宣布将成立合资企业 计划2025年开始销售电动汽车
- myelclipse Servers视图报错
- 如何部署WAR到tomcat?
- plc secs半导体通讯协议 PLC 与MES的SECS/GEM通讯方案
- web测试,APP测试和小程序测试特点
- 怎么删除服务器的ibd文件,mysql数据库ibd文件
- C# Word控件 文档保护
- [AHK]新浪实时股票数据接口
- 光滑曲线_光滑曲线可求长定理证明
- 【数字图像处理】特征提取轮廓特征对黑色素瘤恶性/良性分类
- [Golang]写文件的权限定义perm
- 邓号用计算机怎么输入,电脑上顿号怎么打出来
- Silverlight技术是什么
- 【末日时在做什么?有没有空?可以来拯救吗?】Scarborough Fair
热门文章
- 梯形公式预测校正matlab_鲁棒预测控制(Robust MPC)
- Nessus访问报错(Corrupt Database A corrupt database has been detected which prevents Nessus from........)
- Android resource compilation failed 一定能搞定的办法
- 守卫工厂智能 当SDN遇上智能制造
- 赛扬n5095处理器怎么样 英特尔n5095核显相当于什么水平
- androidStudio连接不上模拟器(夜神模拟器)
- 特斯拉model3中控屏怎么关_特斯拉Model 3为什么取消仪表盘?
- 阿里云网站备案基础知识-什么是网站备案
- AcWing 303 运输小猫
- 大道至简:数据库的终极未来