必威体育Betway必威体育官网
当前位置:首页 > IT技术

RTSP 数据包实例分析

时间:2019-08-29 02:10:00来源:IT技术作者:seo实验室小编阅读:54次「手机版」
 

rtsp

打算自己写一个最小的RTSP协议,在写之前,需要明白RTSP的工作流程。在本实例中,使用live555建立一个RTSP服务端,然后使用VLC来播放该实时流。使用Wireshark 工具抓取RTSP实时数据包进行分析。一次完整的数据请求到数据断开的网络包如下:

首先看到TCP建立连接的三次握手:

后面的报文客户端发送:OPTIONS,describe,SETUP,PLAY,GET_parameter,TEADOWN命令,跟着服务端给出应答Reply。

这里需要注意一下

(1)VLC的客户端每63s左右会发送一次GET_PARAMETER请求,服务端会发送一个回复命令Reply,随后客户端会发一个ACK信号。这个应该是作为一个心跳机制来使用。

(2)还有一处是客户端发送OPTIONS命令后,在接到服务端的回复之后,客户端发送了一个ACK应答。

如下图:

(3)在客户端发送了SETUP命令的时候,服务端会把RTP,RTCP 的端口等信息发送给客户端,客户端根据RTP端口接收媒体数据,根据RTCP端口来收发RTCP报文。

从上面的图中我们可以知道,服务端的RTP和RTCP是进行组播(多播),不管是否有客户端连接,它都在不断的发送RTP数据和RTCP包

完整的TCP0数据流如下:

OPTIONSrtsp://192.168.0.6:8554/testStream RTSP/1.0

CSeq: 2

User-Agent:LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)

RTSP/1.0 200 OK

CSeq: 2

Date: Wed, Apr 19 2017 07:19:58 GMT

Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, pause,GET_PARAMETER, SET_PARAMETER

DESCRIBErtsp://192.168.0.6:8554/testStream RTSP/1.0

CSeq: 3

User-Agent:LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)

Accept:APPlication/sdp

RTSP/1.0 200 OK

CSeq: 3

Date: Wed, Apr 19 2017 07:19:58 GMT

content-Base: rtsp://192.168.0.6:8554/testStream/

Content-Type: application/sdp

Content-Length: 589

v=0

o=- 1492582839519264 1 IN IP4 192.168.0.6

s=session streamed by "testH264VideoStreamer"

i=test.264

t=0 0

a=tool:LIVE555 Streaming Media v2017.04.10

a=type:broadcast

a=control:*

a=source-filter: incl IN IP4 * 192.168.0.6

a=rtcp-unicast: reflection

a=range:npt=0-

a=x-qt-text-nam:Session streamed by"testH264VideoStreamer"

a=x-qt-text-inf:test.264

m=video 18888 RTP/AVP 96

c=IN IP4 232.124.3.140/255

b=AS:500

a=rtpmap:96 H264/90000

a=fmtp:96packetization-mode=1;profile-level-id=640015;sprop-parameter-sets=Z2QAFazZQeCmwEQAAAMBkAAAL2g8WLZY,aOvssiw=

a=control:track1

SETUPrtsp://192.168.0.6:8554/testStream/track1 RTSP/1.0

CSeq: 4

User-Agent:LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)

Transport:RTP/AVP;multicast;port=18888-18889

RTSP/1.0 200 OK

CSeq: 4

Date: Wed, Apr 19 2017 07:19:58 GMT

Transport: RTP/AVP;multicast;destination=232.124.3.140;source=192.168.0.6;port=18888-18889;ttl=255

Session: F0A4CFA5;timeout=65

PLAYrtsp://192.168.0.6:8554/testStream/ RTSP/1.0

CSeq: 5

User-Agent:LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)

Session:F0A4CFA5

Range:npt=0.000-

RTSP/1.0 200 OK

CSeq: 5

Date: Wed, Apr 19 2017 07:19:58 GMT

Range: npt=0.000-

Session: F0A4CFA5

RTP-Info:url=rtsp://192.168.0.6:8554/testStream/track1;seq=2113;rtptime=1912619744

GET_PARAMETERrtsp://192.168.0.6:8554/testStream/ RTSP/1.0

CSeq: 6

User-Agent:LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)

Session:F0A4CFA5

RTSP/1.0 200 OK

CSeq: 6

Date: Wed, Apr 19 2017 07:19:58 GMT

Session: F0A4CFA5

Content-Length: 10

2017.04.10GET_PARAMETERrtsp://192.168.0.6:8554/testStream/ RTSP/1.0

CSeq: 7

User-Agent:LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)

Session:F0A4CFA5

RTSP/1.0 200 OK

CSeq: 7

Date: Wed, Apr 19 2017 07:21:01 GMT

Session: F0A4CFA5

Content-Length: 10

2017.04.10TEARDOWNrtsp://192.168.0.6:8554/testStream/ RTSP/1.0

CSeq: 8

User-Agent:LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)

Session:F0A4CFA5

RTSP/1.0 200 OK

CSeq: 8

Date: Wed, Apr 19 2017 07:21:07 GMT

完整数据以及Wireshark 文件可以在这里下载:RTSP 数据包实例分析

相关阅读

RTSP协议格式

海康威视rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream说明:username: 用户名。例如admin。p

有效的rtsp流媒体测试地址汇总

以下是从网上搜集的一些有效的rtsp流媒体测试地址: 1.      rtsp://218.204.223.237:554/live/1/0547424F573B085C/gsfp90ef

各主流摄像头的rtsp地址格式

海康威视rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream说明:username: 用户名。例如admin。p

最新海康摄像机、NVR、流媒体服务器、回放取流RTSP地

本文档主要介绍海康威视设备预览、回放、流媒体取流的RTSP URL和IE直接预览、回放的HTTP URL。RTSP为取流协议,取到码流后需要解码

Rtsp之H265解析

以前做过Rtsp接收H264的视频流,最近在研究H265视频流,发现在码流解析上面,还是有一点区别。 参考文献 https://tools.ietf.org/html/

分享到:

栏目导航

推荐阅读

热门阅读