采样格式

定义:采样格式指的是音频样本数据的数字表示方式。常见的格式包括脉冲编码调制(PCM)格式,它们可以是浮点数(如32位浮点)或整数(如16位或24位)。
类型:

  • PCM S16LE/S16BE:16位有符号整数,小端/大端。这是CD音质的标准格式,提供足够的动态范围,文件大小适中。

  • PCM S24LE/S24BE:24位有符号整数,小端/大端。提供更宽的动态范围,常用于专业音频录制。

  • PCM F32LE/F32BE:32位浮点数,小端/大端。允许极其宽的动态范围,但文件大小也较大。

选择考量:选择合适的采样格式通常要平衡音质需求、存储空间限制和系统兼容性。

多声道系统

常见的多声道配置有

  • 5.1 系统:包括前左、前右、中央、低频效果(LFE)、后左和后右六个声道。
  • 7.1 系统:在 5.1 的基础上增加了两个侧面声道(侧左和侧右),以实现更全面的环绕声效果。
  • 其他配置:如 9.1 系统等,根据不同的应用需求,可能会有更多的声道配置。

在这个部分引入音频帧的计算,方便我们下面进行pts、dts、cts分析

音频帧的数据量 = 采样率 * 采样位宽 * 声道数 * 时间

播放时间 = 总采样数/采样率总采样数 = 音频帧数据量/声道数

各种官方文档都对这一部分有规定,总采样数(samples)指的是一个声道的采样,帧(frame)指的是一个时间点的样本集合,包(packet)指的是多个frame的集合

FFmpeg对于音频重采样的处理

首先是配置上下文swr_alloc_set_opts;接下来对于swr_init初始化音频采样格式等基础信息;由swr_convert执行实际的重采样工作;最后由swr_free释放资源。


本站由 Edison.Chen 创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

undefined