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

技术背景

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

技术实现

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

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

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

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

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

总结

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

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

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

总体技术架构设计如下:

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平台也都覆盖,感兴趣的开发者,可以单独跟我沟通。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/50248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能历史:从梦想到现实的变革之路

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Git 安装教程

1、登录git 官方网站:https://git-scm.com/ 点击左边的 Downloads 或者 右边标识的下载标志,它根据电脑操作系统自动匹配版本 Downloads for Windows 2、以 windows 为例下载对应版本 网络有时可能不大好,阿里镜像下载超快。 下载好以后&a…

Tensorflow中高维矩阵的乘法运算tf.matmul(tf.linalg.matmul)详悉

1.问题由来 在tensorflow框架下,经常会用到矩阵的乘法运算,特别是高(多)维的矩阵运算,在这些矩阵运算时,经常使用到其中的tf.matmul或tf.linalg.matmul等函数。但高维矩阵在内部怎么运算的?其内…

npm yarn pnpm的区别

‌npm, ‌yarn, 和 ‌pnpm 都是用于管理 ‌JavaScript 项目依赖的工具,但它们在设计理念、性能和功能上有显著的区别。 npm 是 Node.js 的官方包管理器,主要用于管理和分发 Node.js 的依赖。它支持语义版本控制,确保在不同环境中保持一致性&a…

【深度学习入门】安装conda/miniconda、所需包类、CUDA与conda/Miniconda间的关系

深度学习入门 须知 本教程跟随李沐老师课程随笔,课程链接点击此处。 CUDA和Anaconda的关系 CUDA Toolkit是由Nvidia官方提供的完整工具包,其中提供了Nvidia驱动程序、开发CUDA程序相关的开发工具包等。 Anaconda在安装Pytorch等会用到的CUDA的框架时…

【INTEL(ALTERA)】Quartus® Prime Pro Edition 软件 v24.2 中,哪些 Agilex™ 5 IP 功能的硬件验证有限?

目录 说明 解决方法 说明 如下表所示,Quartus Prime 专业版软件 24.2 版为 Agilex™ 5 IP 或功能提供有限的硬件支持。此外,设备的设备型号、比特流和固件尚未最终确定。 影响 Agilex™ 5 特定功能的已知问题可参阅 Agilex 5 知识库文章搜索。 解决…

【Air724UG】4G模块

目录 一、实物图 二、原理图 引脚定义 三、简介 基本原理 产品参数 UART1 蓝色指示灯 五、注意: 源文件下载 可访问底部联系方式也可前往电子校园网官网搜索关键词 关键词: Air724UG 一…

wpf中轮询显示图片

本文的需求是,在一个文件夹中,放一堆图片的集合,然后在wpf程序中,按照定时的方式,循序显示照片。 全部代码 1.声明一个PictureInfo类 namespace WpfApp1 {public class PictureInfo{public string? FileName { get; …

科技日报:华宇TAS应用中间件亮相2024政法智能化建设技术装备及成果展

近日,2024政法智能化建设技术装备及成果展在北京国家会议中心举行。成果展上,信创领域的华宇TAS应用中间件产品引人注目。 中间件是一种基础软件,在信息系统中处于应用运行支撑及连接的基础地位,是构建数字化转型基础设施的中坚力…

uni-app全局文件与常用API

文章目录 rpx响应式单位import导入css样式及scss变量用法与static目录import导入css样式uni.scss变量用法 pages.json页面路由globalStyle的属性pages设置页面路径及窗口表现tabBar设置底部菜单选项及iconfont图标 vite.config中安装插件unplugin-auto-import自动导入vue和unia…

探索Perl的奇妙世界:入门学习与实战指南

一、Perl语言概述 1.1 Perl的起源与发展 Perl(Practical Extraction and Reporting Language)是一种高级、解释型、动态编程语言,由Larry Wall于1987年发明。Perl的初衷是作为一种文本处理工具,帮助系统管理员在Unix系统中处理报…

Godot游戏制作 04平台设计

新建创景,添加AnimatableBody2D节点。 添加Sprite2D节点 拖动图片 剪裁图片,吸附模式:像素吸附 添加CollisionShape2D,设置实际形状为矩形 重命名AnimatableBody2D节点为Platform,保存场景,拖动platform场景…

STM32 | 看门狗IWDG喂狗实战

点击上方"蓝字"关注我们 01、实现功能 1、通过按键中断,让CPU执行往非法地址写入一个数据(往非法地址写入数据,系统会卡死) 非法地址:0xC0000000 02、看门狗头文件 #ifndef __IWDG_H#define __IWDG_H​#include "stm32f4xx.h"​​​void Iwdg_Init…

自动驾驶仿真前后端

自动驾驶仿真系统的开发涉及前端和后端两个主要方面,分别负责用户界面和仿真逻辑的实现。下面分别介绍自动驾驶仿真系统的前端和后端开发过程: ### 前端开发 前端开发主要关注用户界面的设计和交互,通常使用的技术包括图形用户界面&#xf…

数据库(MySQL)-视图、存储过程、触发器

一、视图 视图的定义、作用 视图是从一个或者几个基本表(或视图)导出的表。它与基本表不同,是一个虚表。但是视图只能用来查看表,不能做增删改查。 视图的作用:①简化查询 ②重写格式化数据 ③频繁访问数据库 ④过…

oracle 宽表设计

Oracle宽表设计主要涉及到数据库表或视图中字段(列)数量较多的情况。在Oracle 23c及以后的版本中,数据库表或视图中允许的最大列数已增加到4096,这为宽表设计提供了更大的灵活性。以下是对Oracle宽表设计的详细分析: …

Android 开发中px、dpi 和 dp三个单位的介绍

Android 开发中px、dpi 和 dp三个单位的介绍 在 Android 开发中,px、dpi 和 dp 是用来描述屏幕尺寸和密度的单位,它们在设计和开发中有着不同的作用和用途。 1. px(像素) 定义: px 表示屏幕上的一个像素点&#xff0c…

Git项目如何配置,如何上传至GitHub

Git项目配置并上传至GitHub的详细步骤如下: 一、准备工作 创建GitHub账号: 访问GitHub官网,点击“Sign up”注册新账号。填写相关信息,包括用户名、邮箱和密码,完成账号创建。安装Git客户端: 访问Git官网…

Photos框架 - 自定义媒体资源选择器(数据部分)

引言 在iOS开发中,系统已经为我们提供了多种便捷的媒体资源选择方式,如UIImagePickerController和PHPickerViewController。这些方式不仅使用方便、界面友好,而且我们完全不需要担心性能和稳定性问题,因为它们是由系统提供的&…

计算机毕业设计django+hadoop+scrapy租房可视化 租房推荐系统 租房大屏可视化 租房爬虫 spark 58同城租房爬虫 房源推荐系统

python scrapy bootstrap jquery css javascript html 租房信息数据展示 租房地址数量分布 租房类型统计 租房价格统计分析 租房面积分析 房屋朝向分析 房屋户型平均价格统计分析 房屋楼层统计分析 房屋楼层与价格统计分析 房屋地址与价格统计分析 房屋相关信息词云展示 租房…