常见音频编码格式(转)
音频帧大小计算
假设音频采样率 = 8000,采样通道 = 2,位深度 = 16,采样间隔 = 20ms
首先我们计算一秒钟总的数据量,采样间隔采用20ms的话,说明每秒钟需采集1000/20=50次,这个计算大家应该都懂,那么总的数据量计算为:
一秒钟总的数据量 = 8000 * 2 * 16/8 = 32000
所以每帧音频数据大小 = 32000/50 = 640
每个通道样本数 = 640/2 = 320
G711、G726、AAC
如上表,那么音频的帧长又是个什么概念呢?
其实,音频的帧的概念没有视频帧那么清晰,几乎所有视频编码格式都可以简单的认为一帧就是编码后的一副图像。但音频帧跟编码格式相关,它是各个编码标准自己实现的。因为如果以PCM(未经编码的音频数据)来说,它根本就不需要帧的概念,根据采样率和采样精度就可以播放了。比如采样率为44.1kHZ,采样精度为16位的音频,你可以算出bitrate(比特率)是4410016kbps,每秒的音频数据是固定的4410016/8 字节。
对采样率为44.1kHz的AAC(Advanced Audio Coding)音频进行解码时,一帧的解码时间须控制在23.22毫秒内。通常是按1024个采样点一帧。
以上表G.711的帧长为480为例,那么一帧的时间长度即为480/8khz=0.06s=60ms。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库