文章目录

  • 蒋工优化后

基于python实现高速视频传输程序
好像没啥用

基于OpenCV的网络实时视频流传输

树莓派:基于flask的远程视频监控

flask 放置图片 然后浏览器访问图片的方法

AJAX - 服务器响应

# -*- coding: utf-8 -*-
"""
@File    : app.py
@Time    : 2020/11/20 11:53
@Author  : Dontla_stream
@Email   : sxana@qq.com
@Software: PyCharm
"""
# Import necessary libraries
from flask import Flask, render_template, Response
import cv2
import pyrealsense2 as rs
import numpy as np# Initialize the Flask app
app = Flask(__name__)camera = cv2.VideoCapture('mda-kgtgu5v2zakst4s8.mp4')def gen_frames():# ctx = rs.context()# pipeline = rs.pipeline(ctx)# cfg = rs.config()# cfg.enable_device('011422071925')# cfg.enable_stream(rs.stream.depth, 1280, 720, rs.format.z16, 30)# cfg.enable_stream(rs.stream.color, 1280, 720, rs.format.bgr8, 30)# pipeline.start(cfg)while True:# frames = pipeline.wait_for_frames()# color_frame = frames.get_color_frame()# color_image = np.asanyarray(color_frame.get_data())# if not color_frame:success, frame = camera.read()  # read the camera frameif not success:breakelse:# cv2.imshow('win', color_image)# cv2.waitKey(1)# ret, buffer = cv2.imencode('.jpg', color_image)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')  # concat frame one by one and show result# 为网络应用的默认页面定义应用路由?
@app.route('/')
def index():return render_template('index.html')# 定义视频供稿的应用路由?
@app.route('/video_feed')
def video_feed():return Response(gen_frames(), mimetype='multipart/x-mixed-replace; boundary=frame')if __name__ == "__main__":app.run(host='0.0.0.0', port=80, debug=True)# app.run(debug=True)

host需要’0.0.0.0’,其他不行,端口可以改成其他的,没被占用就可

<body>
<div class="container"><div class="row"><div class="col-lg-8  offset-lg-2"><h3 class="mt-5">Live Streaming</h3><!--                        <img src="{{ url_for('video_feed') }}" width="100%">--><video src="/static/mda-kgtgu5v2zakst4s8.mp4" controls="controls"></video></div></div>
</div>
</body>

本机浏览器打开http://127.0.0.1/(本机地址?访问查看)

使用localhost也可以

局域网其他电脑打开服务端主机ip查看192.168.1.161查看
结果:
(以太网连接的本机)

(无线网笔记本)

蒋工优化后


app.py

from flask import Flask, render_template, Response, make_responseimport cv2
import base64
import pyrealsense2 as rs
import numpy as npapp = Flask(__name__)# 测试模板
@app.route('/mb')
def test_mb():return render_template('t_mb.html', sjk="jjj")@app.route('/image/<id>')
def image(id):# frames = pipeline.wait_for_frames()while True:# frames = pipeline.poll_for_frames()frames = pipeline.wait_for_frames()if frames:breakelse:print('帧丢失')color_frame = frames.get_color_frame()color_image = np.asanyarray(color_frame.get_data())flag, encoded_image = cv2.imencode(".jpg", color_image)base64_str = base64.b64encode(encoded_image)return base64_str@app.route('/')
def hello_world():return render_template('index.html')if __name__ == '__main__':ctx = rs.context()pipeline = rs.pipeline(ctx)cfg = rs.config()cfg.enable_device('037522250019')cfg.enable_stream(rs.stream.depth, 1280, 720, rs.format.z16, 30)cfg.enable_stream(rs.stream.color, 1280, 720, rs.format.bgr8, 30)# print('aaaaaa')pipeline.start(cfg)app.run(host='0.0.0.0', port=5000, debug=False)

