一 socket拉取rtsp流。
先讲rtsp拉流的过程,如下是rtsp命令交互的过程。
OPTIONS rtsp://192.168.31.29:554/0/0/101?transportmode=unicast&profile=Profile_1 RTSP/1.0
CSeq: 2
RTSP/1.0 200 OK
CSeq: 2
Public: OPTIONS, DESCRIBE, PLAY, PAUSE, SETUP, TEARDOWN, SET_PARAMETER, GET_PARAMETER
Date: Wed, Sep 02 2020 16:12:10 GMT
DESCRIBE rtsp://192.168.31.29:554/0/0/101?transportmode=unicast&profile=Profile_1 RTSP/1.0
CSeq: 3
Accept: application/sdp
RTSP/1.0 401 Unauthorized
CSeq: 3
WWW-Authenticate: Digest realm="4419b635ea35", nonce="e82d275c2f0e6b2f433e85ccc87b6714", stale="FALSE"
WWW-Authenticate: Basic realm="4419b635ea35"
Date: Wed, Sep 02 2020 16:12:10 GMT
DESCRIBE rtsp://192.168.31.29:554/0/0/101?transportmode=unicast&profile=Profile_1 RTSP/1.0
CSeq: 4
Authorization: Digest username="admin", realm="4419b635ea35", nonce="e82d275c2f0e6b2f433e85ccc87b6714", uri="rtsp://192.168.31.29:554/0/0/101?transportmode=unicast&profile=Profile_1", response="eebfce8371a4c20ba804694d9c19b9b7"
Accept: application/sdp
RTSP/1.0 200 OK
CSeq: 4
Content-Type: application/sdp
Content-Base: rtsp://192.168.31.29:554/0/0/101/
Content-Length: 951
v=0
o=- 1599063130018656 1599063130018656 IN IP6 ::
s=Media Presentation
e=NONE
b=AS:5100
t=0 0
a=control:rtsp://192.168.31.29:554/0/0/101/?transportmode=unicast&profile=Profile_1
m=video 0 RTP/AVP 96
c=IN IP6 ::
b=AS:5000
a=recvonly
a=x-dimensions:1280,720
a=control:rtsp://192.168.31.29:554/0/0/101/trackID=1?transportmode=unicast&profile=Profile_1
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=420029; packetization-mode=1; sprop-parameter-sets=Z00AH5WoFAFuhAAAHCAABX5AEA==,aO48gA==
m=audio 0 RTP/AVP 104
c=IN IP6 ::
b=AS:50
a=recvonly
a