GB28181怎么用设备ID作为流ID
夏楚 edited this page 2020-07-08 18:38:09 +08:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

为了支持RTP流的识别(与摄像头ID产生关联), 必须通过 源地址ssrc本地端口号 来区分.

但是在issue #338 里面有开发者反馈有些设备不支持设置ssrcssrc一直为0.

而源地址端口也会一直变RTP推流前SIP服务器也不知道摄像头推流端口(甚至IP都不知道) 那么区分流只通过源地址也不现实, 因为一个局域网内也可能多个设备, 如果ZLMediaKit在公网,那么这些流的IP是一致的,而端口是随机的,根本没法跟摄像头ID对应起来.

所以为了实现RTP推流参数的流ID与摄像头ID产生关联就基本只剩下本地端口号这条路了,这就意味着一个端口只能接受一个流。

在不指定流ID时ZLMediaKit的行为跟之前完全一样单端口支持多流ssrc作为stream id。

如果指定了该端口绑定的流ID那么该端口只能接收一路流。

以下是关键代码: image image image image image image