音视频入门基础:MPEG2-TS专题(20)——ES流简介

《T-REC-H.222.0-202106-S!!PDF-E.pdf》第27页对ES进行了定义。ES流是PES packets(PES包)中编码的视频、编码的音频或其他编码的比特流。一个ES流(elementary stream)在具有且只有一个stream_id的PES packets序列中携带:

在《音视频入门基础:MPEG2-TS专题(18)------PES流简介》 中讲到,PES流中一个PES packet由PES packet header(PES包的包头)和PES packet data bytes(PES包的负载)组成。而PES packet data bytes中携带的就是ES流,即包含视频、音频或数据的连续码流。

PES packet的PES packet header中有一个占1字节stream_id属性,指定ES流的类型和编号:

从《音视频入门基础:MPEG2-TS专题(16)------PMT简介》中也可以知道,在PMT表中存在一个stream_type属性,指定媒体流的类型:

下面通过两个具体的例子进行验证:

(一)当某TS流中的PMT表中stream_type属性的值为0x1B时,从上面表格中可以查到对应的媒体流类型为AVC,即H.264视频流:

通过Elecard Stream Analyzer工具可以查看到其对应elementary_PID的视频就是以0x000001作为起始码的AnnexB格式的H.264码流(关于AnnexB可以参考:《音视频入门基础:H.264专题(3)------EBSP, RBSP和SODB》)。也就是说该TS流中对应elementary_PID的ES流就是AnnexB格式的H.264码流:

(二)当某TS流中的PMT表中stream_type属性的值为0x0F时,从上面表格中可以查到对应的媒体流类型为ADTS包装的AAC音频流:

通过Elecard Stream Analyzer工具可以查看到其对应elementary_PID的音频就是syncword属性固定为0b111111111111的ADTS包装的AAC音频流(关于ADTS可以参考:《音视频入门基础:AAC专题(3)------AAC的ADTS格式简介》)。也就是说该TS流中对应elementary_PID的ES流就是ADTS包装的AAC音频流:

相关推荐
郝学胜-神的一滴19 分钟前
AI 编程智能体 17:四步搞定专属AI智能体
大数据·人工智能·python·神经网络·算法·langchain·强化学习
vx1530278236224 分钟前
CDGA|AI时代,数据治理的位置下沉了吗?
大数据·人工智能·cdga·数据治理
程序员梅雨26 分钟前
【从零开始学习数据仓库 | 第一篇】:维度建模理论
大数据·数据仓库·学习·阿里云·数据分析
TDengine (老段)30 分钟前
TDengine IDMP 十大实用功能(2)
大数据·数据库·chrome·时序数据库·tdengine·idmp·有问有答
海宇AI1 小时前
零信任架构实战:基于海宇学籍核验三要素构建自动化文旅景区学生票核验网关
大数据·人工智能·架构·自动化
智塑未来1 小时前
AI视频翻译配音工具怎么选?5款工具的链路覆盖对比
人工智能·音视频
Bode_20022 小时前
美的集团数智化创新‌
大数据·人工智能
瓶瓶持续学习中3 小时前
空间智能与物理AI:国内厂商如何与英伟达协同发展
大数据·人工智能·信息可视化·架构
阿乔外贸日记3 小时前
外贸风控|美国市场7大类欺诈模式解析与风控框架
大数据·人工智能·物联网·microsoft·智能手机
金融小师妹3 小时前
时间序列分析:历次联储利率调整与政策周期变化研究
大数据·人工智能·逻辑回归