GB/T28181规范之Subject头域定义浅析

部分开发者在实现GB28181设备接入或国标平台侧的时候,容易忽略Subject头域信息,本文就Subject头域定义,做个简单的回顾。

GB/T28181-2016中提到:SIP监控域建立实时、回放、下载等媒体链路时,SIP服务器发出的Invite消息应携带Subject头域作为此媒体链路的标识。SIP监控域应具有媒体分发能力,对于Subject中媒体发送方标识相同的视频应仅向目标SIP监控域或设备发起一次请求,通过自身的媒体分发能力将视频资源发往不同的接收端。
Subject字段的格式如下:
Subject:媒体流发送者ID:发送方媒体流序列号,媒体流接收者ID:接收方媒体流序列号
各字段定义如下:
媒体流发送者ID:为符合附录D(统一编码规则)定义的媒体流发送者的ID编码。
发送方媒体流序列号:发送方媒体流序列号为不超过20位的字符串;当请求为实时视频时,首位取
值为0,对于相同的实时视频取值唯一;当请求的媒体流为历史视频时,首位取值为1,对于每一路历史视频取值唯一。
媒体流接收者ID:为符合附录D(统一编码规则)定义的媒体流接收者的ID编码。
接收方媒体流序列号:为媒体流接收端的标识序列号,在同一时刻该序列号在媒体流接收者端为不
重复的字符串。当接收者为客户端时,可以作为窗口的标识符。

下一个问题:如何构建Subject头域?

废话不多说,以Android平台GB28181设备端为例,直接上代码:

private String makeSubject(String ssrc) {
	StringBuilder sb = new StringBuilder(64);

	sb.append(session.getSrcID());
	sb.append(":");

	//发送方媒体流序列号
	sb.append(ssrc);

	sb.append(",");
	sb.append(session.getTargetID());
	sb.append(":");

	//接收方媒体流序列号, 暂时填0
	sb.append(0);

	return sb.toString();
}

感兴趣的开发者,欢迎沟通交流。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值