Windows电脑如何启动RTSP服务实现本地摄像头数据共享

本文涉及的产品
视觉智能开放平台,视频资源包5000点
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
简介: 本文介绍如何利用大牛直播SDK中的轻量级RTSP服务,在Windows平台上轻松采集摄像头数据并生成本地RTSP流。通过SDK提供的SmartPublisherDemo工具,用户能简便地选择摄像头、配置分辨率与帧率,并启动RTSP服务。此外,还支持音频采集、多端口服务以及动态水印等功能。生成的RTSP URL可用于其他终端拉流播放,无需额外部署服务器。该服务适配多种应用场景,如安防监控、电子教室等,并兼容Windows 7及以上版本。对于希望集成此功能的开发者,SDK提供了C++及C#接口,并支持多种编译模式。

技术背景

提起Windows共享本地摄像头,好多人想到的是通过ffmepg或vlc串流到服务器,实际上,用轻量级RTSP服务更简单,本文就介绍下,如何用大牛直播SDK的Windows轻量级RTSP服务,采集摄像头,生成本地RTSP串流,供其他终端访问。

技术实现

启动大牛直播SDK的SmartPublisherDemo.exe,先选择摄像头,配置分辨率、帧率码率,“采集摄像头”-->选择需要共享的摄像头,并选择分辨率和帧率,如果需要采集麦克风或扬声器,勾选即可。

image.gif

点击“配置查看Rtsp服务”按钮,选择一个端口,点“启动服务”,如需启动多端口服务(对应多个拉流url),点“确定”,返回上级界面:

image.gif

点“发布Rtsp流”,播放地址会回调生成可拉流的rtsp的url。

image.gif

把rtsp url拷贝到播放器进行播放:

image.gif

如果需要查看本地摄像头数据,或比较整体延迟,可点击“预览”按钮,实现本地摄像头数据预览。

image.gif

总结

之前说过多次,轻量级RTSP服务的优势是,无需用户单独部署RTSP或者RTMP服务,即可实现本地的音视频数据(如摄像头、屏幕、窗体、麦克风、扬声器),编码后,汇聚到内置RTSP服务,然后,对外提供可供拉流的RTSP URL。

轻量级RTSP服务,仅限于内网环境下使用,如模块名字,适用于并发不大的场景,支持H.264/H.265,支持RTSP鉴权、单播、组播模式,考虑到单个服务承载能力,也支持同时创建多个RTSP服务,并支持获取当前RTSP服务会话连接数。

除了可以采集编码前数据外,还可以对接编码后的H.264、H.265、AAC数据,也可以配合拉流模块,拉取外部RTSP或RTMP流,汇聚到轻量级RTSP服务。

总体技术架构设计如下:

image.gif

Windows平台轻量级RTSP服务功能设计如下:

  • 音频编码:AAC;
  • 视频编码:H.264、H.265;
  • 协议类型:RTSP;
  • [音视频]支持纯音频/纯视频/音视频推送;
  • [屏幕/摄像头]支持帧率、关键帧间隔(GOP)、码率(bit-rate)设置;
  • [屏幕]支持屏幕裁剪,根据帧率和推送分辨率,自动推荐码流;
  • [摄像头]支持摄像头选择、分辨率设置、帧率设置;
  • [摄像头]摄像头支持水平反转、垂直反转、0° 90° 180° 270°旋转;
  • [屏幕]支持DXGI采集设置、启/停用Aero;
  • [音频]采集麦克风;
  • [音频]采集扬声器;
  • [预览]支持推送端实时预览;
  • 支持实时静音、取消静音;
  • 屏幕和摄像头合成/多层合成;
  • 支持窗口采集(一般不建议使用);
  • 支持实时动态水印;
  • 支持实时快照;
  • 支持降噪处理、自动增益控制、VAD端点检测;
  • 支持扬声器和麦克风混音;
  • 支持外部编码前音视频数据对接;
  • 支持外部编码后音视频数据对接;
  • 支持特定机型硬编码;
  • 支持实时音量调节;
  • 支持扩展录像模块;
  • 支持RTSP端口设置;
  • 支持RTSP鉴权用户名、密码设置;
  • 支持获取当前RTSP服务会话连接数。
  • 支持Unity接口;
  • 支持H.264扩展SEI发送模块;
  • 支持Windows7及以上版本。

