• Stars
    star
    189
  • Rank 200,656 (Top 5 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created almost 6 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Webcam, PiCamera streaming over the network with Python made easy.

SmoothStream Build Status

Webcam and PiCamera Streaming over the Network with Python

Getting Started

SmoothStream is a Python Application which makes streaming video from webcams over the network a breeze.

Streaming images from your Webcam over the network should be easy, right?

Nope. After pulling my hair out, searching on the internet for weeks, scavenging through old forum posts and digging through old StackOverflow questions, I came up empty-handed. (Most of the code examples were outdated and worked only in Python 2) Until I stumbled upon this StackOverflow Question.

I decided it was 'bout time someone did something about it.

The StreamViewer needs to start listening for incoming stream from the Streamer, once an incoming stream is detected it is displayed on the screen.

SmoothStream currently has a dependency on ZeroMQ and I don't see a way around it.

So, PRs are always welcome.

Prerequisites

  1. Webcam (duh!)

Installing

A step by step series of examples that tell you how to get a development env running

  1. Install all the requirements
pip install -r requirements.txt
  1. Start the viewer, on the server.
python StreamViewer.py
  1. On another machine connected to the same network, start the streamer, and enter the IP of the machine running the StreamViewer.
python Streamer.py -s 192.168.1.X

You will see the video being streamed across the network to your Viewer.

Running the tests (WebCam Needed)

python -m unittest discover .
  1. test_camera.py - Tests if camera can be detected with OpenCV

    python -m unittest camera.test_camera

  2. test_local_streaming.py - Tests Streaming and Viewing silently locally

    python -m unittest test_local_streaming

Alternatives from around the internet which failed to work.

http://answers.opencv.org/question/19055/video-over-the-network/ https://github.com/yushuhuang/webcam https://stackoverflow.com/questions/30988033/sending-live-video-frame-over-network-in-python-opencv https://stackoverflow.com/questions/49084143/opencv-live-stream-video-over-socket-in-python-3 https://stackoverflow.com/questions/43299440/how-to-send-live-video-over-network-in-python https://stackoverflow.com/questions/36265183/how-to-get-video-frame-by-frame-from-stream-using-opencv-and-python https://stackoverflow.com/questions/29099839/opencv-stream-from-a-camera-connected-to-a-remote-machine https://raspberrypi.stackexchange.com/questions/72308/how-to-stream-video-via-socket-using-opencv-and-picamera

Built With

  • OpenCV - a library of programming functions mainly aimed at real-time computer vision.
  • ZeroMQ - a high-performance asynchronous messaging library, aimed at use in distributed or concurrent applications.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Authors

License

This project is licensed under the GPL-3.0 License - see the LICENSE.md file for details

More Repositories

1

Facial-Recognition-Attendance-System

An attendance system which uses facial recognition to detect which people are present in any image.
Python
61
star
2

The-Overly-Complicated-Random-Number-Generator

An Overly Complex Random Number Generator, created to demystify how containers work.
Python
24
star
3

Hemuer

An AI Tool to record expressions of users as they watch a video and then visualize the funniest parts of it!
CSS
23
star
4

Shell-SMS-Shender

A Simple command line tool to send SMS from the command line using the Twilio API.
Shell
17
star
5

Rumaro

[Failed] AI to recognize emotions, apparel, body pose and activity in images, and measure how they affect audience engagement. ie. likes and comments.
Python
12
star
6

Bunyip

Bunyip is a Chrome Extension, which allows us to detect AI generated text, it helps users detect fake news articles which might be generated automatically and not by a real human!
Python
12
star
7

Ubuntu-Docker-Compose-Starter-Pack

Starter pack to help creating Ubuntu Containers using Docker and Docker Compose easier. 🐳
Dockerfile
9
star
8

SurWay

SurWay is a survey/polling website for cab drivers where they can report their typical work hours and which company they work for, this data is then stored anonymously and used to generate charts and insights.
JavaScript
9
star
9

Driver

An AI in Python using Tensorflow and OpenCV to drive cars in computer games
Jupyter Notebook
8
star
10

AWS-Kinesis-Video-Streaming

AWS Kinesis Video Streaming made easy
Dockerfile
8
star
11

Hellin-Worki

A video conferencing platform which seamlessly dials your coworkers when you call out their name, a "Yes" and you are connected.
JavaScript
7
star
12

DynamoDB-Python-Docker-Compose-Starter-Kit

An AWS DynamoDB with Python using Docker and Docker Compose Starter kit to help you hit the ground running.
Shell
3
star
13

CT83-Portfolio

JavaScript
3
star
14

Video-Viewing-Automator

This AutoIt Application was written to automate the job of watching videos, selecting next videos, managing the network anomalies for a website which paid users to do so.
AutoIt
2
star
15

Become-A-Data-Analyst-Udacity

This repository contains all of the code, projects and reports that I wrote as I pursued my Udacity - Data Analyst NanoDegree.
HTML
1
star
16

PyScrapperServer

This script is a Python Scrapper controlled via a Web Interface which uses Bottle; BeautifulSoup 4 is used for scrapping EBooks off Websites which host them for free.
Python
1
star
17

ping-google

A simple container which pings google for use in learning or sample projects
Dockerfile
1
star
18

Raspberry-Pi-PostGres-Docker-Compose

A simple way to run a PostGres database on the Raspberry Pi using Docker and Docker Compose.
Dockerfile
1
star