电子商务网站平台建设目标,wordpress文本目录,怎么做百度联盟网站,网页设计公司网站设计音视频入门基础#xff1a;AAC专题系列文章#xff1a;
音视频入门基础#xff1a;AAC专题#xff08;1#xff09;——AAC官方文档下载
音视频入门基础#xff1a;AAC专题#xff08;2#xff09;——使用FFmpeg命令生成AAC裸流文件
音视频入门基础#xff1a;AAC…
音视频入门基础AAC专题系列文章
音视频入门基础AAC专题1——AAC官方文档下载
音视频入门基础AAC专题2——使用FFmpeg命令生成AAC裸流文件
音视频入门基础AAC专题3——AAC的ADTS格式简介
音视频入门基础AAC专题4——ADTS格式的AAC裸流实例分析
音视频入门基础AAC专题5——FFmpeg源码中判断某文件是否为AAC裸流文件的实现
音视频入门基础AAC专题6——FFmpeg源码中解码ADTS格式的AAC的Header的实现
音视频入门基础AAC专题7——FFmpeg源码中计算AAC裸流每个packet的size值的实现
音视频入门基础AAC专题8——FFmpeg源码中计算AAC裸流AVStream的time_base的实现
音视频入门基础AAC专题9——FFmpeg源码中计算AAC裸流每个packet的duration和duration_time的实现
音视频入门基础AAC专题10——FFmpeg源码中计算AAC裸流每个packet的pts、dts、pts_time、dts_time的实现 一、ADTS格式的AAC裸流实例分析
在《音视频入门基础AAC专题3——AAC的ADTS格式简介》中对AAC的ADTS格式进行了简介。下面用一个具体的例子来对ADTS格式的AAC裸流进行分析。 通过《音视频入门基础AAC专题2——使用FFmpeg命令生成AAC裸流文件》生成的AAC裸流文件就是ADTS格式的。用notepad打开该文件下图红框中的数据为文件头(header)可以看到Header为0xFF F1 50 80 03 9F FC也就是二进制的0b11111111 11110001 01010000 10000000 00000011 10011111 11111100注这里是因为先知道了Header里面没有CRC校验所以才确定它为7个字节 一adts_fixed_header
syncword占12位每个位都必须被设置为1也就是0b111111111111用于标识ADTS帧的起始位置 ID占1位值为0表示音频数据是MPEG-4 AAC layer占2位总被设置为00 protection_absent占1位值为1表示CRC校验不存在 profile_ObjectType占2位。值为1表示规格是AAC LC。该版本是AAC标准的基本部分其中“LC”代表“Low Complexity”意味着该编码器使用较少的计算资源来实现高质量的音频压缩 samplingFrequencyIndex占4位。值为0b0100也就是十进制的4表示音频采样频率为44100Hz private_bit占1位没用 channel_configuration占3位。值为0b010也就是十进制的2表示是双声道 original_copy占1位。值为0表示编码的比特流没有版权 home占1位。值为0表示比特流是一个拷贝 二adts_variable_header
copyright_identification_bit占1位。为72位版权标识字段中的一位 copyright_identification_start占1位。值为0表示没有版权标识传输 aac_frame_length占13位。值为0b11100也就是十进制的28表示整个ADTS音频帧的长度为28字节 adts_buffer_fullness占11位。值为0b11111111111也就是0x7FF表示比特流是可变速率比特流 number_of_raw_data_blocks_in_frame占2位。值为0表示该ADTS音频帧中只有一个AAC原始数据块 二、使用工具分析AAC裸流文件
实际开发中我们一般都是使用工具去分析AAC的Header。比如AAC Audio ES Viewer在Download - Jongbel Media Solutions 可以下载 用Elecard Stream Analyzer工具也可以分析AAC的Header