GB28181和RTSP使用场景区别有哪些?

场景差异

好多开发者纠结,到底使用GB28181还是RTSP,这里简单的谈下二者使用场景区别,GB28181和RTSP(Real-Time Streaming Protocol)是用于视频监控和流媒体传输的两种不同的协议。

GB28181是中国国家标准委员会发布的关于视频监控安防领域的网络视频监控系统技术规范。它主要应用于监控领域,用于实现视频监控系统的设备接入、视频流传输、设备控制等功能。

GB28181使用基于SIP(Session Initiation Protocol)的呼叫控制信令,通过RTP(Real-Time Transport Protocol)传输实时音视频流,并使用RTCP(Real-Time Control Protocol)实现流的控制和反馈。GB28181可实现监控视频的实时传输、回放、点播和存储等功能,适用于大规模的视频监控系统,如城市安防、企事业单位、交通监控等场景。

相比之下,RTSP是一种用于流媒体传输控制的应用层协议。它主要用于实现对流媒体服务器中的多媒体资源的控制。RTSP可以在客户端和服务器之间建立会话,并控制流媒体的播放、录制、暂停、快进等操作。它通常与RTP相结合,通过RTP传输音视频数据。RTSP在流媒体传输控制方面具有较高的可扩展性和灵活性,适用于各种流媒体应用,如直播、点播服务、视频会议等。

简单来说,GB28181适用于视频监控系统,用于实现监控设备的接入和视频流传输控制等功能,比如如执法记录仪、智能安全帽、智能监控、智慧零售、智慧教育、远程办公、明厨亮灶、智慧交通、智慧工地、雪亮工程、平安乡村、生产运输、车载终端等场景。

而RTSP主要用于流媒体传输控制,可广泛应用于直播、点播、视频会议等各种流媒体场景。虽然两者都涉及流媒体传输,但由于其应用领域和功能不同,使用场景也有所区别。

技术实现

下面探讨下,大牛直播SDK在GB28181和RTSP主要实现的功能模块。

先说Android平台GB28181设备接入模块,我们实现的功能如下:

Android平台GB28181设备接入模块

  • 视频格式H.264/H.265(Android H.265硬编码);
  • 音频格式G.711 A律、AAC;
  • 音量调节Android平台采集端支持实时音量调节;
  • H.264硬编码支持H.264特定机型硬编码;
  • H.265硬编码支持H.265特定机型硬编码;
  • 软硬编码参数配置支持gop间隔、帧率、bit-rate设置;
  • 软编码参数配置支持软编码profile、软编码速度、可变码率设置;
  • 支持横屏、竖屏推流;
  • Android平台支持后台service推送屏幕(推送屏幕需要5.0+版本);
  • 支持纯视频、音视频PS打包传输;
  • 支持RTP OVER UDP和RTP OVER TCP被动模式(TCP媒体流传输客户端);
  • 支持信令通道网络传输协议TCP/UDP设置;
  • 支持注册、注销,支持注册刷新及注册有效期设置;
  • 支持设备目录查询应答;
  • 支持心跳机制,支持心跳间隔、心跳检测次数设置;
  • 支持移动设备位置(MobilePosition)订阅和通知;
  • 适用国家标准:GB/T 28181---2016;
  • 支持语音广播;
  • 支持语音对讲;
  • 支持历史视音频文件检索;
  • 支持历史视音频文件下载;
  • 支持云台控制和预置位查询;
  • 实时水印支持动态文字水印、png水印;
  • 镜像Android平台支持前置摄像头实时镜像功能;
  • 实时静音支持实时静音/取消静音;
  • 实时快照支持实时快照;
  • 降噪支持环境音、手机干扰等引起的噪音降噪处理、自动增益、VAD检测;
  • 外部编码前视频数据对接支持YUV数据对接;
  • 外部编码前音频数据对接支持PCM对接;
  • 外部编码后视频数据对接支持外部H.264数据对接;
  • 外部编码后音频数据对接外部AAC数据对接;
  • 扩展录像功能支持和录像SDK组合使用,录像相关功能。

RTSP的话,我们实现了轻量级RTSP服务和跨平台的低延迟RTSP播放。

