当前位置: 首页 > news >正文

在直播系统中使用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协议可以实现因地制宜的开展直播、录播活动。

http://www.lryc.cn/news/221506.html

相关文章:

  • Notion汉化
  • echarts有背景的柱状图,鼠标滑过提示信息都是展示背景柱状图的值
  • 华为防火墙基本原理工作方法总结
  • Spring Cloud之多级缓存
  • 融云荣登「2023 年度 PaaS 企业排行榜」
  • YOLOv8轻量化模型:模型轻量化设计 | 轻量级可重参化EfficientRep| 来自YOLOv6思想
  • 【JavaSE】基础笔记 - 类和对象(下)
  • 浅析刚入门Python初学者的注意事项
  • 2023NOIP A层联测26 总结
  • 响应式编程-Project Reactor Mono 介绍
  • R语言实操记录——导出高清图片(矢量图)
  • Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
  • webgoat-Request Forgeries 请求伪造
  • 【flask跨域问题】解决它
  • 虚幻引擎:如何在工程里面添加插件
  • SpringCloud Alibaba 【四】Openfeign
  • 语音信号的线性预测分析、合成及MATLAB编程设计实现
  • rabbitMQ rascal/amqplib报错 Error: Unexpected close 排查
  • 一文1600字使用Postman搞定各种接口token实战(建议收藏)
  • Vue自定义组件学习笔记
  • 王道p18 第12题假设 A中的 n个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出A的主元素。若存在主元素,则输出该元素:否则输出-1
  • OpenTiny Vue 3.11.0 发布:增加富文本、ColorPicker等4个新组件,迎来了贡献者大爆发!
  • vivado查看报告和消息5
  • 基于javaweb+mysql的jsp+servlet学生成绩管理系统(管理员、教师、学生)
  • 基于卷积优化算法的无人机航迹规划-附代码
  • 科技云报道:不卷自研大模型,金山办公如何创新生成式AI?
  • 3BHE022291R0101 PCD230A 专注于制造卓越人工智能
  • 小程序 scroll-view 性能问题
  • 【移远QuecPython】EC800M物联网开发板的硬件PWM和PWM输出BUG
  • OverDraw的优化