当前位置: 首页> 娱乐> 影视 > 【树莓派】通过HTTP服务器实时传输视频流

【树莓派】通过HTTP服务器实时传输视频流

时间:2025/7/16 6:51:18来源:https://blog.csdn.net/qq_45640207/article/details/142318086 浏览次数:0次

  • 前言
  • 一、树莓派端的代码
  • 二、网页端网址展示
  • 总结


前言

树莓派3B+的通过HTTP服务器实时传输MJPEG视频流


一、树莓派端的代码

注意在先安装完库

pip install Flask picamera

Flask 是一个用 Python 编写的轻量级 web 框架。它主要用于构建 web 应用和 web 服务。Flask 提供了许多功能来简化 web 应用的开发,包括:

  • 路由(Routing):Flask 允许你定义 URL 路由,将 HTTP 请求映射到相应的处理函数上。

  • 模板渲染(Templating):Flask 使用 Jinja2 模板引擎来生成 HTML 页面,允许你将 Python 数据嵌入到 HTML 模板中,从而动态生成页面内容。

  • 请求和响应处理:Flask 提供了简洁的 API 来处理 HTTP 请求和生成响应,包括表单数据、JSON 数据等。

  • 会话管理(Session Management):Flask 允许你管理用户会话,存储用户的状态信息。

  • 扩展支持(Extensions):Flask 具有许多第三方扩展,可以增加数据库支持、表单验证、文件上传等功能。

Flask 的核心理念是保持简单和灵活,它只提供了最基本的功能,开发者可以根据需要添加更多功能。相较于其他较为全面的框架如 Django,Flask 更加轻量,适合构建小型或中型的 web 应用,并且开发者可以自由选择和集成所需的工具和库。

from flask import Flask, Response
import picamera
import timeapp = Flask(__name__)def generate_frames():with picamera.PiCamera() as camera:camera.resolution = (640, 480)  # 设置分辨率camera.framerate = 24          # 设置帧率time.sleep(2)  # 给相机时间来调整曝光和白平衡while True:# 生成 MJPEG 视频流with camera.capture_continuous(format='bgr', use_video_port=True) as stream:for frame in stream:# 注意:stream 生成的是 numpy 数组格式的图像# 通过 MJPEG 格式输出yield (b'--frame\r\n'b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')time.sleep(1 / 24)  # 控制帧率@app.route('/video_feed')
def video_feed():return Response(generate_frames(),mimetype='multipart/x-mixed-replace; boundary=frame')if __name__ == '__main__':app.run(host='0.0.0.0', port=8080, debug=True)

可以使用指令运行程序

二、网页端网址展示

你可以在浏览器中访问 http://<树莓派的IP地址>:8080/video_feed 来查看视频流。
注意树莓派的IP不需要用括号!!!!

注意散热QAQ,因为忙于展示,就不散热啦。中秋快乐~~

在这里插入图片描述
运行结果展示,帧数还行
在这里插入图片描述


总结

祝大家中秋快乐~

关键字:【树莓派】通过HTTP服务器实时传输视频流

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: