国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

AAC ADTS格式分析

2019-11-10 20:26:28
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1.ADTS是個(gè)啥

ADTS全稱(chēng)是(Audio Data Transport Stream),是AAC的一種十分常見(jiàn)的傳輸格式。

記得第一次做demux的時(shí)候,把AAC音頻的ES流從FLV封裝格式中抽出來(lái)送給硬件解碼器時(shí),不能播;保存到本地用pc的播放器播時(shí),我靠也不能播。當(dāng)時(shí)崩潰了,后來(lái)通過(guò)查找資料才知道。一般的AAC解碼器都需要把AAC的ES流打包成ADTS的格式,一般是在AAC ES流前添加7個(gè)字節(jié)的ADTS header。也就是說(shuō)你可以吧ADTS這個(gè)頭看作是AAC的frameheader。

ADTS AAC
ADTS_headerAAC ESADTS_headerAAC ES...ADTS_headerAAC ES

2.ADTS內(nèi)容及結(jié)構(gòu)

ADTS 頭中相對(duì)有用的信息 采樣率、聲道數(shù)、幀長(zhǎng)度。想想也是,我要是解碼器的話,你給我一堆得AAC音頻ES流我也解不出來(lái)。每一個(gè)帶ADTS頭信息的AAC流會(huì)清晰的告送解碼器他需要的這些信息。

一般情況下ADTS的頭信息都是7個(gè)字節(jié),分為2部分:

adts_fixed_header();

adts_variable_header();

syncWord :同步頭 總是0xFFF, all bits must be 1,代表著一個(gè)ADTS幀的開(kāi)始

ID:MPEG Version: 0 for MPEG-4, 1 for MPEG-2

Layer:always: '00'

PRofile:表示使用哪個(gè)級(jí)別的AAC,有些芯片只支持AAC LC 。在MPEG-2 AAC中定義了3種:

sampling_frequency_index:表示使用的采樣率下標(biāo),通過(guò)這個(gè)下標(biāo)在 Sampling Frequencies[ ]數(shù)組中查找得知采樣率的值。

There are 13 supported frequencies:

0: 96000 Hz1: 88200 Hz2: 64000 Hz3: 48000 Hz4: 44100 Hz5: 32000 Hz6: 24000 Hz7: 22050 Hz8: 16000 Hz9: 12000 Hz10: 11025 Hz11: 8000 Hz12: 7350 Hz13: Reserved14: Reserved15: frequency is written explictlychannel_configuration: 表示聲道數(shù) 

0: Defined in AOT Specifc Config1: 1 channel: front-center2: 2 channels: front-left, front-right3: 3 channels: front-center, front-left, front-right4: 4 channels: front-center, front-left, front-right, back-center5: 5 channels: front-center, front-left, front-right, back-left, back-right6: 6 channels: front-center, front-left, front-right, back-left, back-right, LFE-channel7: 8 channels: front-center, front-left, front-right, side-left, side-right, back-left, back-right, LFE-channel8-15: Reserved

frame_length : 一個(gè)ADTS幀的長(zhǎng)度包括ADTS頭和AAC原始流.

adts_buffer_fullness:0x7FF 說(shuō)明是碼率可變的碼流

3.將AAC打包成ADTS格式

如果是通過(guò)嵌入式高清解碼芯片做產(chǎn)品的話,一般情況的解碼工作都是由硬件來(lái)完成的。所以大部分的工作是把AAC原始流打包成ADTS的格式,然后丟給硬件就行了。

通過(guò)對(duì)ADTS格式的了解,很容易就能把AAC打包成ADTS。我們只需得到封裝格式里面關(guān)于音頻采樣率、聲道數(shù)、元數(shù)據(jù)長(zhǎng)度、aac格式類(lèi)型等信息。然后在每個(gè)AAC原始流前面加上個(gè)ADTS頭就OK了。

