Windows搭建RTSP视频流服务(EasyDarWin服务器版)

文章目录

  • 引言
  • 1、安装FFmpeg
  • 2、安装EasyDarWin
  • 3、实现本地\虚拟摄像头推流服务
  • 4、使用VLC或PotPlayer可视化播放器播放视频
  • 5、RTSP / RTMP系列文章

引言

RTSP和RTMP视频流的区别

  1. RTSP (Real-Time Streaming Protocol)实时流媒体协议。 RTSP定义流格式,流数据经由RTP传输;RTSP实时效果非常好,适合视频聊天,视频监控等方向。
  2. RTMP(Real Time Message Protocol)实时消息协议。 用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题,优势在于低延迟,稳定性高,支持所有摄像头格式,浏览器加载 flash插件就可以直接播放。
  3. RTSP是服务器端推送到客户端,而RTMP是点对点传输。
  4. RTSP是基于UDP或TCP,传输数据时具有较小的延迟,可用于实时流媒体的传输。
  5. RTMP是基于TCP,具有高可靠性,能够自动重连,即使在网络环境不稳定时也能够保证流媒体传输的质量。
  6. RTSP也支持多种编码格式,但通常只用于传输单个音视频轨道。RTMP支持多种编码格式,包括H.264和AAC等,支持多个音视频轨道。
  7. RTSP旨在建立和维护原始数据源(客户端)和流服务器之间的连接,允许控制流媒体服务器内的娱乐和通信系统,允许暂停和播放功能。RTMP支持整合文本、视频和音频,支持MP3和AAC音频流,也支持MP4、FLV和F4V视频。

推流和拉流的区别

  1. 推流:指的是将摄像头、屏幕等设备上的数据通过网络传输到服务器,并由服务器进行处理、存储或直播。比如,在进行网络直播时,主播需要将自己的摄像头数据通过网络上传到服务器,这个过程就是推流。
  2. **拉流:指的是从服务器上获取视频流并在本地播放的过程,也叫做播放。**比如,在观看网络上的直播时,用户需要从服务器上获取视频流才能进行观看,这个过程就是拉流。

FFmpeg概念

FFmpeg是将音频和视频转为流的开源计算机程序。

EasyDarwin实现RTSP视频流服务步骤

  1. 安装FFmpeg
  2. 安装EasyDarWin
  3. 启动本地摄像头
  4. 使用VLC或PotPlayer可视化播放器播放视频

1、安装FFmpeg

下载FFmpeg并配置环境 ,执行 ffmpeg -version 测试安装是否成功。

  1. FFmpeg官网
  2. 下载好的FFmpeg版本

在这里插入图片描述
在这里插入图片描述

成功配置ffmpeg版本:

在这里插入图片描述

2、安装EasyDarWin

  1. 下载解压到本地后运行 EasyDarwin.exe 程序,点击运行后会弹出一个 cmd 启动服务端,注:不要关闭弹出的命令框;
  2. 在浏览器中输入 http://127.0.0.1:10008 进入 web 页面,成功安装EasyDarWin。
  3. EasyDarWin官网
  4. 下载好的EasyDarWin版本

在这里插入图片描述

在这里插入图片描述

3、实现本地\虚拟摄像头推流服务

步骤

  1. 开启本地摄像头
  2. FFmpeg查询本地摄像头名
  3. FFmpeg实现推流
  4. EasyDarWin推流列表查询视频播放地址

实现

1、开启本地摄像头

  • window下,按住FN + F6(F6代表是本博主笔记本电脑开启的本地摄像头按键,具体电脑具体分析。如有的笔记本是F5)
  • 如果不想用本地摄像头,可以下载OBS,开启虚拟摄像头,OBS实现推流参考文档
    在这里插入图片描述

2、FFmpeg查询本地摄像头名

  • 打开另外一个CMD命令窗口,输入 ffmpeg -list_devices true -f dshow -i dummy
  • CMD会打印本机的多媒体设备,找到有关video的摄像头
    • 如博主这里开启两个摄像头,一个是本地摄像头,另外一个是OBS虚拟摄像头
    • “USB 2.0 Webcam Device” (video),其中 USB 2.0 Webcam Device是本地摄像头名
    • “OBS Virtual Camera” (video),其中 OBS Virtual Camera是OBS虚拟摄像头名
      在这里插入图片描述