index.html

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>实时视频</title><script>function myFunction() {var xhr = new XMLHttpRequest();xhr.open('GET','/image/1',true);xhr.onload = function (e) {if (this.status == 200) {var blob = this.response;console.log(blob);var img = document.getElementById("img");// img.onload = function (e) {//     window.URL.revokeObjectURL(img.src);// };// img.src = window.URL.createObjectURL(blob);// img.attr("src", "data:" + "image/jpg" + ";base64," + blob)img.src =  "data:" + "image/jpg" + ";base64," + blob;// document.body.appendChild(img);}}xhr.send();// var img = document.getElementById("img");// img.src = '/image/' + parseInt(Math.random()*500000);// console.log(img.src);}var intervalId = window.setInterval(myFunction, 30);function xxx() {alert("xxx")}</script>
</head><body><image id='img' src='/image/1'></image>
</body></html>

python如何将视频流实时传输到手机?(有问题,一次只能被一台访问)相关推荐

  1. Vitis项目:基于 ZYNQ 的 IMX2221 摄像头实时视频流采集传输 (一)传感器配置

    项目:基于 ZYNQ 的 IMX2221 摄像头实时视频流采集传输 章节:传感器配置(一) 本章目的:使用 ZYNQ 芯片的 PS 端的 SPI 接口对 CMOS 图像传感器进行设置操作,保证 CMO ...

  2. 局域网下两个电脑的文件实时传输--python程序

    一.保证要传输文件的两个电脑在同一个局域网下(即同一个wifi下). 二.有两部分程序,分为sender和reciever两部分,sender放在要发送的电脑上,reciever放在要接受文件的电脑上 ...

  3. OpenCV:将视频流式传输到网页浏览器/HTML页面

    在本教程中,您将学习如何通过Flask和Python使用OpenCV将视频从网络摄像头流式传输到网页浏览器/HTML页面. 您的车被偷过吗? 我的车在周末就被偷了.让我告诉您,我很生气. 我不能透露太 ...

  4. android实时传输视频Socket

    android实时传输视频Socket https://download.csdn.net/download/u012560682/7780979?spm=1001.2101.3001.5697 An ...

  5. Android视频实时传输

    1. android手机充当服务器,使用NanoHTTPD充当服务器,另一部手机或者pc通过输入http://手机的ip:8080网址观看. 这种方案可以参考 ipcamera-for-android ...

  6. WebRTC音视频实时传输与服务质量

    为了保证音视频的质量,WebRTC底层做了大量的工作,尤其是网络传输与服务质量,更是其核心技术,本文由北京音视跳动科技有限公司 首席架构师 李超在LiveVideoStack线上分享的演讲整理而成,详 ...

  7. 利用VC++实现局域网实时传输

    本文针对不同的局域网,提出一种通用的实时视频传输的解决方案.在使用Divx编解码的基础上,提出了从压缩.组帧.发送到接收.解压整个流程的思想,具体实施方案和VC++实现核心源代码以及传输控制策略,有效 ...

  8. rtp 实时传输协议

    实时传输协议(Real-time Transport Protocol或简写RTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的. 国际电信联盟ITU-T ...

  9. python实现微信自动加群_为Python开发人员提供实时代码片段,Kite获1700万美元A轮融资...

    [猎云网(微信号:)]1月29日报道(编译:孙家乐) Kite是一款为Python开发人员提供实时代码片段的工具,它在由Trinity Ventures领投的A轮融资中获得了1700万美元.最新版本的 ...

最新文章

  1. Debug不崩溃Release版本崩溃的一种原因
  2. 【响应式Web前端设计】一文学会使用Bootstrap!
  3. Python:if判断与while、for循环语句
  4. Linux命令——chmod
  5. 2022年薪百万赛道:高性能神经网络与AI芯片应用
  6. JavaWeb国际化
  7. Nginx源码分析 - 基础数据结构篇 - 双向链表结构 ngx_queue.c(05)
  8. 关于MATLAB中使用latex语法
  9. 【python】BMR基础代谢率计算器的设计
  10. 如何成为微信小程序的开发者?
  11. 数值分析思考题 (钟尔杰版) 参考解答——第三章
  12. CAD轴测图怎么画,才能不踩坑?
  13. c语言日历程序 带农历,一个完整的日历(含有农历)
  14. Java 获取手机号码归属地以及运营商
  15. oracle索引的一些实践
  16. html css js题目
  17. 力出一孔,向工而生丨ClickPaaS毕普科技战略合并发布会圆满收官
  18. moocpython答案_中国大学慕课moocPython游戏开发入门答案
  19. C#怎样远程连接SQLServer2000数据库?
  20. 解决docker容器因报错无法启动的问题,检查、修复容器错误并重启

热门文章

  1. 一个c语言程序什么时候结束,新人求救,写了一个C语言程序,输入完数据后就结束了!!!...
  2. 耳机不分主从是什么意思_强悍的配置,百元级的价格,Xisem西圣 Ares战神蓝牙耳机体验...
  3. 【备忘】外币评估数据存储表
  4. SAP SD信用控制管理
  5. SAP HANA要改变什么?
  6. SAP-ABAP SmartForms之变量显示小技巧
  7. 如何把选择屏幕放到标准屏幕上
  8. 通过这组数据分析发现房价波动背后的规律
  9. 从零售商加速向零售平台进化,每日优鲜已经成为“生鲜电商第一股”
  10. 无性别服饰是趋势,但不该只停留在“中性”