sip (gb28181)信令交互-视频点播与回播(示例代码)

摘要: 客户端发起的实时点播消息示范:(请求视频信令与断开视频信息 和 回播基本无差别)

 

            客户端发起的实时点播消息示范:(请求视频信令与断开视频信息  和 回播基本无差别)
              1
              、请求视频流
INV
              
              itE sip:
              00000000001310018021@
              192.168.
              40.66:
              7100 SIP/
              2.0
               Via: SIP/
              2.0/UDP 
              192.168.
              40.55:
              7100;rport;branch=
              z9hG4bK2480933505
From: <sip:
              120105110228023020@
              192.168.
              40.55:
              7100>;tag=
              2249831759
               To: <sip:
              00000000001310018021@
              192.168.
              40.66:
              7100>
               Call-ID: 
              821763613 
              //
               Call-ID:使用该字段标识一路视频 CSeq: 
              20
               INVITE
Contact: <sip:
              120105110228023020@
              192.168.
              40.55:
              7100>
               Content-Type: Application/
              SDP
Max-Forwards: 
              70
               User-Agent: NCG V2.
              6.0.
              299938
               Subject: 
              00000000001310018021:
              0,
              120105110228023020:
              0
               Content-Length: 
              239
               v=
              0
               o=
              00000000001310018021 
              0 
              0 IN IP4 
              192.168.
              40.55
               s=Play 
              //
              Play标识为点播请求   Playback标识回播请求 c=IN IP4 
              192.168.
              40.55 
              //
              192.168.40.55:音视频流目的地址 t=
              0 
              0 
              //
              t行第一参数为视频开始时间  第二个参数为结束时间    t = 0 0表示实时视音频点播 m=video 
              5552 RTP/AVP 
              96 
              97 
              98 
              //
              video:表示请求音视频流  audio:表示请求音频流  5522:音视频流目的端口  RTP/AVP:视频流使用协议 96 97 98:客户端支持码流格式 a=rtpmap:
              96 PS/
              90000
               a=rtpmap:
              97 MPEG4/
              90000
               a=rtpmap:
              98 H264/
              90000
               a=
              recvonly
a=
              streamMode:MAIN
y=
              0999999999
               SIP/
              2.0 
              100
               Trying
Via: SIP/
              2.0/UDP 
              192.168.
              40.55:
              7100;rport=
              7100;branch=
              z9hG4bK2480933505
From: <sip:
              120105110228023020@
              192.168.
              40.55:
              7100>;tag=
              2249831759
               To: <sip:
              00000000001310018021@
              192.168.
              40.66:
              7100>
               Call-ID: 
              821763613
               CSeq: 
              20
               INVITE
User-Agent: NCG V2.
              6.0.
              299938
               Content-Length: 
              0
               SIP/
              2.0 
              200
               OK
Via: SIP/
              2.0/UDP 
              192.168.
              40.55:
              7100;rport=
              7100;branch=
              z9hG4bK2480933505
From: <sip:
              120105110228023020@
              192.168.
              40.55:
              7100>;tag=
              2249831759
               To: <sip:
              00000000001310018021@
              192.168.
              40.66:
              7100>;tag=
              2885333649
               Call-ID: 
              821763613
               CSeq: 
              20
               INVITE
Contact: <sip:
              161128022553273720@
              192.168.
              40.66:
              7100>
               Content-Type: Application/
              SDP
User-Agent: NCG V2.
              6.0.
              299938
               Content-Length: 
              165
               v=
              0
               o=
              00000000001310018021 
              0 
              0 IN IP4 
              192.168.
              40.55
               s=
              Play                
c=IN IP4 
              192.168.
              40.66 
              //
              192.168.40.66:音视频流源地址      注:视音频源与目的地址不局限于级联服务器本身 t=
              0 
              0
               m=video 
              5268 RTP/AVP 
              96 
              //
               video:表示请求视频流  audio:表示请求音频流  5268:音视频流源端口  RTP/AVP:视频流使用协议 96:服务端所选择的码流格式   音视频所使用端口统一使用偶数端口   port+1为rtcp端口 a=rtpmap:
              96 PS/
              90000
               a=
              sendonly
y=
              0100005268
               SDP字段说明:
v字段:协议版本
o字段:-
               a字段:a=rtpmap:<payload type> <encoding name>/<clock rate>  [/<encoding parameters>] 中的<encoding name>
              ,利用该属性携带编码器厂商名称。该属性表明该流为某厂商编码器编码且是不符合gb28181规定的媒体流,符合国标的媒体流不需要该属性。
例如:a=rtpmap:
              96 DAHUA/
              90000
               a=rtpmap:
              96 HIKVISION/
              90000
               a字段有下列格式:
a字段可携带倍数参数,用于文件下载时控制下载速度。格式: a=
              downloadspeed:下载倍数(整型)
a字段可携带文件大小参数,用于文件下载时的进度计算。格式: a=
              filesize:文件大小 (单位:Byte)
a字段可携带setup、connection作为TCP连接协商参数。 a=
              setup:TCP连接方式(表示本SDP发送者在建立RTP over TCP连接时是主动还是被动发起TCP连接,“active”为主动,“passive”为被动)