3、FFmpeg实现推流

语法

ffmpeg -f dshow -i video="你的 video 设备名字" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp 播放地址;

播放地址随自己设置,如
    rtsp://127.0.0.1/test
或
    rtmp://127.0.0.1:1935/live/test(需要自己开启1935端口)

实现

播放地址: rtsp://127.0.0.1/test

ffmpeg -f dshow -i video="USB 2.0 Webcam Device" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://127.0.0.1/test

4、EasyDarWin推流列表查询视频播放地址
在这里插入图片描述

4、使用VLC或PotPlayer可视化播放器播放视频

  1. 方式一:下载PotPlayer播放器,任意一个浏览器,输入rtsp://127.0.0.1/test,回车,打开PotPlayer播放。
  2. 方式二:打开PotPlayer,右下角选择【添加】—【添加链接】—【填写播放地址】
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.方式三:下载 VLC播放器,选择【媒体】—【打开网络串流】—【网络】,粘贴地址,【播放】即可。
在这里插入图片描述
在这里插入图片描述

5、RTSP / RTMP系列文章

  1. Windows搭建RTMP视频流服务(Nginx服务器版)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring高手之路-Spring AOP

目录 什么是AOP Spring AOP有如下概念 补充: AOP是如何实现的 Spring AOP 是通过代理模式实现的。 Spring AOP默认使用标准的JDK动态代理进行AOP代理。 什么是AOP AOP(Aspect-Oriented Programming),即面向切面编程,用人话说就是把公共的…

【小沐学Python】Python实现免费天气预报获取(OpenWeatherMap)

文章目录 1、简介1.1 工具简介1.2 费用1.3 注册1.4 申请key 2、接口说明2.1 One Call 3.02.2 Current Weather and Forecasts collection2.2.1 API 调用2.2.2 API 参数 2.3 Historical Weather collection2.4 Weather Maps collection2.5 Other weather APIs 3、接口测试3.1 例…

菜鸟网络Java实习一面面经

自我介绍,做过的项目 巴拉巴拉 你项目中用到redis,可以介绍一下为什么使用它吗? 基于内存操作,内存读写速度快。 支持多种数据类型,包括String、Hash、List、Set、ZSet等。 支持持久化。Redis支持RDB和AOF两种持久…

【Latex错误:】Package fontspec: The font “SIMLI“ cannot be found. LaTex [行 37,列1]

【Latex错误:】Package fontspec: The font "SIMLI" cannot be found. LaTex [行 37,列1] 解决方案 错误详情如下图所示: 最近使用latex写毕业论文,效率是快,但是出些一些错误就难得搞了,上面的…

python+django游戏分享论坛网站49c2c

本系统主要包括管理员和用户两个角色组成;主要包括首页、个人中心、用户管理、游戏类型管理、游戏文章管理、交流论坛、系统管理等功能的管理系统。 系统权限按管理员和用户两类涉及用户划分。 (1)管理员功能需求 管理员登陆后,主…

桶排序 BucketSort

桶排序 桶排序是将数组分散到有限的桶中,然后每个桶再分别排序,而每个桶的排序又可以使用其他排序方式进行排序,可以是桶排序也可以是其他排序。一句话就是: 划分多个范围相同的区间,每个子区间自排序最后合并。 桶的大小可以随…

计量经济学|学习笔记以及学习感悟

初级计量经济学着重于介绍基本的统计工具和经济模型,以帮助理解经济数据和经济现象之间的关系。它包括回归分析、假设检验和预测方法等内容。中级计量经济学则深入研究这些方法的理论基础和实际应用,包括更复杂的模型和技术,如面板数据分析、…

jwt 介绍

