音频 ACC 的ADTS格式分析

AAC(高级音频解码)音频格式: 是一种由mpeg-4标准定义的有损音频压缩格式。

AAC格式分为2 种: ADIF(音频数据交换格式)和 ADTS (音频的传输流格式),ADIF只有一个统一的头,可以确定的找到这个音频数据的开始,必须得到所有的数据后才能解码,常用在磁盘文件中。ADTS则是每一帧都有头信息,可以在任意帧解码,它是一个有同步字的比特流,解码可以在这个流中任何位置开始。

两者的组织结构如下:

目前一般编码后和抽取出的都是ADTS格式的音频流,当编码ACC裸流时出现写出来的不能播放出来,可能就是AAC文件的每一帧数据缺少ADTS头信息,加入ADTS头信息对原始数据帧进行封装,就形成了ADTS帧。

AAC(ADTS格式)文件的每一帧由ADTS Header和AAC AUdio Data组成。结构体如下:

每一帧的ADTS头文件信息都包含了音频的采样率、声道、帧长度等信息,一般情况下ADTS的头信息都是7个字节(也有9个字节),分为固定头信息和可变头信息2部分,固定头信息中的数据每一帧都相同,可变头信息则在帧与帧之间可变。

接下来看看可变头信息adts_variable_header();

TS流数据中的音频数据中自带了ADTS头信息,不需要开发者另外再增加ADTS头信息。ADTS头信息的代码片段如下:

相关推荐
揽秀亭长10 小时前
视频转脚本有哪些方法?5种方案技术拆解
人工智能·音视频
Android系统攻城狮12 小时前
Linux Gstreamer深度解析之gst_audio_sink_get_type调用流程与实战(六十五)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
程序猿追13 小时前
HarmonyOS 6 音视频实战:用 AVPlayer 做一个本地音乐播放器
华为·音视频·harmonyos
weixin_6906547415 小时前
龙迅#LT9611EX 现MIPI转HDMI1.4功能主推型号,分辨率高达4K30HZ,IC内置I2C无需外部12C控制。
嵌入式硬件·音视频·信号处理
Light6019 小时前
谁在给大模型出题、卖题、判卷:一门 300 亿估值的生意,和它正在漏掉的部分
音视频
甜到心里的蛋糕19 小时前
云主机部署图片/视频管理系统的实践经验
python·音视频
可乐鸡翅yeah_19 小时前
HLS 业务 Referer‑Policy 网页元标签引发播放异常排错
前端·javascript·网络·ffmpeg·php·音视频
YEGE学AI算法20 小时前
KWS语音唤醒系统完整链路:音频前处理、Fbank、阈值与冷却逻辑
python·音视频·语音唤醒·kws·fbank
EasyDSS21 小时前
基于WebRTC的视频会议系统:私有化视频会议平台EasyDSS视频会议到底能干什么
音视频·webrtc·easydss
mont evergreen21 小时前
RTMP 连接单元测试之旅
单元测试·音视频·源码解读