简单的记录一下,在合成FLV文件时候,按照规范必须是特定采样率的AAC才行,但实际上并没有这个要求,只需要携带AAC的Audio Specific Config就可以了。
按照FLV的规范要求,AAC可设置的采样率如下。
0 = 5.5-kHz
1 = 11-kHz
2 = 22-kHz
3 = 44-kHz
实际上平时时候的采样率很多,比如16K、32K等等,在Audio Specific Config定义的采样率
0: 96000 Hz
1: 88200 Hz
2: 64000 Hz
3: 48000 Hz
4: 44100 Hz
5: 32000 Hz
6: 24000 Hz
7: 22050 Hz
8: 16000 Hz
9: 12000 Hz
10: 11025 Hz
11: 8000 Hz
12: 7350 Hz
13: Reserved
14: Reserved
15: frequency is written explictly
其定义基本满足了正常需求,因此在FLV第一个TAG里面传送Audio Specific Config按真实值设置即可,TAG内的随便设置并不影响。
另外AAC在FLV正常是不带ADTS头的,某些环境或者库是支持携带的有些是不行的,比如腾讯的小程序媒体播放在 Android 上是支持的,在 iOS 上是不支持的。