轻量级RTSP服务SDK

概述(Overview)

SmartMediaKit 轻量级 RTSP 服务 SDK
基于全自研跨平台内核构建,支持 Windows / Linux(x86_64 | aarch64)/ Android / iOS 全平台集成。
该模块可在推流端直接启动本地 RTSP 服务,实现 内网环境下的音视频数据分发,无需额外部署流媒体服务器

通过内置服务方式,开发者可将摄像头、屏幕、麦克风等采集数据,经编码后即时汇聚为 RTSP 输出流,对外提供可直接访问的 rtsp:// URL。
该设计特别适用于 安防监控、教育培训、工业检测、物联网节点、应急指挥等低并发内网场景,在无需外部服务器的条件下实现稳定可靠的视频发布能力。

自发布以来,该 SDK 已在大量企业与行业项目中稳定运行,为多终端系统提供本地化、可嵌入的超低延迟音视频分发能力。


技术特点与优势

  • 本地直出、零配置:无需单独部署 RTSP/RTMP 服务器,即可在应用进程内快速生成可供访问的 RTSP 服务;

  • 跨平台统一架构:支持 Windows、Linux(含麒麟系统)、Android、iOS 平台,接口一致,集成简洁;

  • 延迟极低:针对内网场景优化传输链路与缓冲策略,端到端延迟可控制在毫秒级;

  • 支持多种编码格式:H.264 / H.265 视频编码与 AAC 音频编码,兼顾质量与带宽效率;

  • 轻量与稳定:模块资源占用低,运行稳定,可在嵌入式或移动端设备上长期运行;

  • 安全可控:支持 RTSP 鉴权机制(用户名/密码)与单播、组播模式配置;

  • 多实例服务:支持同时创建多个 RTSP 服务实例,并可实时获取会话连接数;

  • 与推流 SDK 无缝协作:可与 SmartPublisher(RTMP 推流 SDK)组合使用,实现“一推多播”的本地服务能力。


功能支持(Feature Matrix)

如未特别说明,以下能力在 Windows / Linux(x86_64 | aarch64)/ Android / iOS 平台均可使用。

协议与会话

  • 协议类型:RTSP;

  • 传输模式:支持单播与组播模式;

  • 鉴权机制:支持用户名与密码验证;

  • 端口设置:可配置 RTSP 服务端口;

  • 连接统计:可实时获取当前 RTSP 服务会话连接数;

  • 多实例服务:支持同时创建多个内置 RTSP 服务;

  • URL 回调:服务启动后可通过回调接口获取可访问的 RTSP URL。


编解码与数据源

  • 视频格式:H.264 / H.265;

  • 音频格式:AAC;

  • 数据源支持:兼容摄像头、屏幕、麦克风采集及外部数据输入;

  • 编码能力:支持软 / 硬件编码与码率、帧率、分辨率等参数配置;

  • 同步机制:内置时间戳与缓冲同步控制,保障多源一致性。


时序与性能优化

  • 内网低延迟:针对局域网优化传输时序,确保音视频实时性;

  • 轻量设计:CPU / 内存占用低,不依赖外部进程或守护服务;

  • 多线程模型:独立推送线程架构,保证多路服务并行时的稳定性。


安全与兼容

  • 鉴权安全:用户名 / 密码验证防止非法访问;

  • 网络适应性:支持局域网内自动发现与组播分发;

  • 系统兼容性:兼容主流系统与架构(Windows、Linux、Android、iOS、麒麟 OS);

  • 稳定可靠:经过长期项目验证,可在长时间运行场景下保持稳定服务。


典型应用场景

  • 安防监控:摄像头画面直接通过本地 RTSP 服务对外提供访问;

  • 教育培训 / 智慧教室:教师端实时推送课程画面到内网终端;

  • 工业检测 / 设备监控:工控摄像头视频在局域网内实时共享;

  • 智能物联网:终端节点通过内置 RTSP 服务上传视频流;

  • 应急指挥与调度:在无公网环境下快速实现多端可视化协同。


示例工程(Demos)

  • Windows 测试程序SmartPublisherDemo.exe

  • Windows C++ 工程WIN-PublisherSDK-CPP-Demo

  • Windows C# 工程WIN-PublisherSDK-CSharp-Demo

  • Linux 工程rtspserverdemo

  • Android 工程SmartPublisherV2

  • iOS 工程SmartiOSPublisherV2


对接文档(Integration Guides)


平台与架构支持

平台 架构
Windows x86 / x64
Linux(含麒麟系统) x86_64 / aarch64
Android armeabi-v7a / arm64-v8a / x86 / x86_64
iOS arm64

以Windows平台为例

1. 在选择好需要推送出去的音视频数据类型、调整好码率后(以采集Windows桌面为例,设置好采集帧率,看是否用硬编码,码率如果不想自己配置的话,可以点击按钮“获取视频码率默认值”,如需采集麦克风或扬声器,选择即可),点击“配置查看RTSP服务”,如果需要采集摄像头,选择“采集摄像头”,并选择相应的分辨率和帧率,如果需要采集窗口,选择后,记得设置采集帧率(帧)

2. 根据需求,可以启动一路或者多路服务,每路服务,并可配置用户名密码信息(可选)。启动服务后,点击“确定”退出设置页面;

3. 配置流名称(可自定义),默认是 stream1;

4. 发布RTSP流:

5. 发布后,播放地址列表里面,会显示当前发布的url,拷贝其中一个或多个,用大牛直播直播播放器SDK,分别播放即可;

6.服务器负载查看:再次点击“配置查看RTSP服务”,即可看到每个服务连接的会话数:

7. 如需停止服务,点击页面的“停止RTSP流”即可;

8. 如需启动RTSP服务的同时,还需要把数据推到其他RTMP服务,输入推送的RTMP url,点击“推送”即可。

视频展示

经测试,整体延迟在200-300毫秒区间,在高稳定低CPU占用的前提下,也可能是行业内功能支持最全面,延迟最低的商用级内置RTSP服务方案。

Android平台启动轻量级RTSP服务和推送RTMP,Windows平台分别拉取RTSP流和RTMP流播放,毫秒级延迟体验:


相关博客