音视频入门基础: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音频流:

相关推荐
大师兄带你刨AI26 分钟前
「AI产业」| 《中国信通院&华为:智能体技术和应用研究报告》
大数据·人工智能
武子康35 分钟前
大数据-31 ZooKeeper 内部原理 Leader选举 ZAB协议
大数据·后端·zookeeper
zkmall43 分钟前
ZKmall模块商城批发电商平台搭建方案,多商户支持 + 订单管理功能全覆盖
大数据·人工智能
正在走向自律1 小时前
第二章-AIGC入门-开启AIGC音频探索之旅:从入门到实践(6/36)
人工智能·aigc·音视频·语音识别·ai音乐·ai 音频·智能语音助手
Edingbrugh.南空2 小时前
Flink Postgres CDC 环境配置与验证
大数据·flink
isNotNullX3 小时前
什么是数据分析?常见方法全解析
大数据·数据库·数据仓库·人工智能·数据分析
小袁拒绝摆烂3 小时前
ElasticSearch快速入门-1
大数据·elasticsearch·搜索引擎
点控云4 小时前
智能私域运营中枢:从客户视角看 SCRM 的体验革新与价值重构
大数据·人工智能·科技·重构·外呼系统·呼叫中心
zkmall5 小时前
企业电商解决方案哪家好?ZKmall模块商城全渠道支持 + 定制化服务更省心
大数据·运维·重构·架构·开源
随缘而动,随遇而安9 小时前
第八十八篇 大数据中的递归算法:从俄罗斯套娃到分布式计算的奇妙之旅
大数据·数据结构·算法