2020-09-21 20:44:29 +00:00
# Make you own Raspberry Pi Camera Stream
Create your own live stream from a Raspberry Pi using the Pi camera module. Build your own applications from here.
## How it works
The Pi streams the output of the camera module over the web via Flask. Devices connected to the same network would be able to access the camera stream via
```
2022-05-05 11:08:12 +00:00
< raspberry_pi_ip:5000 >
2020-09-21 20:44:29 +00:00
```
## Screenshots
2020-10-09 04:11:57 +00:00
| ![Setup ](readme/pi-stream-client.jpg ) | ![Live Pi Camera Stream ](readme/pi-stream-screen-capture.jpg ) |
2021-10-29 14:54:30 +00:00
| ------------------------------------- | ------------------------------------------------------------- |
| Pi Setup | Pi - Live Stream |
2020-09-21 20:44:29 +00:00
## Preconditions
* Raspberry Pi 4, 2GB is recommended for optimal performance. However you can use a Pi 3 or older, you may see a increase in latency.
* Raspberry Pi 4 Camera Module or Pi HQ Camera Module (Newer version)
* Python 3 recommended.
2020-10-09 04:10:43 +00:00
## Library dependencies
Install the following dependencies to create camera stream.
```
2022-05-05 11:08:12 +00:00
sudo apt-get update
2020-04-26 01:46:07 +00:00
sudo apt-get upgrade
2020-10-09 04:10:43 +00:00
sudo apt-get install libatlas-base-dev
sudo apt-get install libjasper-dev
2022-05-05 11:08:12 +00:00
sudo apt-get install libqtgui4
2020-10-09 04:10:43 +00:00
sudo apt-get install libqt4-test
sudo apt-get install libhdf5-dev
2020-10-10 00:36:31 +00:00
sudo pip3 install flask
sudo pip3 install numpy
sudo pip3 install opencv-contrib-python
sudo pip3 install imutils
sudo pip3 install opencv-python
2020-10-09 04:10:43 +00:00
```
2022-05-05 11:08:12 +00:00
Note: This installation of opencv may take a while depending on your pi model.
2021-10-29 14:54:30 +00:00
OpenCV alternate installation (in the event of failed opencv builds):
```
sudo apt-get install libopencv-dev python3-opencv
```
2020-10-09 04:10:43 +00:00
2020-09-21 20:44:29 +00:00
## Step 1 – Cloning Raspberry Pi Camera Stream
Open up terminal and clone the Camera Stream repo:
```
2020-10-10 00:36:31 +00:00
cd /home/pi
2020-10-09 04:10:43 +00:00
git clone https://github.com/EbenKouao/pi-camera-stream-flask.git
2020-09-21 20:44:29 +00:00
```
## Step 2 – Launch Web Stream
Note: Creating an Autostart of the main.py script is recommended to keep the stream running on bootup.
```bash cd modules
2020-10-10 00:36:31 +00:00
sudo python3 /home/pi/pi-camera-stream-flask/main.py
```
## Step 3 – Autostart your Pi Stream
2020-10-11 00:44:04 +00:00
Optional: A good idea is to make the the camera stream auto start at bootup of your pi. You will now not need to re-run the script every time you want to create the stream. You can do this by going editing the /etc/profile to:
2020-10-10 00:36:31 +00:00
2020-09-21 20:44:29 +00:00
```
2020-10-11 00:38:24 +00:00
sudo nano /etc/profile
2020-10-10 00:36:31 +00:00
```
Go the end of the and add the following (from above):
```
sudo python3 /home/pi/pi-camera-stream-flask/main.py
```
2020-10-11 00:38:24 +00:00
2022-05-05 11:08:12 +00:00
This would cause the following terminal command to auto-start each time the Raspberry Pi boots up. This in effect creates a headless setup - which would be accessed via SSH.
2020-10-11 00:38:24 +00:00
Note: make sure SSH is enabled.
2020-10-10 00:36:31 +00:00
2021-10-29 15:15:51 +00:00
## More Projects / Next Steps
2022-05-09 22:19:54 +00:00
View the latest Build: [Pi Smart Cam with Motion Sensor ](https://github.com/EbenKouao/pi-smart-cam )
Alternatively, view more projects that build on the Pi Camera on [smartbuilds.io ](https://smartbuilds.io ).