基于flask的视频流媒体Web服务

吃灰好久的树莓派今天又让我翻出来了,主要是今天在instructables看到了这篇文章,之前也是一直想拿树莓派做个Web服务器的,怎奈何找不到什么好的Web框架,也主要是自己懒。最重要的是树莓派内网穿透比较麻烦,搞个Web服务器也只能在局域网访问,有点鸡肋呀……

鸡肋归鸡肋,但是知识还是要学习的啊,真正动手才能学到知识!废话不多说,先来一张图片看看?PS:配的树莓派摄像头像素比较渣,大家凑活着看吧~
CamWeb_Flask

先介绍一下Flask框架吧:

  • Flask是一个使用 Python 编写的轻量级 Web 应用框架。
  • “It came out of an April Fool’s joke but proved popular enough to make into a serious application in its own right.”

简单来说,Flask是作者Armin Ronacher愚人节的一个玩笑,后来大受欢迎,进而成为一个基于Python的轻量级的Web框架。

硬件:

  • raspberry Pi x1
  • Camera x1
  • 电源

软件:

  • Putty

其他:

  • 网络
  • 路由器

连接摄像头到树莓派

硬件连接很简单,这里就不做详细介绍了,注意别接反了就可。

树莓派设置

首次在树莓派使用摄像头的话,建议先去查看一下摄像头是否打开了,这里需要用到Putty连接树莓派了,如果是第一次使用可以参考我这之前的文章——摸瞎“点亮”树莓派,这里怎么建立SSH连接就不做详细介绍了。
连接以后输入以下命令:
sudo raspi-config
回车后会出现下面的界面
Pi_Setting
选择途中箭头指的选项
Pi_Cam_Setting
回车Enable摄像头即可
Pi_Cam_Enable

安装flask We框架

安装flask框架,需要安装python环境,因为flask是基于python的,树莓派官方系统自带python2,这里我们需要用到python3,那怎么办呢?当然是安装一个python3了,安装python3也很简单:
sudo apt-get install python3
如果网络原因安装失败,可以切换成国内的源,具体教程可以百度一下,实在不会的可以留言给我~
安装完python3就可以开始安装flask:
sudo apt-get install python3-flask
是的,就需要这么一行命令~
安装好,我们测试一下是否安装成功!
新建 flask_hello.py 文件并输入以下代码:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
    return 'Hello Flask!'
if __name__ == '__main__':
    app.run(host='0.0.0.0', port =80, debug=True, threaded=True)

然后输入命令:
sudo python3 flask_hello.py
flask_hello
浏览器中输入树莓派的IP地址,如果浏览器中输出了 “Hello Flask!”,恭喜你,你已经成功了一大步!

最后时刻!

分别输入以下命令!

git clone https://github.com/imliubo/flask_CamWebServer.git

cd flask_CamWebServer

sudo python3 appCam.py
flask_CamWebServer

看到控制台输出相同的日志,就表示大功告成了,接下来我们打开浏览器,输入树莓派的地址~
是不是发现网页中的视频在实时刷新?

Ending!

这只能在局域网中浏览,准备研究下怎么可以将视频实时推送到公网中去,或者推送到直播平台,如果可行的话,上班时间就可以随时查看我的赤兔和小乔了岂不是?美滋滋近期研究下
吃香蕉的赤兔和小乔~
赤兔小乔

欢迎访问我的主页,我会不定期更新一些文章,也欢迎留言哦~
唯有爱与科技不可辜负

请我喝一罐冰阔乐 (^o^)/