Skip to content

AlexanderOllman/remote-opencv-streaming-live-video

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Remote streaming live video with Flask

License

Description

This an implementation on how to get a remote streaming live video connection between 2 different processes using websockets. The video image is captured through OpenCV on one machine and video is served in another machine. This approach serves best the scenario where the Webserver is located in a different network than the machine that is producing the video streaming.

The streaming process can be summed into the following steps:

  1. Capturing video image
  2. For each frame, serialize the image
  3. Flush the data to the Webserver listening socket
  4. Deserialize the data into a jpeg image
  5. Serve the result in the web page

The web framkework used for the webserver is Flask. For example purposes, we will be using laptop's webcam image straight away.

Install

This project runs with Python. Also install the following Python dependencies (pip makes it dead simple):

  • opencv-python
  • flask

Usage

  1. Start the server.py and go to "http://<address>:<port>/video_feed"
  2. Start the client.py
  3. See the result in the browser

Credits

The approach on how to serve the video on a webpage is taken from this blog.

License

Code and documentation released under the MIT License

About

A remote live video streaming connection with Flask

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 93.5%
  • HTML 6.5%