在直播系统中使用RTSP协议传递视频
目录
概述
1、环境准备
2、拉流URL地址
3、导播软件取流
(1)OBS中拉取RTSP流
(2)芯象中拉取RTSP流
(3)vMix中拉取RTSP流
写在最后
概述
提到RTSP协议,很容易想到RTMP协议,它们之间的区别是什么呢?RTSP有何特点?应用领域何在?直播中怎么用呢?

RTSP (Real Time Streaming Protocol)是实时流传输协议,它使用TCP或UDP完成数据传输。它具备网络延迟小的特性,广泛应用于安防视频监控领域中。

RTMP(Real Time Messaging Protocol)实时消息协议,它使用TCP进行数据传输,广泛应用于直播系统中,导播端向服务端的推流。
RTSP网络延迟小于RTMP,很多监控摄像头内部都支持这个协议,手机安装了APP也可以将摄像头拍摄的画面利用RTSP发送出去。

在实际应用中,RTSP是将视频或者摄像头数据转码后作为服务端,等待客户端“拉流”,拉流支持并发。RTMP则是向服务端推流,不支持并发,由服务器实现分发。

因此,在直播中,我们通常使用RTSP从摄像机拉流作为导播素材,导播最终输出通过RTMP推流给直播服务器进行视频分发,实现高并发的多用户同时观看。
1、环境准备
如果有条件,可以安装一台监控摄像机(如:海康、大华),开机运行后等待导播软件拉流。如果没有这个条件,可以使用手机安装APP的方案。
APP名称:IP摄像头

下载地址:
Android:https://download.csdn.net/download/dgnankai/88466854
iOS :App Store 上的“IP摄像头 Pro”
安装运行:

此外,还需要安装OBS、芯象、vMix等导播软件。在这些软件中使用NDI传输视频的内容,详见:《OBS使用NDI协议输入输出》、《“芯象”使用NDI协议输入输出》、《vMix使用NDI协议输入输出》。
2、拉流URL地址
RTSP拉流地址用于填写在拉流客户端中,实现协议、地址、账号、密码、流名称(ID)的定义。基本格式如下:
rtsp://账号:密码@IP地址:端口号/流名称
上面手机RTSP摄像机输出的流地址为:rtsp://admin:admin@192.168.0.122:8554/live
如果使用的监控摄像机,海康rtsp地址:
rtsp://admin:admin12345@192.168.10.199:554/h264/ch1/main/av_stream
其他厂家地址详见《各监控厂商rtsp取流格式》
3、导播软件取流
(1)OBS中拉取RTSP流
启动OBS→在“来源”中添加“VLC”视频源→播放列表中添加“路径/URL”

在对话框中输入地址,确认后调整在场景中的位置。

如果没有“播放”就单击VLC媒体控制栏中的播放/重新播放按钮

(2)芯象中拉取RTSP流
启动芯象→菜单“添加来源”→网络来源

添加→输入拉流地址→确定



(3)vMix中拉取RTSP流
启动vMix→添加输入→流/SRT→码流类型:VLC(RTSP)→URL输入拉流地址→OK


