FLV封装SPEEX

FLV通常使用的是AAC音频格式,但实际上规范里面指定了很多格式。

支持的音频编码

在FLV规范里面,音频编码支持多种,支持的规范如下。

0 = Linear PCM, platform endian
1 = ADPCM
2 = MP3
3 = Linear PCM, little endian
4 = Nellymoser 16-kHz mono
5 = Nellymoser 8-kHz mono
6 = Nellymoser
7 = G.711 A-law logarithmic PCM
8 = G.711 mu-law logarithmic PCM
9 = reserved
10 = AAC
11 = Speex
14 = MP3 8-Khz
15 = Device-specific sound

采样率参数为

0 = 5.5-kHz
1 = 11-kHz
2 = 22-kHz
3 = 44-kHz

这里面需要主要的是AAC和其他格式不太一样,具体见 FLV中AAC格式

SPEEX支持

同AAC一样,多种音频格式并不受采样率参数影响,而是固定为某种具体的采样率,在规范编码中就可以看到。
SPEEX编码在FLV中是固定16K采样率,16比特(1)以及单通道(0),采样率位的值可以随便设置比如11kHz(1)。原始的SPEEX音频数据直接附加在TAG数据内就可以了。

最近的文章

修改VSCODE的TAB为空格

Visual Studio Code 是非常好用的代码编辑器,包括常用的编程语言。但是其设置相对其他IDE稍微复杂了一些,今天就遇到了格式化后代码使用了TAB缩进,而不是我之前设置的空格模式,毕竟空格模式在其他IDE下最终显示效果是不变的, 有些IDE的TAB设置的是8个空格哦。 修改VSCODE的 …

技术 继续阅读
更早的文章

SIP心跳

SIP协议分为普通心跳和会话心跳。 普通心跳由于SIP本身没有定义心跳,因而在实践中一般采用OPTIONS消息作为心跳,OPTIONS原来是用来作为获取对方能力的消息,正好也可以检测对方当前服务状态,比较合适。 正常情况下,UAS收到OPTIONS心跳,什么也不用做,直接回复200即可。 但是这种心 …

技术 继续阅读