如何正确配置 ADTS报头以支持中的AAC。我可以配置LC和Main。
如下文所述
https://wiki.multimedia.cx/index.php?title=ADTS
配置文件只需要两位(E2配置文件,MPEG-4音频对象类型减1),但对于AACObjectELD的配置文件值是39,即: 0010 0110
private void addADTStoPacket(byte[] packet, int packetLen) {
int profile = 39; // 2 - AAC LC, 39 = MediaCodecInfo.CodecProfileLevel.AACObjectELD;
int freqIdx = 8; // 4 44.1KHz 8 16KHZ
int chanCfg = 2; //2 channel
// fill in ADTS data
packet[0] = (byte)0xFF;
packet[1] = (byte)0xF1;
packet[2] = (byte)(((profile-1)<<6) + (freqIdx<<2) +(chanCfg>>2));
packet[3] = (byte)(((chanCfg&3)<<6) + (packetLen>>11));
packet[4] = (byte)((packetLen&0x7FF) >> 3);
packet[5] = (byte)(((packetLen&7)<<5) + 0x1F);
packet[6] = (byte)0xFC;
}请你帮忙。
提前感谢
约瑟夫
发布于 2019-07-18 06:20:44
很抱歉你不能这么做。adts只支持aac主/lc配置文件。
如果yout想要支持aac-ld aac-el.you必须使用mp4。常用的aac frame_size为1024.960,aac-ld和eld为960480.
https://stackoverflow.com/questions/40014508
复制相似问题