GB28181协议--流媒体的几种传输方式(UDP、TCP被动、TCP主动模式)

本文解析了GB28181标准下UDP、TCP被动及TCP主动三种流传输模式的工作原理,详细介绍了不同模式下设备端与平台端如何建立连接并传输码流的过程,并对比了TCP与UDP之间的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、简介

根据《GB/T 28181 —2016》4.3.1、5.2的要求,SIP和流媒体都应该支持TCP和UDP两种方式。如下图所示:
在这里插入图片描述
在附录F(SDP 定义)中介绍了TCP支持主动模式和被动模式,UDP没有做规定。下面将介绍这三种模式的差异。

2、TCP ACTIVE、TCP PASSIVE、UDP之间差异

设备端:指的是GB28181运行客户端程序的设备,比如IPC;
平台端:指的的GB28181运行服务端程序的设备或者服务器,比如NVR。

  • UDP
    平台端监听UDP端口,通过INVITE信令告知设备端UDP端口号,设备端通过告知的端口创建UDP SOCKET,设备端通过这个SOCKET主动向平台端传输码流。

  • TCP 被动
    平台端监听TCP端口,通过INVITE信令告知设备端TCP端口号,设备端通过告知的端口创建TCP连接,设备端通过这个连接主动向平台端传输码流。

  • TCP 主动
    在UDP模式和TCP被动模式中,平台端运行server,设备端是client,但是在TCP主动模式中,设备端起server,平台端是client。设备端告知服务端监听的TCP端口情况(通过SDP协议),当设备端监听到平台端的连接时,将主动向这个连接发送码流。

  • TCP和UDP的差异
    TCP模式中,由于TCP是流协议,因此需要在RTP加上一个四字节的头部,这四个字节依次包括标识符‘*’, 交叉通道, 两字节长度信息。

关于UDP和TCP的socket创建的问题,可以参考往期文章。网络基础–创建UDP和TCP客户端,创建TCP服务端程序

关于SDP的内容,请参考《GB/T 28181 —2016》附 录 F/SDP 定义
参考往期文章:网络流媒体–SDP会话描述协议(RFC-4566)

3、测试环境

可以使用LIVEGBS这个工具进行测试,具体可参考GB28181流媒体数据几种流传输模式- UDP、TCP被动、TCP主动模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值