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

超赞,用python实现流媒体服务器功能,寥寥几句搞定。

步骤:

要使用Python将实时摄像机传送流写入H5页面,可以使用以下步骤。

1、安装必要的软件包。您需要安装OpenCV和Flask以及gunicorn 与 gevent 。您可以通过在终端中运行以下命令来执行此操作。

pip install opencv-python
pip install Flask
pip install gunicorn 
pip install gevent 

2、创建Python文件。在工作目录中创建一个名为“app.py”的新Python文件。

3、导入必要的包。将以下行添加到“app.py”文件的顶部。

4、初始化Flask。将以下代码行添加到“app.py”文件中以初始化Flask

6、创建相机捕获对象。将以下代码行添加到“app.py”文件中,以创建相机捕捉对象。

7、创建HTML文件。在工作目录中创建一个名为“index.HTML”的新HTML文件。

8、添加HTML代码。将以下代码行添加到“index.HTML”文件中。

9、创建视频源路由。将以下代码行添加到“app.py”文件以创建视频源路径。

10、运行应用程序。在“app.py”文件底部添加以下代码行以运行应用程序。

服务端代码:

import cv2
from flask import Flask, render_template, Response
from gevent import pywsgiapp = Flask(__name__)@app.route('/')
def index():return render_template('index1.html')cap = cv2.VideoCapture(0)def gen_frames():while True:success, frame = cap.read()if not success:breakelse:ret, buffer = cv2.imencode('.jpg', frame)frame = buffer.tobytes()yield (b'--frame\r\n'b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')@app.route('/video_feed')
def video_feed():return Response(gen_frames(), mimetype='multipart/x-mixed-replace; boundary=frame')if __name__ == '__main__':server = pywsgi.WSGIServer(('192.168.1.10', 5000), app)server.serve_forever() # server = make_server('192.168.1.10', 5000, app)# server.serve_forever()app.run()

网页端代码:py同级文件夹下创建templates文件夹,按如下内容创建网页,命名为index1.html

<!doctype html>
<html><head><title>Live Camera Stream</title></head><body><h1>Live Camera Stream</h1><img src="{{ url_for('video_feed') }}"></body>
</html>

效果如下所示:

1

相关文章:

超赞,用python实现流媒体服务器功能,寥寥几句搞定。

步骤&#xff1a; 要使用Python将实时摄像机传送流写入H5页面&#xff0c;可以使用以下步骤。 1、安装必要的软件包。您需要安装OpenCV和Flask以及gunicorn 与 gevent 。您可以通过在终端中运行以下命令来执行此操作。 pip install opencv-python pip install Flask pip ins…...

冥想第七百二十一天

1.3.3周五&#xff0c;又是周五了。今天又运动了5公里&#xff0c;很舒服轻松。 2.还是往常的生活&#xff0c;休息的也很好&#xff0c;开春后跑的一直很好。 3.早上30分钟健康操。中午转了圈&#xff0c; 给大哥说下周去上海。 4.感谢父母&#xff0c;感谢朋友&#xff0c;感…...

06-Oracle表空间与用户管理

本讲主要内容&#xff1a; 1.表空间管理&#xff1a;表空间的作用&#xff0c;创建&#xff0c;修改&#xff0c;删除及管理&#xff1b; 2.用户管理&#xff1a;创建用户&#xff0c;修改用户&#xff0c;删除用户&#xff0c;修改密码&#xff0c;解锁&#xff1b; 3.用户…...

Mysql 索引特点

承接上文Mysql Server原理简介聚簇索引、二级索引、联合索引分别具备什么样的特点&#xff1f;聚簇索引数据跟索引放在一起的叫聚簇索引&#xff1b;数据和索引分开存储的叫非聚簇索引&#xff1b;innodb存储引擎&#xff0c;数据和文件都放在ibd文件中&#xff0c;实际的数据是…...

读书笔记-终身学习

前言人需要终身成长&#xff0c;也需要终身学习&#xff0c;以下是记录个人读书学习的笔记总结&#xff0c;希望能给大家一点借鉴&#xff0c;仅供参考。笔记1、《匠人精神》秋山利辉是日本神奈川县横滨市都筑区“秋山木工”的经营者&#xff0c;从事订制家具制作业务。是一家小…...

了解栈Stack一篇文章就够了

什么是栈栈是一种特殊的线性表&#xff0c;只允许一端进行数据的插入和删除&#xff0c;即先进后出原则。类似于弹夹先装进去的子弹后面出&#xff0c;后放入的子弹先出。栈的底层原理栈是一种线性结构&#xff0c;所以既能使用数组实现&#xff0c;也能使用链表实现&#xff0…...

CNStack 助推龙源电力扛起“双碳”大旗

作者&#xff1a;CNStack 容器平台、龙源电力&#xff1a;张悦超 、党旗 龙源电力容器云项目背景 龙源电力集团是世界第一大风电运营商&#xff0c; 随着国家西部大开发战略推进&#xff0c;龙源电力已经把风力发电场铺设到全国各地&#xff0c;甚至是交通极不便利的偏远地区&…...

ruoyi-vue-plus1(控制台相关的输出日志)(p6spy插件)(jackson全局配置)(StopWatch)

Jackson配置在启动项目时&#xff0c;我们发现日志打印出这样几行字&#xff0c;初始化了jacdson配置&#xff0c;我们去查看一下来源找。我们找到了一个全局序列化配置类&#xff0c;其中重写了BigNumberSerializer.INSTANCE进去查看发现了这里对于部分范围的数字进行了转为为…...

【Mybatis】| 如何创建MyBatis的工具类

目录&#x1f31f;更多专栏请点击&#x1f447;一、前言二、实现过程1. 创建一个ThreadLocal对象2. 初始化SqlSessionFactory3. 获取并存储sqlSession对象4. 关闭sqlSession对象三、 总代码&#x1f31f;更多专栏请点击&#x1f447; 专栏名字&#x1f525;Elasticsearch专栏e…...

【Java】DT怎么写?

几个重要的注解 怎么用mockito写单元测试&#xff1f; package Biz;import Client.FileIOClient; import Req.FileRequest; import Res.FileResponse; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks;…...

xcode14安装swift package设置github账户token

这里写目录标题登录github账户,复制token打开xcode添加github账户选择swift package登录github账户,复制token 登录github点击上面菜单自己的头像,settings->Developer settings->Personal access tokens->Tokens (classic)->Generate new token (classic) Note名…...

css面试题1

一、css 1. 说一下css的盒模型 在HTML中所有元素都可以看成是一个盒子 盒子的组成&#xff1a; 内容content、内边距padding、边框border、外边距margin 盒模型的类型&#xff1a; 标准盒模型 margin border padding content IE盒模型 margin content(border padding) 控制…...

Hive基础

hive基本语法&#xff1a;查看数据库&#xff1a;hive (default)> show databases; -----查看所有数据库hive (default)> desc database test; ----查看数据库结构hive (default)> select current_database(); ---查看当前数据库创建数据库&#xff1a;hive (default)…...

信息收集-

url&#xff1a; https://en.wikipedia.org:443/wiki/hypertext_Transfer_Protocol?id123#HTTP/1.1_response_messages https&#xff1a;协议 en.wikipedia.org&#xff1a;域名 443&#xff1a;端口 wiki/hypertext_Transfer_Protocol&#xff1a;文件路径 id123&…...

【sdx12】sdx12获取Serial Number操作方法及源码分享Serial Number的寄存器地址

通过串口获取 系统启动时,在boot阶段会打印如下信息 Format: Log Type - Time(microsec) - Message - Optional Info Log Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic S - QC_IMAGE_VERSION_STRING=BOOT.XXXX S - IMAGE_VARIANT_STRING=MAATANAZA S - …...

23种设计模式-工厂模式(安卓应用场景介绍)

工厂模式是一种创建型设计模式&#xff0c;它提供了一种创建对象的方式&#xff0c;而无需将具体的对象创建逻辑暴露给客户端。在Java中&#xff0c;工厂模式常常用于创建复杂对象或对象的构造过程涉及到多个步骤的情况。 在Android开发中&#xff0c;工厂模式也经常被使用&am…...

sheng的学习笔记-服务熔断与降级组件Hystrix

在微服务架构中&#xff0c;一个应用往往由多个服务组成&#xff0c;这些服务之间相互依赖&#xff0c;依赖关系错综复杂。例如一个微服务系统中存在 A、B、C、D、E、F 等多个服务&#xff0c;它们的依赖关系如下图。图1&#xff1a;服务依赖关系通常情况下&#xff0c;一个用户…...

简单给WordPress怎么添加自定义字段面板

今天一淘模板(56admin.com)WordPress怎么添加自定义字段面板&#xff1f;下面本篇文章给大家介绍一下WordPress添加自定义字段面板的方法&#xff0c;希望对大家有所帮助&#xff01; 我们在WordPress中编写文章的时候&#xff0c;经常会用到一些自定义字段&#xff0c;如网页描…...

大数据框架之Hive:第6章 查询

第6章 查询 6.1 基础语法 1&#xff09;官网地址 https://cwiki.apache.org/confluence/display/Hive/LanguageManualSelect 2&#xff09;查询语句语法&#xff1a; SELECT [ALL | DISTINCT] select_expr, select_expr, ...FROM table_reference -- 从什么表查[WHE…...

CentOS 8搭建EMQX集群

概览 EMQX (opens new window)是一款大规模可弹性伸缩的云原生分布式物联网 MQTT (opens new window)消息服务器。 EMQ X 设计目标是实现高可靠&#xff0c;并支持承载海量物联网终端的MQTT连接&#xff0c;支持在海量物联网设备间低延时消息路由: 1. 稳定承载大规模的 MQTT 客…...

告别熬夜改 PPT!okbiye AI PPT,毕业论文答辩的 “救场神器”

okbiye-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPTAI PPT制作 - Okbiye智能写作https://www.okbiye.com/ppt 一、前言&#xff1a;答辩 PPT&#xff0c;毕业季的头号难题 又到了毕业季&#xff0c;多少同学卡在了毕业论文答辩 PPT 这一步&#xff1f;论…...

机器学习势函数与反向蒙特卡洛在GeO2玻璃中程有序结构建模中的对比研究

1. 项目概述与核心问题 在材料模拟领域&#xff0c;我们常常面临一个经典困境&#xff1a;如何从有限的实验数据中&#xff0c;构建出既符合物理规律又贴近真实情况的三维原子结构模型&#xff1f;这个问题在非晶态材料&#xff0c;尤其是像二氧化锗&#xff08;GeO2&#xff0…...

Oracle误操作先别慌:Flashback、UNDO、回收站、Redo 与归档日志一次讲清楚 2026-05-24

1、背景说明本文整理 Oracle 生产环境中误操作恢复相关的核心知识点&#xff0c;包括&#xff1a;Flashback Database Flashback Query UNDO Recycle Bin FRA 快速恢复区 Redo Archived Redo Log 归档日志适用于 Oracle 单实例、RAC&#xff0c;以及 CDB/PDB 多租户环境。在 CD…...

如何轻松配置开源工具:3步实现WeMod高级功能解锁

如何轻松配置开源工具&#xff1a;3步实现WeMod高级功能解锁 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 还在为WeMod Pro订阅费烦恼吗&#xff1f;W…...

FreeRADIUS企业级部署实战:从零搭建高可用网络准入系统

1. 这不是“装个软件就完事”的活儿&#xff0c;而是网络准入的守门人上岗实录FreeRADIUS不是那种点几下鼠标、敲两行命令就能“跑起来”的玩具服务。我第一次在客户现场部署它时&#xff0c;自以为照着官网Quick Start文档走完流程就算交付了——结果第二天一早接到电话&#…...

NVIDIA显卡性能深度调校指南:解锁200+隐藏参数的游戏优化利器

NVIDIA显卡性能深度调校指南&#xff1a;解锁200隐藏参数的游戏优化利器 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 还在为游戏画面撕裂、输入延迟过高而烦恼&#xff1f;NVIDIA Profile Inspector…...

驳AGI学习不可行论:数据分布与归纳偏置是理论证明的关键

1. 项目概述&#xff1a;当复杂性理论遇上AGI学习的“不可能性”证明最近在AI理论圈子里&#xff0c;一篇题为《Reclaiming AI as a theoretical tool for cognitive science》的论文&#xff08;简称[VRGA24]&#xff09;引起了不小的波澜。这篇论文的核心主张相当大胆&#x…...

混沌系统预测极限:稀疏观测、数据同化与混沌同步的信息门槛

1. 项目概述&#xff1a;从稀疏观测中预测混沌 在天气预报、湍流模拟乃至金融系统分析中&#xff0c;我们常常面临一个核心难题&#xff1a;如何利用有限、稀疏且带有噪声的观测数据&#xff0c;去准确预测一个高维、非线性的混沌系统未来的演化&#xff1f;这就像试图通过几个…...

Burp Suite扫描深度配置指南:被动扫描、主动扫描与自定义插入点协同调优

1. 这不是“点一下就扫完”的配置&#xff0c;而是扫描质量的分水岭 很多人把 Burp Suite Scanner 当成一个“自动漏洞探测器”——填个 URL&#xff0c;点下“Active Scan”&#xff0c;等它跑完弹出一堆高危告警&#xff0c;就以为任务完成了。我见过太多这样的场景&#xff…...

如何用Nvidia Geforce RTX 5060 Ti显卡进行本地Whisper语音转文字任务?

在Windows平台上&#xff0c;用你的RTX 5060 Ti 16GB显卡搭建本地Whisper语音转文字服务&#xff0c;主要有几种方式&#xff1a;从开箱即用的图形界面&#xff0c;到追求极致速度的命令行&#xff0c;再到能集成其他AI应用的API服务。我整理了详细的步骤&#xff0c;你可以根据…...