TzurSoffer / webVideoViewer

A openCV-like stream viewer on network rather than GUI.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

README for Web Viewer

Introduction

The WebVideoViewer is a Python application that allows you to create subpages with live video streams from a webcam or other source. It uses the Flask framework to handle web requests and displays video frames in real-time.

Requirements

  • Python 3.x
  • OpenCV (cv2) library
  • Flask library

Installation

  1. Clone the repository or download the code files.
  2. Install the required dependencies by running the following command:
    pip install opencv-python flask
    

Usage

  1. Import the necessary modules:

    import webViewer
  2. Create an instance of the VideoStream class:

    app = webViewer.VideoStream()
  3. Start the Flask web server on a specified port (default is 80):

    app.run()
  4. Continuously capture frames from the webcam and update subpages:

    cap = cv2.VideoCapture(0)
    
    while True:
        _, frame = cap.read()
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        app.imshow("frame", frame)
        app.imshow("gray", gray)
  5. Access the subpages:

    • The home page lists all the available subpages. Visit the root URL (e.g., http://localhost:80/) to see the home page.
    • Each subpage displays a live video stream. Add the subpage name to the root URL (e.g., http://localhost:80/video1) to access a specific subpage.

Customization

You can customize the following aspects of the Flask Subpage App:

  • Templates: The app uses HTML templates to render the home page and subpages. By default, it looks for the templates in the templates folder relative to the script's location. You can specify custom template paths when creating a VideoStream instance:

    app = VideoStream(homePageTemplate="path/to/home.html", subpageTemplate="path/to/subpage.html")
  • Port: The default port for the Flask web server is 80. If you want to use a different port, specify it when creating a VideoStream instance:

    app = VideoStream(port=5000)

License

This project is licensed under the MIT License. Feel free to modify and use it according to your needs.

Acknowledgments

This application was inspired by the Flask video streaming tutorial from the Official Flask Documentation

About

A openCV-like stream viewer on network rather than GUI.

License:MIT License


Languages

Language:Python 53.3%Language:HTML 46.7%