GB28181 SDP协议学习笔记 (GB/T28181-2016 附录F 100页)
定义
示例
v=0
o=34000000002000000001 0 0 IN IP4 192.168.100.100
s=Download
u=34020000001310000001:3
c=IN IP4 192.168.100.100
t=1498173736 1498174066
m=video 10122 TCP/RTP/AVP 96 98 97
a=recvonly
a=rtpmap:96 PS/90000
a=rtpmap:98 H264/90000
a=rtpmap:97 MPEG4/90000
a=setup:passive
a=connection:new
a=downloadspeed:8
y=1000000025
关键字段
-
v字段(Protocol Version)[必须]
v=0
"v="字段表示会话描述协议的版本。本文定义的版本为0,没有次版本号。
-
o字段(Origin)[必须]
o=< username > < sess-id > < sess-version > < nettype > < addrtype > < unicast-address > o=< INVITE请求者ID/INVITE响应者ID > 0 0 IN IP4 < INVITE请求者IP/INVITE响应者IP >
-
s字段(Session Name)[必须]
s=< session name > s=< Play | Playback | Download | Talk >
"Play"代表实时点播
"Playback"代表历史回放
"Download"代表文件下载
"Talk"代表语音对讲。 -
u字段(Uri)[仅回放和下载的INVITE请求中有]
u=< uri > u=< 请求设备ID >:3
- 简捷方式: 直接采用产生该历史媒体的媒体源(如某个摄像头)的设备ID(应符合6.1.2的规定)以及相关参数,参数用":"分隔。
- 普通方式:普通方式采用
http://存储设备ID[/文件夹]*/文件名
,[/文件夹]*
为0-N级文件夹。
-
c字段(Connection Data)[必须]
c=< nettype > < addrtype > < connection-address > c=IN IP4 < 接收RTP数据流媒体服务IP/发送RTP数据的流媒体服务IP >
-
t字段(Timing)
t=< start-time > < stop-time > t=0 0 = > Play | Talk t=< 开始时间 秒级unix时间戳 > < 结束时间 秒级unix时间戳 > = > Playback | Download
当回放或者下载时,t行值为开始时间,结束时间,采样" "分隔。
-
m字段(Media Descriptions)
m=< media > < port > < proto > < fmt > ... m=video < 接收RTP端口号 | 发送RTP的端口号 > < RTP/AVP | TCP/RTP/AVP | UDP/RTP/AVP > ...
rtpmap
列表的所有payload type
值。 -
a字段(Attributes)
-
RTP流描述(a=rtpmap:)[必须]
a=rtpmap:< payload type > < encoding name >/< clock rate > [/< encoding parameters >] a=rtpmap:96 PS/90000 a=rtpmap:98 H264/90000 a=rtpmap:97 MPEG4/90000
-
传输方向(a=sendonly/recvonly)[必须]
a=< sendonly | recvonly >
-
TCP链接方式(a=setup)[仅TCP传输模式]
a=setup:< active | passive >
-
链接方式(a=connection)[仅TCP传输模式]
a=connection:< new >
-
下载速率(a=downloadspeed)[仅下载]
a=downloadspeed:< 1 | 2 | 4 | 8 >
-
文件大小(a=filesize)[仅下载时可选]
a=filesize:文件大小(单位:Byte)
-
-
f字段(GB28181独有,媒体描述,无效)
f字段: f= v/编码格式/分辨率/帧率/码率类型/码率大小 a/编码格式/码率大小/采样率
-
y字段(GB28181独有 SSRC)[非跨域INVITE请求必选]
y=< 10位十进制整数字符串 >
y字段:十进制整数字符串,标识SSRC值。其中第一位为历史或者实时媒体流的标识位,0为实时,1为历史;第2位到第6位取20位SIP监控域ID之中的4-8位作为域标识;第7-10位作为域内媒体流标识,是一个与当前域内产生的媒体流SSRC值后4位不重复的四位十进制整数。