场景差异好多开发者纠结,到底使用GB28181还是RTSP,这里简单的谈下二者使用场景区别,GB28181和RTSP(Real-Time Streaming Protocol)是用于视频监控和流媒体传输的两种不同的协议 GB28181可实现监控视频的实时传输、回放、点播和存储等功能,适用于大规模的视频监控系统,如城市安防、企事业单位、交通监控等场景。相比之下,RTSP是一种用于流媒体传输控制的应用层协议。 而RTSP主要用于流媒体传输控制,可广泛应用于直播、点播、视频会议等各种流媒体场景。虽然两者都涉及流媒体传输,但由于其应用领域和功能不同,使用场景也有所区别。 技术实现下面探讨下,大牛直播SDK在GB28181和RTSP主要实现的功能模块。 RTSP的话,我们实现了轻量级RTSP服务和跨平台的低延迟RTSP播放。
技术背景好多开发者在跟我们沟通直播模块的时候,对GB28181设备接入和RTSP模块特别是轻量级RTSP服务,区分不清楚,不知道分别用在什么场景下。针对这个问题,我们做个简单的探讨。 RTSP:RTSP是一种用于流媒体传输控制的应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交给IETF的RFC标准(RFC2326)。 模块区别先说Android平台GB28181设备接入模块(SmartGBD),大牛直播SDK推出的Android平台GB28181接入SDK,可实现不具备国标音视频能力的 Android终端,通过平台注册接入到现有的 总结GB28181设备接入模块和轻量级RTSP服务模块,在视频监控和流媒体传输领域各有侧重。 GB28181作为中国国家标准,专注于视频监控系统的设备接入、视频流传输和设备控制等功能,适用于大规模的视频监控系统。
好多开发者,RTSP和onvif,总是搞不清楚区别和相互关系,本文针对此做个简单的技术普及,RTSP(Real-Time Streaming Protocol)和ONVIF(Open Network Video Interface Forum)在视频监控系统和技术标准方面各有其独特的作用和区别,同时它们之间也存在一定的联系。 以下是对RTSP和ONVIF的区别和联系的详细分析:rtsp和onvif区别定义和用途: RTSP:是一种用于在互联网上控制实时多媒体流传输的协议。 rtsp和onvif联系互补性: RTSP和ONVIF在视频监控系统中往往互补使用。ONVIF提供了设备间的互操作性标准,而RTSP则用于控制和管理这些设备上的实时多媒体流传输。 技术总结RTSP和ONVIF在视频监控系统中各有其独特的作用和价值,它们之间既存在区别又相互联系,共同推动着视频监控技术的不断发展和进步,以上抛砖引玉,感兴趣的开发者,可以单独跟我交流。
好多开发者疑惑,什么是内置RTSP网关,和轻量级RTSP服务又有什么区别和联系? 设计架构图如下: 内网RTSP网关 内网RTSP网关模块,系内置轻量级RTSP服务模块扩展,完成外部RTSP/RTMP数据拉取并注入到轻量级RTSP服务模块工作,多个内网客户端直接访问内网轻量级RTSP 设计架构图如下: 二者区别和联系 内置轻量级RTSP服务模块和内置RTSP网关模块共同点: 内置轻量级RTSP服务模块和内置RTSP网关模块,核心痛点是避免用户或者开发者单独部署RTSP或者RTMP服务 内置轻量级RTSP服务模块和内置RTSP网关模块不同点:数据来源不同 1. 内置轻量级RTSP服务模块,数据源来自摄像头、屏幕、麦克风等编码前数据,或者本地编码后的对接数据; 2. 内置RTSP网关模块,实际上是RTSP/RTMP拉流模块+内置轻量级RTSP服务模块组合出来的。
1、需求背景目前不是所有的直播推流设备都支持GB28181的国标注册,有的只能输出直播流,有的只能支持RTSP的推流。 那么,项目中如何把 rtsp推流或直播流转成GB/T281812、开启RTSP2.1、基础配置配置RTSP端口3、获取RTSP推流地址3.1、RTSP推流地址格式示例:rtsp://192.168.2.135 (stream_通道号),比如通道 6 的推流ID就是 stream_63.3、RTSP推流地址示例通道1:rtsp://192.168.2.135:1554/stream_1通道3:rtsp://192.168.2.135 ,固定值不能修改5.2、直播流地地址示例通道1:rtsp://127.0.0.1:1554/stream_1通道3:rtsp://127.0.0.1:1554/stream_3通道6:rtsp://127.0.0.1 6、配置级联到GB28181国标平台具体参见:LiveNVR支持RTSP/RTMP/HLS/HTTP-FLV流转换成GB28181输出级联接入到国标平台
好多开发者可能对轻量级RTSP服务和内置RTSP网关模块分不清楚。 实际上,内网RTSP网关模块,算是内置轻量级RTSP服务模块扩展,实现外部RTSP/RTMP数据拉取并注入到轻量级RTSP服务模块工作,多个内网客户端直接访问内网轻量级RTSP服务获取公网数据,无需部署单独的服务器 内置轻量级RTSP服务模块和内置RTSP网关模块共同点:内置轻量级RTSP服务模块和内置RTSP网关模块,核心痛点是避免用户或者开发者单独部署RTSP或者RTMP服务,数据汇聚到内置RTSP服务,对外提供可供拉流的 内置轻量级RTSP服务模块和内置RTSP网关模块不同点:数据来源不同1. 内置轻量级RTSP服务模块,数据源来自摄像头、屏幕、麦克风等编码前数据,或者本地编码后的对接数据;2. 内置RTSP网关模块,实际上是RTSP/RTMP拉流模块+内置轻量级RTSP服务模块组合出来的。
或RTMP流并接入至GB28181平台(比如其他IPC的RTSP流,可通过Android平台GB28181接入到国标平台)。 本篇blog,我们主要讲的是如何把RTSP的流,转GB28181投递到国标平台。 技术实现由于我们已经有非常成熟的RTSP直播播放模块和RTSP转RTMP推送模块,实际上,RTSP转GB28181这块,和转RTMP原理类似,把拉流过来的RTSP音视频数据,回调上来,然后通过推送接口, 这块介绍过,再说数据源的问题,由于本次是拉取RTSP流转推GB28181平台,拉取RTSP流的时候,设置音视频数据回调。 转GB28181到国标平台侧,涉及到两个模块,RTSP拉流和GB28181设备接入,如果需要本地录像留存数据,还需要有功能齐全的录像模块。
例如,一个城市的公安监控系统可以通过 GB28181 标准将不同区域、不同厂家的监控设备连接起来,实现统一的监控和管理。 或RTMP流并接入至GB28181平台(比如其他IPC的RTSP流,可通过Android平台GB28181接入到国标平台)。 协议特点: 可扩展性:新方法和参数很容易加入 RTSP,方便根据不同的需求进行功能扩展。 远程会议:使得远程会议参与者能够实时分享和观看音视频内容,提高会议效率和参与感。开发模块:RTSP相关的,大牛直播SDK实现了跨平台的轻量级RTSP服务模块和RTSP播放模块。 [视频格式]H.264、H.265; [协议类型]RTSP; [传输模式]支持单播和组播模式; [端口设置]支持RTSP端口设置; [鉴权设置]支持RTSP鉴权用户名、密码设置; [获取session
前言 项目中遇见一些小厂家摄像机不支持GB28181对接上级平台,或者相机已经接入上级平台了,那么还想再接入其他平台,另外有些视频平台不支持国标级联上级平台,那么这时就需要本服务GB28181ProxyGateway 功能 基于GB28181,同时支持2011、2016版协议。目前使用版本仅支持rtsp、rtmp等接入上级平台,提供实时预览功能,其他功能需要二次开发。
好多开发者一直搞不清我们轻量级RTSP服务SDK和RTSP推流SDK的区别,以下是相关区别: daniulive_chart_20200130.png 1. 初始化RTSP ServerInitRtspServerInit rtsp server(和UnInitRtspServer配对使用,即便是启动多个RTSP服务,也只需调用一次InitRtspServer 关闭rtsp serverCloseRtspServer关闭rtsp serverUnInit rtsp serverUnInitRtspServerUnInit rtsp server(和InitRtspServer server的创建启动请参考OpenRtspServer和StartRtspServer接口清除设置的rtsp serverClearRtspStreamServer清除设置的rtsp server启动 RTSP推流模块:RTSP推流模块,和RTMP推流模块类似,适用于内网或公网环境下,主要适用于第三方RTSP服务对接,如darwin stream server,或者第三方RTSP服务平台,如视频分析平台等特定场景的服务器
HTTP将数据作为文件处理,所以HTTP不是流媒体协议,RTMP和RTSP是流媒体协议。 RTMP是Adobe的私有协议,未完全公开,RTSP和HTTP是共有协议。 RTMP一般传输flv,f4v格式流,RTSP传输ts,MP4格式流,HTTP没有特定的流。 RTSP一般需要2-3个通道,数据和命令通道分开,RTMP和HTTP在一个通道上传输命令和数据。 RTSP在体系结构上位于RTP和 RTCP之上。它使用TCP或RTP完成数据传输。 HTTP与RTSP相比。HTTP传送HTML。而RTP传送是多媒体数据。 HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。 RTP是实时传输协议,一般不作为单独应用层协议处理;RTSP是实时流传输协议,它是与http等级的应用层网络协议。
这篇文章主要讲下SDP协议格式和规范、具备哪些描述能力、最后再通过在RTSP和基于SIP的国标协议进行实例分析下,当然目前比较火的WebRTC在建立音视频会话前也是通过这套协议描述会话信息的。 示例分析: RTSP中的SDP: RTSP即Real Transport Stream Protocol实时流媒体传输协议,一般和RTP、RTCP搭配使用,该协议用来进行媒体的控制和会话的建立,比如开始 这里只探讨下RTSP协议的创建媒体会话时,用SDP交互会话信息时的情况,顺便给大家一个测试地址,然后用VLC播放视频抓包就可以学习RTSP、RTP协议,RTSP协议默认端口554,测试地址: rtsp: 总结: 这篇文章主要介绍了下SDP协议的内容、格式和规范,以及通过RTSP、SIP、WebRTC中三个例子分析了下SDP中各个字段和应用。 同时在GB28181协议中,由于各个厂家对有些字段理解不规范,导致有歧义经常会出现连接摄像头失败,拉流失败等问题,需要在实践中解决和兼容。
此外,拉流端,我们已经有了成熟的RTSP和RTMP拉流播放方案。 今天,我们要做的是,把外部的RTSP或RTMP流,拉过来,然后对接到GB28181国标平台,实现媒体流数据的按需播放。 轻量级RTSP服务模块、RTSP|RTMP转GB28181网关模块和内置RTSP网关模块的区别和联系: 内置轻量级RTSP服务模块和内置RTSP网关模块,核心痛点是避免用户或者开发者单独部署RTSP或者 RTSP|RTMP转GB28181网关模块,实现的是音视频数据的转发,类似于RTSP|RTMP转RTMP推送模块,把本地数据源,对接到GB28181服务平台或RTMP服务平台。 内置轻量级RTSP服务模块,数据源来自摄像头、屏幕、麦克风等编码前数据,或者本地编码后的对接数据,这点和GB28181的设备接入模块类似。 2. 数据源来自RTSP或RTMP网络流,拉流模块完成编码后的音视频数据回调,然后,汇聚到内置轻量级RTSP服务模块。RTSP|RTMP转GB28181网关模块,和内置RTSP网关模块数据源接入一样。
01 GB28181中的RTP over TCP GB28181的TCP码流遵循的标准是RFC4571(RTP OVER TCP),具体类型是: 0 1 中的RTP over TCP RTSP中tcp码流是遵循的RFC2326标准, 详细介绍参考公众号历史文章:《RTP over TCP》 | magic number | channel number :信道数字 - 1个字节,用来指示信道 data length :数据长度 - 2个字节,用来指示插入数据长度 data :数据 - ,比如说RTP包,总长度与上面的数据长度相同 RTP,RTCP数据和RTSP 数据共享TCP数据通道,所以必须有一个标识来区别三种数据: RTP和RTCP数据会以$符号+1个字节的通道编号+2个字节的数据长度,共4个字节的前缀开始, RTSP数据是没有前缀数据的。 RTP数据和RTCP数据的区别在于第二个字节的通道编号 03 两个标准的区别 RFC4571标准格式: 长度(2字节) + RTP头+数据 RFC2326标准格式:$(1字节)+通道号(1字节)+长度
RTSP流的几个去处写了很多关于RTSP播放和转发的blog了,今天我们做个简单的汇总,以大牛直播SDK的Android平台为例,拉取到RTSP流,除了本地播放,还有几个流向:功能实现:1. 转推:通过RTMP直播推送SDK的编码后数据输入接口,把回调上来的数据,传给RTMP直播推送模块,实现RTSP数据流到RTMP服务器的转发,同时也可以转发到轻量级RTSP服务和GB28181平台;3. ;return;}btnStartStopRecorder.setText("停止录像");}}});转推GB28181平台class ButtonGB28181AgentListener implements );// 目前测试下来,发送BYE之后,有些服务器会立即发送INVITE,是否发送BYE根据实际情况看gb28181_agent_.stop();btnGB28181Agent.setText("启动GB28181 ");}else {if ( gb28181_agent_.start() ) {btnGB28181Agent.setText("停止GB28181");}}}}//停止GB28181 媒体流private
教育:通过GB28181协议,用户可以进行远程视频会议和教学,为学生提供更为灵活的学习方式。医疗:GB28181可以用于医疗领域的视频监控,提高医疗安全和管理效率。 技术实现本文以Android平台GB28181设备接入模块为例,谈谈具体实现,还有如何对外输出RTSP流。 GB28181平台(比如其他IPC的RTSP流,可通过Android平台GB28181接入到国标平台)。 Android平台GB28181设备接入模块,除了上述的功能点外,我们遇到的诉求有,如何同时对外输出RTSP,供如内网平台预览播放? 这里就提到了轻量级RTSP服务,音视频数据源过来后,编码分别注入GB28181模块和轻量级RTSP服务模块,如果需要做到对外输出RTSP流,只需要启动RTSP服务,然后发布RTSP流即可,具体的操作如下
在底层,RTSP 通常与 RTP(Real-time Transport Protocol) 和 RTCP(RTP Control Protocol) 配合使用: RTP 负责音视频帧的实际传输; RTCP 这也解释了为什么在很多通用播放器中,RTSP 延迟和稳定性往往不如 HTTP 或 RTMP: 协议本身要求高、容错逻辑复杂,真正的性能瓶颈往往在时钟控制与缓冲策略上。3. 不同于 RTSP 和 RTMP 的媒体传输导向,GB28181 的设计初衷是 监管导向的系统互联标准——它关注的不仅是“流怎么传”,更是“设备如何被统一管理、控制与调度”。 控制与状态反馈SmartMediaKit 内部提供统一的 事件与状态总线(Event Bus), 用于协议模块之间传递控制命令和运行状态: RTSP 模块在流建立后向上层发布 StreamReady 事件 服务节点内网分发、实时转推Input: RTSP → Core → Output: RTSP/RTMP协议网关(RTSP↔RTMP↔GB28181)协议桥接与中继RTSP/RTMP/GB28181 +
区别于传统“播放器或推流器”的单点工具,SmartMediaKit 更像是一套“积木式音视频内核”,用户可按需加载所需模块,构建灵活可控的视频通信链路,广泛应用于安防监控、工业采集、远程协作、智能终端等多种高实时性场景 拉流转发 RTMP / 国标平台(嵌入式边缘设备)适用场景:无人机中继节点、边缘计算盒子、低空经济网关 链路组合:RTSP 摄像头 → [RTSP → RTMP / GB28181 模块] → 平台端 (RTMP / 国标 SIP Server)推荐模块配置: 多路拉流同时转发,支持 RTMP 和 GB28181 双向通道配置 同步边转边录,便于后续回放与存证 支持设备端配置 UI/控制接口 场景四 案例4:无人机图传 & 中控平台联动 场景描述:无人机终端需要将视频流低延迟推送回地面控制中心,控制中心进行实时分发、预览和录像。 案例5:国标平台视频接入 场景描述:已有 RTSP 摄像头或视频源,需将其通过国标协议对接至 GB28181 平台(如海康、华为、天翼云眼等)。
今年我们在持续跟进TSINGSEE青犀视频不同平台对接其他平台的操作方式及区别,当我们测试EasyNVR跟海康平台对接的时候,发现海康平台架构有了新的调整,获取视频播放需要调用海康的API获取到一个临时的 RTSP流地址,这个流地址会在大约10分钟后不播的时候显示过期。 方案二: 一般海康的平台都是支持自己私有的Ehome协议或者是GB28181国标协议,我们可以通过这种方式来进行平台的接入。 综合以上两种方案,方案二更为便捷和直接。如果大家有对接新版海康平台的需求,可以了解一下EasyCVR。 当然不可否认,EasyNVR和EasyCVR都是目前行业较为优秀的流媒体平台,针对不同场景有不同的选择性,如果大家想对比两款平台,也可以直接下载测试。 ?
今年我们在持续跟进TSINGSEE青犀视频不同平台对接其他平台的操作方式及区别,当我们测试EasyNVR跟海康平台对接的时候,发现海康平台架构有了新的调整,获取视频播放需要调用海康的API获取到一个临时的 RTSP流地址,这个流地址会在大约10分钟后不播的时候显示过期。 方案二: 一般海康的平台都是支持自己私有的Ehome协议或者是GB28181国标协议,我们可以通过这种方式来进行平台的接入。 综合以上两种方案,方案二更为便捷和直接。如果大家有对接新版海康平台的需求,可以了解一下EasyCVR。 当然不可否认,EasyNVR和EasyCVR都是目前行业较为优秀的流媒体平台,针对不同场景有不同的选择性,如果大家想对比两款平台,也可以直接下载测试。