轻量级RTSP服务模块

  • 基础功能支持Windows/Linux/Android/iOS平台RTMP直播SDK除推送RTMP外的所有常规功能;
  • 音频格式AAC;
  • 视频格式H.264、H.265;
  • 协议类型RTSP;
  • 传输模式支持单播和组播模式;
  • 端口设置支持RTSP端口设置;
  • 鉴权设置支持RTSP鉴权用户名、密码设置;
  • 获取session连接数支持获取当前RTSP服务会话连接数;
  • 多服务支持支持同时创建多个内置RTSP服务;
  • RTSP url回调支持设置后的rtsp url通过event回调到上层。

RTSP直播播放模块

  • 多实例播放支持多实例播放;
  • 事件回调支持网络状态、buffer状态等回调;
  • 视频格式支持H.265、H.264,此外,还支持RTSP MJPEG播放;
  • 音频格式支持AAC/PCMA/PCMU;
  • H.264/H.265软解码支持H.264/H.265软解;
  • H.264硬解码Windows/Android/iOS支持特定机型H.264硬解;
  • H.265硬解Windows/Android/iOS支持特定机型H.265硬解;
  • H.264/H.265硬解码Android支持设置Surface模式硬解和普通模式硬解码;
  • RTSP模式设置支持RTSP TCP/UDP模式设置;
  • RTSP TCP/UDP自动切换支持RTSP TCP、UDP模式自动切换;
  • RTSP超时设置支持RTSP超时时间设置,单位:秒;
  • RTSP 401认证处理支持上报RTSP 401事件,如URL携带鉴权信息,会自动处理;
  • 缓冲时间设置支持buffer time设置;
  • 首屏秒开支持首屏秒开模式;
  • 复杂网络处理支持断网重连等各种网络环境自动适配;
  • 快速切换URL支持播放过程中,快速切换其他URL,内容切换更快;
  • 音视频多种render机制Android平台,视频:surfaceview/OpenGL ES,音频:AudioTrack/OpenSL ES;
  • 实时静音支持播放过程中,实时静音/取消静音;
  • 实时音量调节支持播放过程中实时调节音量;
  • 实时快照支持播放过程中截取当前播放画面;
  • 只播关键帧Windows平台支持实时设置是否只播放关键帧;
  • 渲染角度支持0°,90°,180°和270°四个视频画面渲染角度设置;
  • 渲染镜像支持水平反转、垂直反转模式设置;
  • 等比例缩放支持图像等比例缩放绘制(Android设置surface模式硬解模式不支持);
  • 实时下载速度更新支持当前下载速度实时回调(支持设置回调时间间隔);
  • 解码前视频数据回调支持H.264/H.265数据回调;
  • 解码后视频数据回调支持解码后YUV/RGB数据回调;
  • 解码前音频数据回调支持AAC/PCMA/PCMU数据回调;
  • 音视频自适应支持播放过程中,音视频信息改变后自适应;
  • 扩展录像功能完美支持和录像模块组合使用(支持RTSP H.265流录制,支持PCMA/PCMU转AAC后录制,支持设置只录制音频或视频)。

相关推荐
qingmiaozhuan8 小时前
电脑录屏黑屏?只有声音没画面?从原理到排查一篇搞定
ffmpeg·电脑·音视频开发·录屏技术·电脑录屏
用户0510122572961 天前
RTP和RTCP协议原理
音视频开发
京东云开发者4 天前
【全栈实践】第一个 AI Agent 项目:从零搭建 AI 音频创作助手【最终版】
前端·vue.js·音视频开发
glumes5 天前
从《牛来》到 DCP:一部电影是怎么走进电影院的?
ffmpeg·音视频开发
京东云开发者5 天前
【全栈实践】第一个 AI Agent 项目:从零搭建 AI 音频创作助手(高级篇)
前端·agent·音视频开发
wangruofeng6 天前
20822 star 的开源录屏软件弃 Tauri 换 Electron:表层是换壳,里子是 46 个 Rust 模块
github·音视频开发
qingmiaozhuan7 天前
电脑录屏软件追剧高光截取:FFmpeg帧裁剪与可视化方案对比
ffmpeg·电脑·音视频开发·录屏技术·电脑录屏
码流怪侠8 天前
StereoCrafter 源码级深度拆解:腾讯如何把 2D 视频“抠“成 3D
github·音视频开发·webvr
字节跳动视频云技术团队11 天前
把 AI 视频的钱花在刀刃上,不是每一刀上
人工智能·音视频开发
大辉狼_音频架构13 天前
第 02 篇:时域的语言 —— 卷积、LTI 系统与冲激响应
算法·音视频开发