#define ADTS_HEADER_SIZE 7
static int m_sampleRateIndex = 3; // 48.0 KHZstatic int m_channel = 2; // 雙聲道static int m_profile = 1; // AAC(Version 4) LCstatic void add_adts_header(unsigned char *p, int es_len) {	int frame_len = ADTS_HEADER_SIZE + es_len;	*p++ = 0xff;                                    //syncword  (0xfff, high_8bits)	*p = 0xf0;                                      //syncword  (0xfff, low_4bits)	*p |= (0 << 3);                                 //ID (0, 1bit)	*p |= (0 << 1);                                 //layer (0, 2bits)	*p |= 1;                                        //protection_absent (1, 1bit)	p++;	*p = (unsigned char) ((m_profile & 0x3) << 6);  //profile (profile, 2bits)	*p |= ((m_sampleRateIndex & 0xf) << 2);         //sampling_frequency_index (sam_idx, 4bits)	*p |= (0 << 1);                                 //private_bit (0, 1bit)	*p |= ((m_channel & 0x4) >> 2);                 //channel_configuration (channel, high_1bit)	p++;	*p = ((m_channel & 0x3) << 6);                  //channel_configuration (channel, low_2bits)	*p |= (0 << 5);                                 //original/copy (0, 1bit)	*p |= (0 << 4);                                 //home  (0, 1bit);	*p |= (0 << 3);                                 //copyright_identification_bit (0, 1bit)	*p |= (0 << 2);                                 //copyright_identification_start (0, 1bit)	*p |= ((frame_len & 0x1800) >> 11);             //frame_length (value, high_2bits)	p++;	*p++ = (unsigned char) ((frame_len & 0x7f8) >> 3);  //frame_length (value, middle_8bits)	*p = (unsigned char) ((frame_len & 0x7) << 5);      //frame_length (value, low_3bits)	*p |= 0x1f;                                         //adts_buffer_fullness (0x7ff, high_5bits)	p++;	*p = 0xfc;                                          //adts_buffer_fullness (0x7ff, low_6bits)	*p |= 0;                                            //number_of_raw_data_blocks_in_frame (0, 2bits);	p++;}


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产精品久久久久一区二区国产| 最近中文字幕mv免费高清电影| 亚洲欧美精品日韩欧美 | 欧美卡一卡二| 国产激情视频在线| 天天干天天摸| 在线中文字幕av| 国产午夜在线| 九九99精品| 在线观看av中文| 日本不卡影院| 国产中文在线观看| 黄网站在线观看高清免费| 国产精品冒白浆免费视频| 国产精品一区二区三区视频网站 | 九九精品九九| 成年午夜在线| 国产经典av| www狠狠操| 天天操天天操天天色天天要| 国产精品臀控福利在线观看| 国产三级视频在线播放线观看| 国产高清免费在线播放| 亚洲社区在线| 1区2区视频| 香蕉视频在线看| 国产极品嫩模在线视频一区| 天堂中文在线观看| 国产深夜视频在线观看| 91在线网址| 国产不卡在线| 日本国产在线| 精品国产一区二区三区四区阿崩| www.蜜桃av| 国产福利免费观看| 国产女人在线观看| 麻豆av在线| 欧美日韩久久中文字幕| 在线免费国产视频| 大香伊人中文字幕精品| 亚洲综合激情六月婷婷在线观看| 国产小视频在线高清播放| www亚洲天堂| 在线免费观看黄色片| 91av资源在线| 久草亚洲一区| 丁香婷婷激情| 麻豆网站在线| 久久久久国产精品嫩草影院| www.久草.com| 久久精品最新免费国产成人| а√天堂www在线а√天堂视频| 在线成人一区| 免费看ww视频网站入口| 激情丁香久久| 国产老肥熟xxxx在线观看| 免费看ww视频网站入口| 激情视频国产| 日韩av成人| 最新天堂资源在线资源| 午夜视频99| 国产精品乱码一区二区三区视频| 中文字幕不卡| 精品欧美日韩一区二区| 永久免费不卡在线观看黄网站| 精品国产免费第一区二区| 日本在线天堂| 天堂在线免费av| 在线三级中文| 国产深夜视频在线观看| 任你操视频在线观看| 国产麻豆一级片| 国产成在线观看免费视频| 天天插天天色| 二区三区中文字幕| 国产精品秘入口| 麻豆av在线| 亚洲免费国产| 午夜av电影| 老司机在线视频二区| 国产三级在线| 成人精品一区二区三区免费| 在线看黄网址| 国产精品理人伦一区二区三区 | 国产三区视频在线观看| 亚洲欧美精选| 国产二区视频在线观看| 国产在线一二三区| 亚洲精品国自产拍在线观看| 黄色av网站在线| 日本在线免费中文字幕| 日本中文字幕高清视频| 国产黄色片中文字幕| 狠狠干五月天| 午夜在线视频| 国产福利电影在线| 中文字幕在线观看日本| 免费一区二区在线观看| 在线欧美一级视频| 999国产在线视频| 黄色激情网址| 日本成人网址| www.五月色.com| jlzzjlzz欧美大全| 亚洲а∨精品天堂在线| 伊人永久在线| 亚洲欧美自拍另类| 国产高清一级片| 国产va在线| 国产91在线视频蝌蚪| 国产精品白浆流出视频| 国产视频二区在线观看| 国产欧美日本亚洲精品一4区| 非洲黑人最猛性xxxx交| 国自产拍在线网站网址视频| 欧美成人亚洲高清在线观看| 日本h片在线观看| 国产69精品久久app免费版 | 国产精品爱久久久久久久小说| 国产乱妇乱子| 91在线超碰| 四虎影院成人| 国产麻豆精品视频一区二区| 99热在线观看免费| 国产白浆在线| 青青草视频免费在线观看| 爱福利在线视频| 狠狠色综合久久婷婷| 国产精品你懂的在线观看| 永久免费不卡在线观看黄网站| 日本成人在线播放| 国产日本在线观看| 日本福利在线| 国产丝袜在线| 天天草天天爽| 国产精品麻豆一区二区三区 | 国产区在线视频| av高清在线| 天天操天天艹| 丝袜理论片在线观看| 四虎a级欧美在线观看| 国产天堂在线观看| 狠狠操视频网| 一个人看的www免费观看视频| 九九热视频免费在线观看| 国产porn在线| 国产麻豆高清视频在线第一页| 尤物在线精品视频| 国产精品入口麻豆高清| 国产在线超碰| 免费观看一二区视频网站| 91中文字幕| 国产传媒在线播放| 国产系列电影在线播放网址| 欧美视频免费一区二区三区| 国产激情网址| 国产特级毛片| 国产视频二区| 国产超级va在线视频| 国产黄视频在线观看| 五月亚洲综合| 国产理论电影在线观看| 九九99精品| 国产卡二和卡三的视频| 丁香视频免费观看| 91福利在线免费| 国产视频精品久久| 国产青草视频在线观看视频| 国产一级片在线播放| 国产一二区视频| 最近中文字幕mv免费高清在线| 国产真实伦在线观看| 高清视频一区二区三区四区| 欧美啪啪精品| 国产女王在线**视频 | 国产精品视频一区二区久久 | 中文字幕亚洲免费| 四虎成人欧美精品在永久在线| av激情在线| av免费在线播放| 人人九九精品| 精品久久av| 992tv在线观看在线播放| 中文乱码字幕av网站| www.夜夜操.com| 青青艹在线视频| 丁香在线视频| 国产黄大片在线观看画质优化| 99精品老司机免费视频| 在线观看视频污| 久久亚洲天堂| 在线国产网址| 毛片视频免费观看| 国产网红在线观看| 在线观看中文字幕一区| 丁香花在线电影小说观看| 精品日韩av| 中文字幕视频在线免费| 中文av字幕| 国产一级二级在线|