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后录制,支持设置只录制音频或视频)。

相关推荐
鹧鸪晏3 天前
Android GLSurfaceView 完全指南
android·音视频开发
ltlovezh6 天前
AAC 元数据:ADTS 与 ASC 的区别、转换和常见坑
后端·ffmpeg·音视频开发
深念Y7 天前
我明白为什么B站没法在浏览器开直播了——Windows Chrome推流踩坑全记录
前端·chrome·webrtc·浏览器·srs·直播·flv
深念Y7 天前
仿B站直播功能技术选型:为什么必须用SRS而不是WebRTC P2P?
webrtc·srs·直播·推流·b站·多媒体·obs
MonkeyKing8 天前
iOS 音频实战:边播边缓存、预加载与断点续播完整实现
音视频开发
11年老程序猿在线搬砖8 天前
2026年语聊APP开发费用深度拆解:从MVP到百万并发的预算清单
音视频开发·创业·技术选型·社交app开发·语聊app·开发费用
深念Y11 天前
网络多播与广播:到底能不能节省带宽和流量?
网络·直播·p2p·点对点·多播·流量·单播
sno_guo12 天前
直播抠图技术100谈之25---调色中曲线是最优解
人工智能·算法·机器学习·直播·内容运营·obs抠图·直播技术
码流怪侠12 天前
Android MediaCodec 全面详解:从入门到精通
android·程序员·音视频开发
aqi0013 天前
FFmpeg开发笔记(一百零二)国产的音视频移动开源工具FFmpegAndroid
android·ffmpeg·kotlin·音视频·直播·流媒体