Flaskを使ってみる

Video Streaming


こ ちらにTornadoを使ったVideo Streamingのサンプルが公開されています。
このサンプルはOpenCVを利用しています。
RaspberryPiへのOpenCV Pythonのインストールは色々なところで紹介されていますが、
Desktop版を前提としているものが多いようで、Lite版では一筋縄ではいきません。

Lite版へのインストールは以下の通りです。
こ ちらを参考に、Lite版では不足しているライブラリをインストールしました。
$ python3 -m pip install opencv-python
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting opencv-python
  Downloading https://www.piwheels.org/simple/opencv-python/opencv_python-4.7.0.68-cp37-cp37m-linux_armv7l.whl (11.8 MB)

Successfully built numpy
Installing collected packages: numpy, opencv-python
Successfully installed numpy-1.21.6 opencv-python-4.7.0.68

$ sudo apt install libgtk-3-0

$ sudo apt install liblapack3

$ sudo apt install libatlas-base-dev

これでようやく以下のコードが通ります。
$ python3
Python 3.7.3 (default, Oct 31 2022, 14:04:00)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cv'
>>> import cv2
>>> cv2.__version__
'4.7.0'
>>> exit()

cv2が使えるようになったら、以下の手順でTornado-mjpeg-streamer-pythonが動くようになります。
$ python3 -m pip install gen

$ git clone https://github.com/wildfios/Tornado-mjpeg-streamer-python

$ python3 start.py

ブラウザーを開いて、9090番のポート番号でVideoを見ることができます。
カメラはLogicool C615を使いました。


続く...