目录 1,jwt 的出现问题 2,jwt 介绍3,jwt 令牌的组成3.1,header3.2,payload3.3,signature 4,验证5,总结 身份验证相关内容: 浏览器 cookie 的原理(详&#xff…

微服务实战系列之Dubbo(下)

前言 眼看着2023即将走远,心里想着似乎还有啥,需要再跟各位盆友叨叨。这不说曹操,曹操就来了。趁着上一篇Dubbo博文的余温尚在,博主兴匆匆地“赶制”了Dubbo的下集,以飨读者。 上一篇博主依然从Dubbo的内核出发&#…

Linux基础知识学习3

vim编辑器 其分为四种模式 1.普通(命令)模式 2.编辑模式 3.底栏模式 4.可视化模式 vim编辑器被称为编辑器之神,而Emacs更是神之编辑器 普通模式: 1.光标移动 ^ 移动到行首 w 跳到下一个单词的开头…

软件开发新手用哪个IDE比较好?软件开发最好的IDE都在这!

目录 IDES 的优点 最佳编程 IDE 列表 Java 开发的流行集成开发环境 JetBrains 的 IntelliJ IDEA NetBeans 适用于 C/ C、C# 编程语言的最佳 IDE Visual Studio 和 Visual Studio 代码 Eclipse PHP 开发的最佳 IDE PHPStorm Sublime Text Atom JavaScript 的顶级 I…

Windows10系统的音频不可用,使用疑难解答后提示【 一个或多个音频服务未运行】

一、问题描述 打开电脑,发现电脑右下角的音频图标显示为X(即不可用,无法播放声音),使用音频自带的【声音问题疑难解答】(选中音频图标,点击鼠标右键,然后选择“声音问题疑难解答(T)”…

procise纯PL流程点灯记录

procise纯PL流程点灯记录 一、概述 此篇记录使用procise工具构造JFMQL15T 纯PL工程,显示PL_LED闪烁; 硬件说明如下: 时钟引脚 Pl_CLK: U2 ,IO_L14P_T2_SRCC_34 PL_LED1 : E2, IO_L17P_T2_AD5P_35 PL_LED2: D6, IO_L2N_T0_AD8N_35 PL_LED3 :…

网易有道词典不能截屏翻译,不能联网解决办法

对应版本: win10系统,联想拯救者笔记本,网易有道词典8.10.2.0。 网易有道词典免费下载链接:https://download.csdn.net/download/qq_42755734/88684985 修改代理: youdao.com 0 取消勾选---不更新 效果&#xff1a…

CentOS 7 lvm 裸盘的扩容和缩容减盘 —— 筑梦之路

背景介绍 之前写过比较多的关于lvm的文章: CentOS 7 lvm 更换坏盘操作步骤小记 —— 筑梦之路_centos更换硬盘操作-CSDN博客 xfs ext4 结合lvm 扩容、缩容 —— 筑梦之路_ext4扩盘-CSDN博客 LVM逻辑卷元数据丢失恢复案例 —— 筑梦之路_pve lvm数据恢复-CSDN博客…

【MMdetection】MMdetection从入门到进阶

基础环境安装 步骤 0. 从官方网站下载并安装 Miniconda。 步骤 1. 创建并激活一个 conda 环境。 conda create --name openmmlab python3.8 -y conda activate openmmlab步骤 2. 基于 PyTorch 官方说明安装 PyTorch。 pip install torch2.0.1 torchvision0.15.2 torchaudio…

SpringBoot+拦截器(Interceptor)

记录一下SpringBoot的拦截器(Interceptor)使用 拦截器(Interceptor)是AOP面向切面编程的思想来实现的,对于只写代码的来说,具体如何实现不需要多关心,只需要关心如何去使用,会用在那些地方。 当http请求进入Springboot应用程序后…

UE蓝图 RPG动作游戏(一) day15

角色状态制作 制作角色动画混合空间 创建一个动混合空间 添加动作在混合空间 动画蓝图 创建一个动画蓝图 先使用混合空间进行移动,后续优化后再使用状态机 编写垂直水平速度逻辑初始化,获取到此动画的角色组件 获取Horizontal与Vertical的速度逻辑 …

股票价格预测 | Python实现Autoformer, FEDformer和PatchTST等模型用于股价预测

文章目录 效果一览文章概述环境描述源码设计效果一览 文章概述 Autoformer、FEDformer和PatchTST是一些用于时间序列预测,包括股价预测的模型。它们都是在Transformer模型的基础上进行了改进和扩展,以更好地适应时间序列数据的特点。 Autoformer:Autoformer是一种自适应Tran…

软件测试/测试开发丨Python 面向对象编程思想

面向对象是什么 Python 是一门面向对象的语言面向对象编程(OOP):Object Oriented Programming 所谓的面向对象,就是在编程的时候尽可能的去模拟真实的现实世界,按照现实世界中的逻辑去处理问题,分析问题中…