视频流中ES,PES,PS,TS,RTP概念说明

本文详细介绍了音视频编码的原始流(ES)、打包流(PES)、节目流(PS)、传输流(TS)的概念及它们之间的关系。同时,解析了实时传输协议(RTP)、实时流协议(RTSP)、RTMP、HTTP在音视频传输中的应用,以及不同场景下的优劣对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ES:又称为原始流,直接从编码器出来,可以是编码过的H264,MJPEG,音频AAC,音频G711等。ES只包含一种内容的视频,如只含视频或者只含音频。

PES: ES流经PES打包器形成,将ES流分组,打包,加入包头。PES包由包头和payload组成。PES包是PES流的基本单位。
PTS(Decoding Time Stamp)/DTS(Presentation Time Stamp):打在PES包的包头里面,用于表示时间,是音视频同步的关键。在ffmpeg中,PTS表示显示的时间,DTS表示的是解码的时间。同时,用ffmpeg处理的时候PTS必须大于或等于DTS,否则会返回-22的错误。

PS(节目流):由PS组成,而一个PS包又由若干个PES包组成,到这里,ES经过了两层的封装。PS包头包含了同步信息与时钟恢复信息。
关于PS流的具体格式以及具体分析可以参考博客:作者写的很好,我看的时候和我获取的海康的PS流有一些出入,但大体上都差不多https://blog.csdn.net/chen495810242/article/details/39207305

**TS(传输流)?*由定长的TS包包组成(188字节),而TS包是对PES包的一个重新封装(到这里,ES也经过了两层封装)。TS流较PS流的优势是信息丢失情况更好。TS包中的数据可以是视频数据,音频数据,填充数据,PSI/SI表格数据等。

**RTP(实时传输协议):**是一种针对互联网上多媒体码流的传输协议。RTP协议时长用于互联网点播,视频会议,视频监控等应用。RTP使用的包为RTP包,作用域传输层。

拓展:
RTSP+RTP主要用于IPTV,原因是传输数据使用的是UDP,网络环境比较稳定时传输效率较高,作用于应用层。
RTMP主要用于互联网音视频传输,TCP传输。RTMP作为流媒体协议,FLV作为封装格式,H.264作为视频编码格式,ACC作为音频编码格式。

点播服务普遍采用了HTTP作为流媒体协议,点播服务采用的封装格式有多种:MP4,FLV等。

**说明:**这些概念的解释都是我从网上摘取下来的,可能有不正确的地方,欢迎指正。但是可以大概的了解一下,有需要再每一个自己去百度详细了解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值