如需在现有工程,集成轻量级RTSP服务,Windows平台,大牛直播SDK提供了C++/C#两套接口,对外提供32/64位debug/release库,C++和C#接口一一对应,C#接口比C++接口增加前缀NT_PB_。

C++头文件:

  • [类型定义]nt_type_define.h
  • [Log定义]smart_log.h
  • [Log定义]smart_log_define.h
  • [音视频类型定义]nt_common_media_define.h
  • [base code定义]nt_base_code_define.h
  • [publisher接口]nt_smart_publisher_define.h
  • [publisher接口]nt_smart_publisher_sdk.h

C#头文件:

  • [Log定义]smart_log.cs
  • [Log定义]smart_log_define.cs
  • [音视频类型定义]nt_common_media_define.cs
  • [base code定义]nt_base_code_define.cs
  • [publisher接口]nt_smart_publisher_define.cs
  • [publisher参数定义]nt_smart_publisher_sdk.cs

相关Lib:

  • SmartLog.dll
  • SmartLog.lib
  • SmartPublisherSDK.dll
  • SmartPublisherSDK.lib
  • NTSmartPublisherWinRTSDK.dll
  • avcodec-56.dll
  • avdevice-56.dll
  • avfilter-5.dll
  • avformat-56.dll
  • avutil-54.dll
  • postproc-53.dll
  • swresample-1.dll
  • swscale-3.dll

轻量级RTSP服务模块,可满足安防监控、内网无纸化、智慧教室等内网场景,通过接口即可实现和自身业务逻辑对接,无需单独部署流媒体服务,使用更便捷,除Windows平台外,Linux(x64_64架构|aarch64)、Android、iOS平台也都覆盖,感兴趣的开发者,可以单独跟我沟通。

相关文章
|
1月前
|
NoSQL Redis Windows
windows服务器重装系统之后,Redis服务如何恢复?
windows服务器重装系统之后,Redis服务如何恢复?
60 6
|
1月前
|
监控 Windows
Windows平台RTSP|RTMP播放器如何实时调节音量
我们在做Windows平台RTSP、RTMP播放器的时候,有这样的技术需求,特别是多路监控的时候,并不是每一路audio都需要播放出来的,所以,这时候,需要有针对音量调节的设计
|
13天前
|
边缘计算 安全 网络安全
|
13天前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
61 9
|
1月前
|
监控 C# 块存储
Windows平台RTSP|RTMP播放器如何叠加OSD文字
做Windows平台RTSP|RTMP播放器的时候,特别是多路播放场景下,开发者希望可以给每一路RTSP或RTMP流添加个额外的OSD台标,以区分不同的设备信息(比如添加摄像头所在位置),本文主要探讨,如何动态添加OSD台标。
Windows平台RTSP|RTMP播放器如何叠加OSD文字
|
16天前
|
应用服务中间件 Apache Windows
免安装版的Tomcat注册为windows服务
免安装版的Tomcat注册为windows服务
25 3
|
16天前
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
22 1
|
1月前
|
消息中间件 Java Kafka
windows服务器重装系统之后,Kafka服务如何恢复?
windows服务器重装系统之后,Kafka服务如何恢复?
25 8
|
1月前
|
Linux Android开发 iOS开发
Windows平台RTSP|RTMP播放器如何实现实时录像功能
Windows平台RTSP、RTMP播放器实时录像接口设计,实际上,除了Windows平台,我们Linux、Android、iOS平台也是一样的设计,单纯的录像模块,如果做的全面,也不是一两个接口可以搞定的
|
13天前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务