前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何对EasyNVR分发出的RTSP流进行抓包分析?

如何对EasyNVR分发出的RTSP流进行抓包分析?

原创
作者头像
TSINGSEE青犀视频
发布2021-11-30 10:11:04
6190
发布2021-11-30 10:11:04
举报
文章被收录于专栏:TSINGSEE青犀视频

EasyNVR视频监控综合管理平台支持多种格式视频流的直播播放,包括HLS、FLV、RTSP等,今年我们在此基础上又开发了WebRTC格式的播放。EasyNVR的功能为拉取RTSP流分发出HLS、HTTP-FLV、RTMP、RTSP等流,为了熟悉RTSP流,因此针对RTSP流进行抓包分析。

使用 WireShark 抓包分析如下,红色字体为请求,蓝色字体为响应:

一、操作

代码语言:javascript
复制
OPTIONS rtsp://192.168.99.162:5544/live/YKiavBi7g RTSP/1.0
CSeq: 2
User-Agent: LibVLC/3.0.12 (LIVE555 Streaming Media v2016.11.28)

RTSP/1.0 200 OK
Server: tsingsee0.23.0
CSeq: 2
Public:DESCRIBE, ANNOUNCE, SETUP, PLAY, PAUSE, RECORD, TEARDOWN

二、视频描述

以下代表为视频流,控制的streamid=0,并且对应的类型为96:

代码语言:javascript
复制
DESCRIBE rtsp://192.168.99.162:5544/live/YKiavBi7g RTSP/1.0
CSeq: 3
User-Agent: LibVLC/3.0.12 (LIVE555 Streaming Media v2016.11.28)
Accept: application/sdp

RTSP/1.0 200 OK
CSeq: 3
Date: Thu, 15 Jul 2021 10:34:36 CST
Content-Type: application/sdp
Content-Length: 473

v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 127.0.0.1
t=0 0
a=tool:lal 0.22.0

m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z2QAIKw05AFAFuwEQAAA+kAAdTAjxgxkgA==,aO6yyLA=; profile-level-id=640016
a=control:streamid=0

以下代表为音频流,控制的streamid=1。并且对应的类型为97:

代码语言:javascript
复制
m=audio 0 RTP/AVP 97
b=AS:128
a=rtpmap:97 MPEG4-GENERIC/48000/2
a=fmtp:97 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3; config=1190
a=control:streamid=1

三、获取传输端口及通道

以下streamed=0,代表为视频流服务端的端口为30004和30005传输数据:

代码语言:javascript
复制
SETUP rtsp://192.168.99.162:5544/live/YKiavBi7g/streamid=0 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/3.0.12 (LIVE555 Streaming Media v2016.11.28)
Transport: RTP/AVP;unicast;client_port=54374-54375

RTSP/1.0 200 OK
CSeq: 4
Date: Thu, 15 Jul 2021 10:34:36 CST
Session: 191201771
Transport:RTP/AVP/UDP;unicast;client_port=54374-54375;server_port=30004-30005

以下streamed=1,代表为音频流服务端的端口为30006和30007传输音频数据:

代码语言:javascript
复制
SETUP rtsp://192.168.99.162:5544/live/YKiavBi7g/streamid=1 RTSP/1.0
CSeq: 5
User-Agent: LibVLC/3.0.12 (LIVE555 Streaming Media v2016.11.28)
Transport: RTP/AVP;unicast;client_port=54376-54377
Session: 191201771

RTSP/1.0 200 OK
CSeq: 5
Date: Thu, 15 Jul 2021 10:34:36 CST
Session: 191201771
Transport:RTP/AVP/UDP;unicast;client_port=54376-54377;server_port=30006-30007

四、开始播放

代码语言:javascript
复制
PLAY rtsp://192.168.99.162:5544/live/YKiavBi7g RTSP/1.0
CSeq: 6
User-Agent: LibVLC/3.0.12 (LIVE555 Streaming Media v2016.11.28)
Session: 191201771
Range: npt=0.000-

RTSP/1.0 200 OK
CSeq: 6
Date: Thu, 15 Jul 2021 10:34:36 CST

五、传输数据

传输音频,使用的是30006端口,对应的类型为97,代表为音频类型。

一般音频流存在的时候会有多个mark数据。

传输视频,使用的是30004端口,对应的类型96,代表为视频类型。如下图:

六、结束

代码语言:javascript
复制
TEARDOWN rtsp://192.168.99.162:5544/live/YKiavBi7g RTSP/1.0
CSeq: 7
User-Agent: LibVLC/3.0.12 (LIVE555 Streaming Media v2016.11.28)
Session: 191201771

RTSP/1.0 200 OK
CSeq: 7

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档