#低延迟 #范围 #请求 #编解码器 #HTTP #通道

bin+lib soundkit

适用于低延迟音频的音频格式

5 个版本

新增 0.10.0 2024年8月25日
0.9.3 2023年5月15日
0.9.2 2023年5月15日
0.9.1 2023年5月15日
0.9.0 2023年5月14日

700音频 类别中

每月 36 次下载

MIT 许可证

3MB
842 代码行

soundkit

一个用于通过 SRT 和 HTTP Range 请求处理低延迟音频的包

音频数据包头部编码

此包提供音频数据包头部的编码和解码。头部编码用于指定数据包中随后的音频数据的详细信息。这包括有关编码方法、配置参数和每个通道的帧大小的信息。

头部结构

头部结构如下

|-----------------------------------------------------------------------------|
|    Flag + Config ID    |   Channel Count   |    Frame Size 1    |    ...    |
|-----------------------------------------------------------------------------|
|         1 Byte         |       1 Byte      |       2 Bytes      |    ...    |
|-----------------------------------------------------------------------------|
  • 标志 + 配置 ID:这是一个单字节,其中最高位3位表示编码方法,低位5位表示音频配置。
  • 通道数:表示音频数据中通道数的字节。
  • 帧大小:每个帧大小占用2个字节。头部中的此类条目数量等于通道数。每个条目代表相应通道的帧大小。

编码标志

EncodingFlag 指示用于音频数据的编码方法。目前支持两种编码方法

  • PCM(值 0):此标志表示使用脉冲编码调制(PCM)编码。PCM 是一种用于数字表示模拟信号的方法。
  • Opus(值 1):此标志表示使用 Opus 编码。Opus 是一种用于高效编码语音和通用音频的单格式有损音频编码格式。

音频配置

AudioConfig 是一个枚举,表示音频数据的采样率和比特深度。以下配置受到支持

  • Hz44100Bit16
  • Hz44100Bit24
  • Hz44100Bit32
  • Hz48000Bit16
  • Hz48000Bit24
  • Hz48000Bit32
  • ...
  • Hz352800Bit32

每个配置表示采样率(以 Hz 为单位)和比特深度(以位为单位)的组合。例如,Hz44100Bit16 表示采样率为 44100 Hz,比特深度为 16 位。

依赖项

约 5.5MB
102K SLoC