RTSP拉流

1.和服务端建立TCP连接

2.建立会话

​ 使用建立的TCP连接进行会话,会话报文以两个\r\n结尾;

2.1.OPTIONS会话

客户端发送:
	OPTIONS rtsp://192.168.58.101/ace_udp_h264_leaac.ts RTSP/1.0
	CSeq: 1
	User-Agent: LibVLC/3.0.16 (LIVE555 Streaming Media v2018.11.26)
服务端回复:
    RTSP/1.0 200 OK
    CSeq: 1
    Date: 2022-01-06 13:57:00 GMT
    Public: OPTIONS, DESCRIBE, ANNOUNCE,SETUP, TEARDOWN, PLAY,RECORD,GET_PARAMETER

2.2.DESCRIBE会话

​ 客户端发起DESCRIBE会话后,服务端将提供流的信息描述,格式符合SDP文件格式;

客户端发送:
    DESCRIBE rtsp://192.168.200.245:8010/designated_ch3 RTSP/1.0
    CSeq: 2
    User-Agent: LibVLC/3.0.16 (LIVE555 Streaming Media v2018.11.26)
    Accept: application/sdp
服务端回复:
    RTSP/1.0 200 OK
    CSeq: 2
    Date: 2022-01-06 13:57:00 GMT
    Content-Base: rtsp://192.168.200.245:8010/designated_ch3/
    Content-Type: application/sdp
    Content-Length: 154

    v=0
    o=- 0 0 IN IP4 127.0.0.1
    s=.........
    c=IN IP4 127.0.0.1
    t=0 0
    a=tool:libavformat 58.29.100
    m=audio 0 RTP/AVP 14
    b=AS:32
    a=control:streamid=0

2.3.SETUP会话

​ SETUP会话完成后,服务端会分配唯一的会话标识ID,此后的会话都需要携带该会话标识ID;

​ 客户端拉流采用RTSP(OVER TCP)还是RTSP(OVER UDP),或者其他方式(此处不扩展),是由客户端和服务端协商确定的。由客户端主动发起协商方式,如果服务端支持则回复成功,如果服务端回复不支持,则客户端应更换其他方式再次进行尝试;

2.3.1.RTSP(OVER TCP)

 客户端发送:
 	SETUP rtsp://192.168.200.245:8010/designated_ch3/streamid=0 RTSP/1.0
    CSeq: 3
    User-Agent: LibVLC/3.0.16 (LIVE555 Streaming Media v2018.11.26)
    Transport: RTP/AVP/TCP;unicast;interleaved=0-1
服务端回复:
    RTSP/1.0 200 OK
    CSeq: 3
    Date: 2022-01-06 14:20:08 GMT
    Transport:RTP/AVP/TCP;unicast;interleaved=01;destination=192.168.200.245;source=192.168.200.245;
    Session: 0xa2fd474a

2.3.2.RTSP(OVER UDP)

​ 服务端回复的server_port=51006-51007,分别为服务端的RTP和RTCP的数据发送端口

客户端发送:
    SETUP rtsp://192.168.200.245:8010/designated_ch3/streamid=0 RTSP/1.0
    CSeq: 3
    User-Agent: LibVLC/3.0.16 (LIVE555 Streaming Media v2018.11.26)
    Transport: RTP/AVP;unicast;client_port=41320-41321
服务端回复:
    RTSP/1.0 200 OK
    CSeq: 3
    Date: 2022-01-06 13:57:00 GMT
    Transport: RTP/AVP;unicast;client_port=41320-41321;destination=192.168.200.245;source=192.168.200.245;server_port=51006-51007
    Session: 0xa2fd474d

2.4.PLAY会话

客户端发送:
    PLAY rtsp://192.168.200.245:8010/designated_ch3/ RTSP/1.0
    CSeq: 4
    User-Agent: LibVLC/3.0.16 (LIVE555 Streaming Media v2018.11.26)
    Session: 0xa2fd474d
    Range: npt=0.000-
服务端回复:
    RTSP/1.0 200 OK
    CSeq: 4
    Date: 2022-01-06 13:57:00 GMT
    Range: npt=0.000-
    Session: 0xa2fd474d
    RTP-Info: url=rtsp://192.168.200.245:8010/designated_ch3//track1;seq=0;rtptime=0

3.数据接收

​ 数据封装见文章RTP和RTCP讲解

3.1.RTSP(OVER TCP)

  • 使用TCP连接进行数据接收;
  • 使用TCP连接进行会话,无需定时进行心跳发送;

3.2.RTSP(OVER UDP)

  • 使用SETUP会话中,服务端回复的server_port=51006-51007,基于UDP协议分别进行RTP和RTCP数据的接收;
  • 使用TCP连接进行会话,要求定时进行心跳发送,保持会话连接;

4.断开会话

客户端发送:
	TEARDOWN rtsp://192.168.200.245:8010/designated_ch3/ RTSP/1.0
    CSeq: 5
    User-Agent: LibVLC/3.0.16 (LIVE555 Streaming Media v2018.11.26)
    Session: 0xa2fd474d
服务端回复:
    RTSP/1.0 200 OK
    CSeq: 5
    Date: 2022-01-06 13:57:03 GMT
    Session: 0xa2fd474d
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷咪哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值