音视频入门基础:MPEG2-PS专题(8)——使用Wireshark分析GB28181的PS流

=================================================================

音视频入门基础:MPEG2-PS专题系列文章:

音视频入门基础:MPEG2-PS专题(1)------MPEG2-PS官方文档下载

音视频入门基础:MPEG2-PS专题(2)------使用FFmpeg命令生成ps文件

音视频入门基础:MPEG2-PS专题(3)------MPEG2-PS格式简介

音视频入门基础:MPEG2-PS专题(4)------FFmpeg源码中,判断某文件是否为PS文件的实现

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

音视频入门基础:MPEG2-PS专题(6)------FFmpeg源码中,获取PS流的视频信息的实现

音视频入门基础:MPEG2-PS专题(7)------通过FFprobe显示PS流每个packet的信息

音视频入门基础:MPEG2-PS专题(8)------使用Wireshark分析GB28181的PS流

=================================================================

一、引言

按照《海康网络摄像机接入EasyGBS GB28181平台》中的方法,将支持GB28181的海康网络摄像机接入EasyGBS GB28181平台。如果国标传输协议的取流方式选择的是UDP:

那进行直播时,摄像机通过GB28181传输的音视频流的格式就是RTP封装的PS流:

二、Wireshark抓包分析

(一)SDP分析

对摄像机的数据进行抓包。以我使用的海康摄像机为例,首先分析SIP信令(INVITE)中携带的SDP。GB28181里面,SIP负责建立和释放会话,而媒体数据由SDP描述。SDP与SIP配合使用时会放到SIP协议的body中。会话建立时,需要通过SDP进行媒体协商,双方才能确定对方的媒体能力以及交换媒体的数据(关于SDP协议可以参考:《音视频入门基础:RTP专题(3)------SDP简介》)。选中SIP的INVITE方法,右键 -> "追踪流" -> "SIP Call":

可以看到映射PT值(payload type,有效载荷类型)为96的负载类型到PS(MPEG2-PS)编码,采样率为90000Hz。由《音视频入门基础:RTP专题(7)------RTP协议简介》可以知道,有效载荷标识符 96-127 用于会话期间动态定义的有效载荷。MPEG2-PS没有具体的PT值,只能使用动态(dynamic)PT值:

(二)RTP header分析

选中其中一个RTP数据包(RTP packet),下图红框中显示的就是其RTP header(关于RTP header的格式可以参考:《音视频入门基础:RTP专题(7)------RTP协议简介》)。可以看到该RTP数据包的RTP header的payload type值为96,为动态(dynamic)PT值。该值跟SDP描述中的PT值对应。所以可以确定其RTP payload中存放的是PS,即MPEG2-PS格式的数据:

(三)提取出PS裸流

GitHub - hongch911/WiresharkPlugin: The H265 H264 PS PCM AMR SILK plugin for Wireshark Lua 下载rtp_ps_assemble.lua和rtp_ps_export.lua。将这两个脚本放到Wireshark的plugins目录下:

重新打开Wireshark,可以看到"工具"菜单多了个"Video"选项。"工具" -> "Video" -> "Export PS":

Export All,然后点击"Browser":

可以看到生成了XXX.ps文件。该文件即为ps裸流文件:

该文件可以用vlc等播放器播放:

也可以用Elecard Stream Analyzer打开分析:

相关推荐
猿饵块1 小时前
tcp--抓包--wireshark
网络·测试工具·wireshark
知南x3 小时前
【物联网视频监控系统----韦东山老师视频总结】(4)流媒体方案的实现之Nginx
物联网·nginx·音视频
知南x3 小时前
【物联网视频监控系统----韦东山老师视频总结】(2)三种视频监控方案介绍
物联网·音视频
极客先躯4 小时前
老版本Postman请求脚本编写指南:从Async/Await到回调函数的完整迁移方案
测试工具·lua·postman
5Gcamera7 小时前
执法记录仪、智能安全帽、smarteye平台常见问题解答FAQ
5g·音视频·智能安全帽·执法记录仪·smarteye
程序员三藏8 小时前
软件测试环境搭建及测试过程
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
程序员杰哥8 小时前
2026软件测试面试宝典(含答案+文档)
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
熊猫钓鱼>_>10 小时前
当想象力成为生产力,AI视频生成如何重塑2026年的创作世界
人工智能·ai·aigc·音视频·提示词·ai视频
李昊哲小课11 小时前
Selenium 自动化测试教程
爬虫·selenium·测试工具