a字段可携带SVC参数,用于视频传输时的分辨率或者帧频控制。a=svcspace:空域编码方式 【取值整型。 
              0:不使用 
              1:1级增强 
              2:2级增强 
              3:3级增强 】  a =
               svctime:时域编码方式
s字段:表示请求媒体流的操作类型,“Play”标识为点播请求   “Playback”标识回播请求   “Download”表示文件下载  “Talk”表示语音对讲;
u字段:u行应填写视音频文件的URL。该URL的取值有两种:简捷方式和普通方式。简捷方式直接采用产生该历史媒体的媒体源(如某个摄像头)的设备ID以及相关参数,参数用“:”分隔;普通方式采样http:
              //
              储存设备ID[/文件夹]*/文件名; m字段:描述媒体的媒体类型、端口、传输层协议、负载类型等内容。媒体类型采样“video”标识视频或者视音频混合内容,采样“audio”标识传输音频内容;传输方式采用“RTP/AVP”标识传输层协议为 RTP over UDP,采用“TCP/RTP/
              AVP”标识传输层协议为RTP over TCP;
t字段:当回放或者下载时,t行值为开始时间,结束时间,采样“ ”分隔;
y字段:十进制整数字符串,标识SSRC值。其中第一位为历史或者实时媒体流的标识位,0为实时,1为历史;第2位到第6位取20位SIP监控域ID之中的4-8位作为域标识;第7-
              10位作为域内媒体流标识,是一个与当前域内产生的媒体流SSRC值后4位不充分的四位十进制整数;
f字段:f=v/编码格式/分辨率/帧率/码率类型/码率大小  a/编码格式/码率大小/采样率    其中v表示video   a表示audio

 

2、断开视频流

BYE sip:
              161128022553273720@
              192.168.
              40.66:
              7100 SIP/
              2.0
               Via: SIP/
              2.0/UDP 
              192.168.
              40.55:
              7100;rport;branch=
              z9hG4bK1981844232
From: <sip:
              120105110228023020@
              192.168.
              40.55:
              7100>;tag=
              2249831759
               To: <sip:
              00000000001310018021@
              192.168.
              40.66:
              7100>;tag=
              2885333649
               Call-ID: 
              821763613 
              //
               Call-ID:该字段判断请求端口哪一路视频 CSeq: 
              21
               BYE
Contact: <sip:
              120105110228023020@
              192.168.
              40.55:
              7100>
               Max-Forwards: 
              70
               User-Agent: NCG V2.
              6.0.
              299938
               Content-Length: 
              0
               SIP/
              2.0 
              200
               OK
Via: SIP/
              2.0/UDP 
              192.168.
              40.55:
              7100;rport=
              7100;branch=
              z9hG4bK1981844232
From: <sip:
              120105110228023020@
              192.168.
              40.55:
              7100>;tag=
              2249831759
               To: <sip:
              00000000001310018021@
              192.168.
              40.66:
              7100>;tag=
              2885333649
               Call-ID: 
              821763613
               CSeq: 
              21
               BYE
User-Agent: NCG V2.
              6.0.
              299938
               Content-Length: 
              0

客户端发起的回播控制消息示范:(请求视频信令与断开视频信息   和 回播基本无差别    Play/Playback)

Gb28181标准中,明确说明历史视音频的回复控制命令应采用监控报警联网系统实时流协议(MANSRTSP),并采用SIP消息INFO消息体携带传输。(GBT 
              28181-
              2016 
              4.3.
              5
              )
INFO sip:
              161128022553273720@
              192.168.
              40.66:
              7100 SIP/
              2.0
               Via: SIP/
              2.0/UDP 
              192.168.
              40.55:
              7100;rport;branch=
              z9hG4bK1764044774
From: <sip:
              120105110228023020@
              192.168.
              40.55:
              7100>;tag=
              4105413651
               To: <sip:
              00000000001310018021@
              192.168.
              40.66:
              7100>;tag=
              4232579586
               Call-ID: 
              2259139548
               CSeq: 
              21
               INFO
Contact: <sip:
              120105110228023020@
              192.168.
              40.55:
              7100>
               Content-Type: Application/
              MANSRTSP
Max-Forwards: 
              70
               User-Agent: NCG V2.
              6.0.
              299938
               Content-Length: 
              49
               PLAY MANSRTSP/
              1.0
               CSeq: 
              59367
               Scale: 
              0.000000 
              //
               Scale:回播速度控制    例:Scale: 8.000000   快进x8 
               SIP/
              2.0 
              200
               OK
Via: SIP/
              2.0/UDP 
              192.168.
              40.55:
              7100;rport=
              7100;branch=
              z9hG4bK1764044774
From: <sip:
              120105110228023020@
              192.168.
              40.55:
              7100>;tag=
              4105413651
               To: <sip:
              00000000001310018021@
              192.168.
              40.66:
              7100>;tag=
              4232579586
               Call-ID: 
              2259139548
               CSeq: 
              21
               INFO
Contact: <sip:
              161128022553273720@
              192.168.
              40.66:
              7100>
               User-Agent: NCG V2.
              6.0.
              299938
               Content-Length: 
              0