Windows摄像头推流-RTSP

0.背景:

调试rtsp视频流时,没有网络摄像头怎么办,只需要在同一个局域网下,用windows推送rtsp流,就可以在linux进行接收。

1.下载资源包

资源包链接:https://pan.baidu.com/s/1008I7TKazE4JgFiozhtekg?pwd=7oll
提取码:7oll

2.解压

在这里插入图片描述

解压后,以管理员运行cmd终端,进入rstp文件夹中,运行命令:

meidamtx.exe

运行如下:
在这里插入图片描述

3.推流

3.1 查看电脑现有的设备:

在cmd终端输入:

ffmpeg -list_devices true -f dshow -i dummy

可以看到我有两个摄像头设备,一个是笔记本自带的,一个是usb免驱摄像头
在这里插入图片描述

3.2 查看自己电脑的ip地址

在cmd终端输入

ipconfig

在这里插入图片描述
如果不确定哪个是IP地址,可以在电脑右下角,找到连接的wifi,点击属性可以查看IPV4地址。
在这里插入图片描述
在这里插入图片描述

3.3 推流

还是以管理员的方式运行cmd终端,进入到解压后的rstp文件夹,运行以下命令

ffmpeg -f dshow -i video="你的摄像头名称" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://你的IP地址:8554/video -thread_queue_size 50

需要改摄像头名称IP地址,以我的设备为例,命令为:

ffmpeg -f dshow -i video="SY 1080P camera" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://192.168.1.6:8554/video -thread_queue_size 50

这里要记住我们推流的地址是这个,一会订阅的也是这个: rtsp://192.168.1.6:8554/video

推流成功:
在这里插入图片描述
这里有个小问题,推流选择笔记本自带的摄像头时会报错,不知道什么原因,所以我推流的是USB免驱摄像头的。

3.4 验证推流成功

新建一个Python文件填入以下内容,把rtsp流地址替换为你自己的,然后运行,就可以看到推过来的视频了。

这个脚本可以在windows上跑,也可以在其他电脑上跑,但是要注意必须连接同一个wifi。

import cv2

# RTSP视频流地址
rtsp_url = "rtsp://192.168.1.6:8554/video"

# 创建VideoCapture对象,指定RTSP流地址
cap = cv2.VideoCapture(rtsp_url)

while True:
    # 读取一帧图像
    ret, frame = cap.read()

    if not ret:
        print("Failed to read frame from RTSP stream. Check the stream URL and connectivity.")
        break

    # 如果成功读取到帧,则显示图像
    cv2.imshow("RTSP Video Stream", frame)

    # 按'q'键退出循环
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放VideoCapture资源
cap.release()

# 关闭所有OpenCV窗口
cv2.destroyAllWindows()

这里我在另一台Ubuntu主机上运行一下这个脚本,可以看到接收rtsp流成功了:
在这里插入图片描述

参考:windows&&linux环境下实现ffmpeg&&vlc rtsp本地视频、摄像头推流,VLC推拉流

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

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

相关文章

深入理解Linux veth虚拟网络设备:原理、应用与在容器化架构中的重要性

在Linux网络虚拟化领域,虚拟以太网设备(veth)扮演着至关重要的角色🌐。veth是一种特殊类型的网络设备,它在Linux内核中以成对的形式存在,允许两个网络命名空间之间的通信🔗。这篇文章将从多个维…

动态路由-基于vue-admin-template

