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

流媒体开发必看:GB28181中的RTP/PS封装与Wireshark抓包分析指南 本文深入解析GB/T28181标准中视频流传输的核心环节——RTP/PS封装,并提供使用Wireshark进行抓包分析的实战指南。文章详细阐述了PS封装结构、RTP头部关键字段(如SSRC、时间戳)的解析方法,并通过实际案例演示如何定位和解决视频花屏、卡顿等常见媒体流问题,是流媒体开发与排障的实用参考。 阅读详情

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.youkuaiyun.com/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等。

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

【音视频】H265-NALU-AVpacket-PS-RTP(GB28181) 解析H265视频流封装成PS流通过RTP包发送逻辑分析 阅读详情

相关推荐

GB28181流媒体开发实战:RTP/PS封装与Wireshark抓包深度解析

在实时音视频传输领域,RTP(实时传输协议)是承载媒体流的核心传输层协议,它通过序列号和时间戳机制应对网络抖动与乱序,为实时性提供基础保障。其技术价值在于为视频会议、安防监控等低延迟应用提供了标准化的传输框架。在实际工程中,原始编码数据通常需要进一步封装,例如GB28181标准普遍采用的PS(节目流)格式,它将音视频流复用并加入时间戳,形成自包含的传输单元。应用场景广泛覆盖安防监控、视频会议等需要可靠媒体传输的领域。本文聚焦于GB28181协议栈,深入剖析RTP负载中PS封装的结构与重组逻辑,并手把手演示如

weixin_30421809的博客 634

流媒体中的常用网络传输协议

一、RTP、PS、TS音视频打包 1、RTP是什么协议? RTP是实时传送协议(Real-time Transport Protocol)的缩写。其代表一个网络传输的协议,为音频、视频上传中的常用协议。 2、PS和TS是什么包? ES是MPEG的基本数据,包含视频ES和音频ES,为了保持视音频在传输中同步,分别把视频和音频的ES切成N段打包成PES,然后把PES封装成PS或者TS包,TS流主要用于传输,所以TS采用定长的188或204字节打包,便于在传输过程中纠错和同步,合适传输CBR数据,..

syj_comeon的专栏 4069

RTP、RTSP和ES、PES、PS以及TS码流的区别

