树莓派(十三)——使用flask创建视频流媒体服务器


有好几种方法可以流式传输视频。最好的(也是“更轻松”)方法是使用Miguel Grinberg开发的Flask。有关Flask如何执行此操作的详细说明,请参阅他的精彩教程:flask-video-streaming-revisited。 关于flask更简单的入门,大家可以参考《爱上Raspberry Pi》P176-180.

在这个教程中:Python Web服务器将借助Flask和树莓派。我们要更详细地了解了Flask是如何工作、如何实现Web服务器以及从传感器上捕获数据并在网页上显示其状态。在本教程中的第一部分就是发送到我们前端的数据的视频流。

创建一个Web服务器环境:
首先要做的是在你的树莓派上安装Flask。

一、安装FLASK、创建基本的环境

1、直接pip安装:

sudo pip install flask

2、当我们开始一个新项目时,最好的办法就是创建一个文件夹来保存你的文件。 例如:
回到主页,到你的工作目录:

cd ~
sudo mkdir flask
cd flask

3、新建一个文件夹保存我们的项目:

mkdir camwebserver

按照上面的命令,创建一个名为“camwebserver”的文件夹,将在这里保存我们的python脚本;

4、现在,在这个文件夹/home/pi/flask/camwebserver上,我们将创建两个子文件夹:静态的CSS、最终的JavaScript文件以及HTML文件的模板。 转到你的新创建的文件夹:

cd camwebserver
sudo mkdir static
sudo mkdir templates

5、最终的目录“树”,如下所示:

flask      #目录
|__camwebserver        #子目录
	 ├── static        #子目录
	 └── templates    #子目录

基本环境算是搭建完成了!
接下来我们在创建好的环境下,用Python Web 服务器应用程序来流式传输视频。

二、创建视频流媒体服务器

1、首先,下载Miguel Grinberg的树莓派相机软件包:camera_pi.py,并将其保存在创建的目录camWebServer上。 (https://github.com/Mjrovai/Video-Streaming-with-Flask/blob/master/camWebServer/camera_pi.py)
代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  camera_pi.py
#   
import time
import io
import threading
import picamera


class Camera(object):
    thread = None  # background thread that reads frames from camera
    frame = None  # current frame is stored here by background thread
    last_access = 0  # time of last client access to the camera

    def initialize(self):
        if Camera.thread is None:
            # start background frame thread
            Camera.thread = threading.Thread
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值