写在最后
RTSP协议广泛应用在监控领域,现在很多监控摄像头像素越来越高,图形质量也越来越好,在直播要求不高的情况下基本能够加以利用。用好rtsp协议可以实现因地制宜的开展直播、录播活动。
相关文章:
在直播系统中使用RTSP协议传递视频
目录 概述 1、环境准备 2、拉流URL地址 3、导播软件取流 (1)OBS中拉取RTSP流 (2)芯象中拉取RTSP流 (3)vMix中拉取RTSP流 写在最后 概述 提到RTSP协议,很容易想到RTMP协议,它…...
Notion汉化
Notion真无语,汉化版都没有。真的无力吐槽。 2023.11.7汉化经历 教程链接:github Reamd7/notion-zh_CN at 2.4.20-handmade (github.com) 网页版: 油猴下载插件。 Notion中文汉化 浏览器插件下载 windows: github realse 这…...
echarts有背景的柱状图,鼠标滑过提示信息都是展示背景柱状图的值
// 上一篇文章介绍了如何实现有背景的柱状图,现在又遇到一个问题,鼠标滑过柱子,提示信息是背景柱子的值,解决方案,自定义tooltip的formatter,上代码tooltip: {//鼠标悬浮提示数据formatter: function (para…...
华为防火墙基本原理工作方法总结
防火墙只会对tcp首包syn建立会话表,其它丢掉,如synack,ack udp直接建立会话表 icmp只对首包请求包建立会话表,其它包,如应答的不会建立直接丢掉 防火墙状态查看: rule name trust_untrust source-zone tru…...
Spring Cloud之多级缓存
目录 传统缓存 多级缓存 JVM进程缓存 Caffeine 缓存驱逐策略 实现进程缓存 常用Lua语法 数据类型 变量声明 循环使用 定义函数 条件控制 安装OpenResty 实现Nginx业务逻辑编写 请求参数解析 实现lua访问tomcat JSON的序列化和反序列化 Tomcat的集群负载均衡 …...
融云荣登「2023 年度 PaaS 企业排行榜」
11 月 2 日,中国科学院旗下《互联网周刊》颁布“2023 年度 PaaS 企业排行榜”,融云荣登榜单。关注【融云全球互联网通信云】了解更多 根据中国信息通信研究院《云计算白皮书 2023》:2022 年,PaaS 增长强势,总收入 342 …...
YOLOv8轻量化模型:模型轻量化设计 | 轻量级可重参化EfficientRep| 来自YOLOv6思想
💡💡💡本文解决什么问题:在几乎不保证精度下降的前提下,轻量级模型创新设计 EfficientRep 在关键点检测任务中 | GFLOPs从9.6降低至8.5, mAP50从0.921下降至0.912,mAP50-95从0.697提升至0.779 YOLO轻量化模型专栏:http://t.csdnimg.cn/AeaEF 1.YOLOv6介绍 论文…...
【JavaSE】基础笔记 - 类和对象(下)
目录 1、this引用 1.1、为什么要有this引用 1.2、什么是this引用 1.3、 this引用的特性 2、 对象的构造及初始化 2.1、 如何初始化对象 2.2、构造方法 2.2.1、概念 2.2.2、特性 2.3、默认初始化 2.4、就地初始化 上篇:【JavaSE】基础笔记 - 类和对象&#…...
浅析刚入门Python初学者的注意事项
文章目录 一、注意你的Python版本1.print()函数2.raw_input()与input()3.比较符号,使用!替换<>4.repr函数5.exec()函数 二、新手常遇到的问题1、如何写多行程序?2、如何执行.py文件?3、and,or,not4、True和False…...
2023NOIP A层联测26 总结
T1 求 ∑ i 1 n ∑ j i n ( ⨁ k i j a k ) 2 \sum\limits_{i1}^n\sum\limits_{ji}^n\left(\bigoplus\limits_{ki}^{j}a_k\right)^2 i1∑nji∑n(ki⨁jak)2, n , a i ≤ 2 1 0 5 n,a_i\le2\times10^5 n,ai≤2105。先转成前缀和,然后就没思…...
响应式编程-Project Reactor Mono 介绍
响应式编程-Project Reactor Mono 介绍 本文以Mono的角度来介绍Reactor编程,Flux的使用同理。 初体验 Web应用 controller 方法在Spring webmvc 和 Spring webFlux下Controller方法实现示例如下: Spring webmvc: GetMapping("/test1") …...
R语言实操记录——导出高清图片(矢量图)
R语言 R语言实操记录——导出高清图片(矢量图) 文章目录 R语言一、起因(闲聊,可跳过)二、如何在R中导出高清图片(矢量图)2.1、保存为EPS图片格式后转AI编辑2.2、保存为PDF格式(推荐…...
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
背景介绍 Apache Doris是一个基于MPP架构的易于使用,高性能和实时的分析数据库,以其极高的速度和易用性而闻名。海量数据下返回查询结果仅需亚秒级响应时间,不仅可以支持高并发点查询场景,还可以支持高通量复杂分析场景。 这些都…...
webgoat-Request Forgeries 请求伪造
(A8:2013) Request Forgeries Cross-Site Request Forgeries 跨站请求伪造,又称一键攻击或会话骑乘,简称CSRF (有时发音为 sea-surf)或 XSRF,是一种恶意利用网站,其中传输未经授权的命令 来自网站信任的用…...
【flask跨域问题】解决它
大概7-8年前,前后端还没开始分离或者刚开始分离的之前,跨域问题很多。 后来我就没在遇到过了,这次做一个小项目,又遇到了,记录下。 现在前端的脚手架都自己能解决了。 1. 跨域 是因为出于浏览器的同源策略限制。同源…...
虚幻引擎:如何在工程里面添加插件
1.在自己的项目中安装插件 在content目录下创建一个Plugins的文件,将插件文件放进去即可 2.在软件上安装,这样所有创建的项目都会带有此插件 将插件放在自己软件的这个目录下就好了...
SpringCloud Alibaba 【四】Openfeign
Openfeign配置与使用 前言介绍openfeign使用openfeign导入依赖启动类正式使用测试结果 前言 在springcloud中消费者项目需要调用提供者项目的接口,一开始用的是RestTemplate中的方法。但是RestTemplate进行远程调用时,直接调用controller层的接口&#…...
语音信号的线性预测分析、合成及MATLAB编程设计实现
需要的基础:AR模型、列文森-杜宾递推法 推荐阅读: 基于线性预测的语音编码原理解析 基于线性预测的语音编码原理解析 这篇文章和上一篇类似 语音信号的线性预测分析及其Matlab源码 这篇文章是要付费看的,但是他能预览的那部分写的确实好 语…...
rabbitMQ rascal/amqplib报错 Error: Unexpected close 排查
以下是一些可能导致此 RabbitMQ 客户端或任何其他 RabbitMQ 客户端中的套接字读取或写入失败的常见场景 1.错过(客户端)心跳 第一个常见原因是RabbitMQ 检测到心跳丢失。发生这种情况时,RabbitMQ 将添加一个有关它的日志条目,然…...
一文1600字使用Postman搞定各种接口token实战(建议收藏)
现在许多项目都使用jwt来实现用户登录和数据权限,校验过用户的用户名和密码后,会向用户响应一段经过加密的token,在这段token中可能储存了数据权限等,在后期的访问中,需要携带这段token,后台解析这段token才…...
颠覆式窗口置顶:Topit重新定义Mac多任务处理体验
颠覆式窗口置顶:Topit重新定义Mac多任务处理体验 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 在数字工作空间爆炸式增长的今天,Mac用…...
从51单片机到STM32:我的裸机架构升级踩坑实录(附代码片段)
从51单片机到STM32:我的裸机架构升级踩坑实录 第一次用STM32F103替换掉手头的STC89C52时,我对着闪烁的LED灯陷入了沉思——这个32位的"怪兽"显然不应该继续沿用51那套超级循环的编程方式。三年前那个在延时函数里死等按键响应的菜鸟程序员&…...
F3D开发环境搭建:从零开始编译和构建这个开源3D项目
F3D开发环境搭建:从零开始编译和构建这个开源3D项目 【免费下载链接】f3d Fast and minimalist 3D viewer. 项目地址: https://gitcode.com/GitHub_Trending/f3/f3d F3D是一款快速且极简的3D查看器,本指南将带你从零开始搭建其开发环境࿰…...
OpenClaw安全实践:私有化Qwen3-VL:30B保障敏感数据不出境
OpenClaw安全实践:私有化Qwen3-VL:30B保障敏感数据不出境 1. 为什么我们需要私有化部署 去年处理一份法律合同时,我犯了一个至今心有余悸的错误——把客户保密协议上传到某公有云AI进行条款分析。虽然及时删除了文件,但那种"数据已脱离…...
RRT*在ROS中的实战:用Gazebo仿真实现动态避障(Python+ROS Noetic)
RRT*在ROS中的实战:用Gazebo仿真实现动态避障(PythonROS Noetic) 路径规划是机器人自主导航的核心技术之一。在复杂动态环境中,如何快速找到一条安全且优化的路径一直是研究热点。RRT*(Rapidly-exploring Random Trees…...
如何使用CSS自定义属性加速前端开发:Open Props实用指南
如何使用CSS自定义属性加速前端开发:Open Props实用指南 【免费下载链接】open-props CSS custom properties to help accelerate adaptive and consistent design. 项目地址: https://gitcode.com/gh_mirrors/op/open-props Open Props是一个开源的CSS自定义…...
ColorMemLCD电子纸驱动库:面向LPM013M126A的嵌入式低功耗显示方案
1. ColorMemLCD 库概述ColorMemLCD 是一款专为 JDI(Japan Display Inc.)LPM013M126A 型彩色内存式 LCD 显示模块设计的嵌入式图形驱动库。该库并非从零构建,而是继承自 ARM mbed OS 生态中广泛使用的GraphicDisplay抽象基类,延续了…...
1756-L55处理器单元
1756-L55 处理器单元(ControlLogix 系列PLC CPU)一、主要特点高性能处理器,适合中大型控制系统支持多任务运行与快速扫描支持在线编程与程序修改模块化结构,扩展灵活支持本地及远程I/O控制可实现冗余系统,提高可靠性支…...
从GOPATH到Go Mod:老项目迁移必知的5个文件结构陷阱
从GOPATH到Go Mod:老项目迁移必知的5个文件结构陷阱 当Golang社区在2018年推出Go Modules时,很少有人预料到这个看似简单的包管理工具会成为Go语言发展史上的分水岭。四年后的今天,仍有大量遗留项目困在GOPATH的泥潭中,而迁移过程…...
密码安全必修课:为什么BCrypt比MD5更适合存储用户密码?
密码安全必修课:为什么BCrypt比MD5更适合存储用户密码? 在数字身份成为第二张身份证的时代,密码安全早已不是技术圈的内部话题。去年某社交平台600万用户数据泄露事件中,令人震惊的不是数据被盗本身,而是其中87%的密码…...