ES、PES、PS以及TS区别 基本概念 ES ES–Elementary Streams (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。 ES是只包含一种内容的数据流,如只含视频或只含音频等,打包之后的PES也是只含一种性质的ES,如只含视频ES的PES,...

学无止尽,谨言慎行! 1万+

RTSP/RTMP推流组件PushStream推送PS流到EasyDarwin示例

技术在于交流、沟通,转载请注明出处并保持作品的完整性。 原文:https://blog.youkuaiyun.com/hiwubihe/article/details/84670875  [本系列相关文章] 基于c++实现RTSP/RTMP推流组件PushStream简介 RTSP/RTMP推流组件PushStream推送H264到EasyDarwin示例 RTSP/RTMP推流组件PushStre...

音视频技术之路QQ_1695710968 1213

Linux音视频学习--数据流封装打包(PS、RTP)概念介绍

四、封装打包 PS打包方式 PS早期用做存储,所以有严格的组织形式,包、帧、流各个级别都有私有信息,通常录像就是用这个格式来存储的 1、ES ES–Elementary Streams (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。 ES是只包含一种内容的数据流,如只含视频或只含音频等,打包之后的PES也是只含一种性质的ES,如只含视频ES的PES,只含音频ES的PES等

文艺小少年的博客 1184

RTP点对点音视频传输TS流的Java实现

本文将介绍如何使用Java实现RTP点对点传输TS流的功能。本文介绍了如何使用Java实现RTP点对点传输TS流的功能。我们使用了Jave-RTSP库和FFmpeg工具来实现音视频的传输。通过设置输入文件路径、目标地址和端口,我们可以将TS流转换为RTP流并将其传输到指定的目标地址。对象,并设置了FFmpeg的路径,该路径指向你的本地FFmpeg可执行文件的位置。需要注意的是,为了使代码成功运行,你需要确保你的系统中安装了FFmpeg,并将其路径正确地设置在代码中。替换为你想要传输到的目标地址和端口。

DevGlider的博客 683

流媒体基础知识TS流 PS流 ES流区别

海康的接口文档 预览接口NET_DVR_RealPlay_V40中预览参数的播放窗口句柄(hPlayWnd)可以设置为空值,直接设置回调函数,或者调用预览接口之后,通过NET_DVR_SetRealDataCallBack、NET_DVR_SetStandardDataCallBack设置回调函数,回调获取实时流数据(前两个接口设置的回调获取的是PS封装的码流,后者获取的是标准RTP封装的码流)之后用户后续自己处理,比如二进制流方式写入文件保存成录像或者调用播放库解码显示等操作。 IP数...

qingdao666666的博客 1215

wireshark分析PS流格式解析详解

手把手教你 wireshark ps流解析

weixin_44834554的博客 3548

音视频入门基础:MPEG2-TS专题(19)——FFmpeg源码中,解析TS流中的PES流的实现

FFmpeg源码中,解析PES流的实现

崔杰城的博客 1451

28181 ps流解析成es流,rtp包解析

28181 ps流解析成es流,rtp包解析:包括 28181 ps流解析成es流 28181 rtp包解析 -> ps流 -> es流

Qt Creator设计器里也能拖拽?5步将你的QML自定义控件变成可视化插件(Qt6.5+)

本文详细介绍了如何在Qt Creator设计器中实现QML自定义控件的可视化拖拽功能(Qt6.5+)。通过5个步骤,从构建可插件化的QML控件基础到部署插件到设计器环境,帮助开发者将自定义控件转化为设计器插件,提升团队协作效率。特别适合需要频繁调整UI样式的开发场景。

weixin_29214559的博客 170

MP4视频微信内网页播放黑屏的问题探索

海康威视监控下载下来的mp4格式的视频,小类别MPEG-PS格式 海康下载视频格式:用mediainfo查看 普通mp4格式用mediainfo查看 自己试了很多方法,html5的 Video控件没法播放,ckplayer没法播放。

weixin_37391237的博客 8226

SpringCloud2025+SpringBoot3.5.0+gateway+webflux子服务路由报503

本来昨天就应该也记录下,免得忘记的,但是有点晚了,酒没写,真的是被坑惨了。当然这也是追求最新的代价,也是对新技术、老知识点的重温。依赖更粒度让架构的知识面更高,需要非常清楚另外说不定是有新的负载均衡要出现了,就想当初loadbalancer取代Ribbon一样好了,真是坑了半夜,昨晚都没有写,今天才复盘,希望能帮到大家,让更多在坑里的技术人爬出来。

zwrlj527的专栏 1998

音视频入门基础:MPEG2-TS专题(26)——通过FFmpeg命令使用RTP发送TS流

通过FFmpeg命令使用RTP发送TS流

崔杰城的博客 1631

wsl --install 不执行,显示帮助信息

在安装使用wsl的时候碰到了wsl --install 不执行,而显示帮助信息,提供了解决方案。

水滴爬呀爬 2770

科研级YOLOv8 Neck革新:BiFPN双向特征金字塔赋能,让多尺度融合更高效的实战指南

在文件夹下新建BiFPN.py,将上述BiFPNLayer和BiFPN类的代码写入其中。这一步是为了让YOLOv8的代码架构能识别我们的自定义Neck模块。

m0_64661770的博客 153

音视频,流协议整理

音视频,流协议整理流协议ES 流 (Elementary Stream)PES 流 (Packet Elementary Stream)TS 流 (Transport Stream)PS 流 (Program Stream)PSM (program_stream_map)传输协议RTP 实时传输协议 (Real-time Transport Protocol)RTCP 实时传输控制协议 (RTP Control Protocol)RTSP 实时流传输协议 (Real Time Streaming Proto

sunsteam的博客 1467

【EB_Tresos专题】-06-配置一个UDS诊断DID

<--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <--返回「个人博客」首页--> <--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <--返回「个人博客」首页--> 结尾 ...

「汽车电子助手」的博客 4085

GB28181 PS流传输格式详解:从RTP解包到媒体帧提取

本文详细解析了GB/T28181视频监控系统中MPEG-2 PS流的封装与解析过程。首先阐述了PS流被选用的原因(简单性、同步机制和历史兼容性),对比分析了PS与TS流的差异。重点剖析了PS流的结构:包含PS包头、系统头、节目流映射(PSM)和PES包,详细说明了视频关键帧、非关键帧和音频帧的不同封装格式。文章还解读了GB28181对PS流的特殊约定,介绍了RTP承载PS流的传输细节(包括TCP/UDP模式处理)。最后提供了从RTP包解析出H.264帧的完整步骤,帮助开发者理解如何从接收到的PS流数据中可靠

程序猿老樊的博客 347

ruoyi-vue-pro集成magic-api(图文代码)

原先写过简单的集成:了解 magic-api的基本用法 附实战代码 magic-api相关文档推荐阅读:接口鉴权 相关的Java代码推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全) 【Java项目】实战CRUD的功能整理(持续更新)

码农研究僧的博客 7万+

麒麟v10系统安装

麒麟v10系统安装

喜文BLOG 1万+

PES,TS,PS,RTP等流的打包格式解析之RTP流

本篇介绍RTP包封装格式 1.RTP包头格式 RTP包头占位12个字节,其字段组成如下图所示: V字段:RTP协议版本号,占位2bit,当前协议为V=2; P字段:填充字段,占位1bit,如果P=1,则表示此包的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。 X字段:扩展字段,占位1bit,如果x=1,则表示RTP包头后面跟有一个扩展报头; CC字段:C

appledurian的博客 6560

道路施工检测 (construction) - 基于Mapillary Vistas数据集的YOLOv11目标检测及UI界面实现

目标检测是计算机视觉的重要任务,目标是识别图像中的目标物体类别及其位置(用边界框表示)。两阶段检测器:如Faster R-CNN,准确度高但速度较慢单阶段检测器:如YOLO系列、SSD,速度快且精度相对较好,适合实时场景数据量:约25,000张高分辨率街景图标注类型:语义分割、实例分割、多类别检测类别示例:construction, road, car, person, traffic sign等格式:COCO风格JSON标注。

YOLO 496

PS封包到rtp中

相关索引:https://blog.youkuaiyun.com/knowledgebao/article/details/84776869 PS封包到rtp中 PS Header(2.5.3.3) PS System Header PS system Map PES Header PS封包到rtp中  针对H264 做如下PS 封装:每个IDR NALU 前一般都会包含SPS、PPS 等NAL...

knowledgebao的博客 2561

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

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

ES流简介

崔杰城的博客 881

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

国标监控PS流是什么?国标GB28181视频平台EasyGBS视频封装全链路讲解

花半天时间把它理清楚,比事后排查三天要划算得多。

NVR安防视频技术 330

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: javaEE7 API资源下载
下一篇: 疯狂java讲义---多态,强制类型转换,向上转型
try_learner
博客等级 码龄9年 35粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值