基于 vue-admin-template的动态路由 1. 拆分静态路由与动态路由 静态路由----所有人都可以访问—首页/登录/404 动态路由–有权限的人才可以访问—组织/角色/员工/权限 2. 根据用户权限添加动态路由 获取对应的权限标识(vuex中actions中把用户资料通过return 进行返回&…

基于遗传优化的SVD水印嵌入提取算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于遗传优化的的SVD水印嵌入提取算法。对比遗传优化前后SVD水印提取性能,并分析不同干扰情况下水印提取效果。 2.测试软件版本以及运行结果展示 MA…

通过系统防火墙,禁用同网段主机互访

要通过系统防火墙禁止同网段主机之间的互访,您可以在Windows操作系统中使用高级防火墙规则来实现。以下是在Windows环境中创建一条规则以阻止本地同一子网内的计算机互相访问的基本步骤: 对于Windows防火墙(适用于Windows 7至Windows 11&…

Postman —— postman的介绍和安装

Postman的介绍 Postman 是一款谷歌开发的接口测试工具,使API的调试与测试更加便捷。 它提供功能强大的 Web API & HTTP 请求调试。它能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT..),附带任何数量的参数 headers postman是一款支持http协议的接口调试与…

TypeScript系列之-理解TypeScript类型系统画图讲解

TypeScript的输入输出 如果我们把 Typescript 编译器看成一个黑盒的话。其输入则是使用 TypeScript 语法书写的文本或者文本集合。 输出是编译之后的 JS 文件 和 .d.ts 的声明文件 其中 JS 是将来需要运行的文件(里面是没有ts语法,有一个类型擦除的操作)&#xff0…

谁懂!微信自动化操作,让你事半功倍!

作为一名有多个微信号的人来说,懂得使用工具来提高微信的管理和办公效率是非常有必要的! 今天就给大家分享一个可以实现微信自动化操作的工具——微信管理系统,让大家都能高效办公!下面一起来看看它都有哪些自动化功能吧&#xf…

工业机器人AGV底盘核心技术分享

AGV(Automated Guided Vehicle)工业机器人的底盘技术是其核心组成部分之一,它决定了机器人的移动性能、稳定性和适应性。AGV底盘技术的核心包括以下几个方面: 1、导航系统:AGV底盘通常配备有各种导航系统,…

C++中高阶数据结构(AVL树的原理讲解)

AVL树 AVL树的定义 avl本质是搜索树,是高度平衡二叉搜索树.特点是:任何树的左右子树的高度差不超过1.最大的高度差值最大也只能是1,也称之为平衡因子, 平衡因子就是右子树减去左子树的值,这个值的绝对值的最大值只能是1.这个平衡因子不是必须的,只是一种控制方式,方便我们更…

赛氪网|2024中国翻译协会年会“AI科技时代竞赛与就业”分论坛

在2024年中国翻译协会年会期间,赛氪网与中西部翻译协会共同体多边合作平台共同承办,于3月30日下午在长沙成功举办了“AI科技时代竞赛与就业分论坛”。该论坛汇聚了众多翻译界、科技界和教育界的专家学者,共同探讨科技、实践、就业与竞赛人才培…

FreeRTOS学习 -- 再识

工作中一直使用FreeRTOS进行着开发,但是没有进行过系统的总结过。现在将快速使用几天时间将FreeRTOS相关知识点加以总结。 官网: https://www.freertos.org/zh-cn-cmn-s/ 参看资料: 正点原子 STM32F1 FreeRTOS开发手册_V1.2.pdf The FreeRTOS…

OpenCV与AI深度学习 | 实战 | 使用OpenCV确定对象的方向(附源码)

本文来源公众号“OpenCV与AI深度学习”,仅用于学术分享,侵权删,干货满满。 原文链接:实战 | 使用OpenCV确定对象的方向(附源码) 导读 本文将介绍如何使用OpenCV确定对象的方向(即旋转角度,以度为单位)。 1 先决条件…

Clarity AI:免费开源的AI无损图片放大图像升级器和增强工具

可以作为Magnific AI的平替版本。Magnific AI是一款基于人工智能技术的图像处理工具,主要功能包括图像放大、像素级AI重绘、灵活的设置调整以及多种优化场景。它能够支持最高放大至16倍,甚至可以达到1亿像素的分辨率。此外,Magnific AI还具备…

lua学习笔记13(一些特殊用法的学习和三目运算符的实现)

print("*****************************一些特殊用法的学习*******************************") print("*****************************多变量赋值*******************************") local a,b,c114514,8848,"凌少" print(a) print(b) print(c) -…

电脑微信双开,微信微信多开支持多个微信同时登录,快速切换,方便快捷 电脑最简单的微信双开多开方法 电脑上怎么登录两个微信账号?电脑微信怎么能够双开?

支持多个微信账号同时登录,不限微信登录个数,运行快速,稳定不卡顿 集成所有聊天窗口,一键快捷切换,窗口再多也不乱,提高你的工作效率 同时管理多个微信号,且需要分别维护用户关系、粉丝社群 …

lua学习笔记14(协程的学习)

print("*****************************协程的学习*******************************") --创建1 coroutine.create(function()) 使用1 coroutine.resume(co) -- 创建2 co2coroutine.wrap(fun) 使用2 co2() --协程的挂起函数 coroutine.yield() --协程的状态 --c…

蓝桥杯刷题--RDay5

清理水域--枚举 8.清理水域 - 蓝桥云课 (lanqiao.cn)https://www.lanqiao.cn/problems/2413/learning/?page1&first_category_id1&second_category_id3&tags2023 小蓝有一个n m大小的矩形水域,小蓝将这个水域划分为n行m列,行数从1…

layui后台框架,将左侧功能栏目 集中到一个页面,通过上面的tab切换 在iframe加载对应页面

实现上面的 功能效果。 1 html代码 <form class"layui-form layui-form-pane" action""><div class"layui-tab" lay-filter"demo"><ul class"layui-tab-title"><li id"a0" class"lay…

Unity自己实现的中英文的切换(简单好抄)

关键技术&#xff08;读取文件的方法&#xff0c;Split()分割字符串&#xff09; 1.搭建一个这样的场景&#xff0c;场景中有3个文本&#xff08;用新版的&#xff09;&#xff0c;一个空对象&#xff0c;一个按钮 2.编写翻译文本&#xff08;编写一个txt文本&#xff0c;在文…

土耳其航空2023年共运送旅客8340万人次,境内境外航线运力稳步增长

2023年,尽管面对持续紧张的国际局势和摇摆不定的宏观经济,土耳其航空仍实现了里程碑式的业绩表现,共计运输旅客8340万人次。土耳其境内航线运力比2022年增长了23.5%,运送旅客突破3000万人次;国际航线运力增长16%,运送旅客达5300万人次,并实现了14%的同比增长。其中,来自欧洲国家…