I just saw that two very good sources, that both had an article about this topic, have gone offline without an archived version. And because I continued my work on a robot that is controlled by a Raspberry Pi, I had to figure out how to create a low latency and high FPS stream from the Pi’s camera that can be viewed in a web browser again.
Connect the camera
Plug in the ribbon cable into the Pi’s camera slot. The blue side of the cable should face towards the USB and ethernet port and the side with the pins exposed should face towards the HDMI out:
After that is done, boot up the pi and enter the configuration program:
In the config dialog select “interfacing options” and then “camera”. Enable the camera:
After enabling the camera, use the tabulator key to select “<Finish>” and reboot the system.
After the system rebooted, you can check the camera status with:
If everything was wired and configured correctly, the output should be:
And you should be able to save a still image with:
raspistill -o image.jpg
Download and setup
Before you download the program, make sure to run update:
sudo apt-get update
After that’s finished, install the necessary libraries
sudo apt-get install ffmpeg python3-picamera python3-ws4py
Note: If you can’t install python3-ws4py with apt, try installing every other package and then install pip3 as well as python3 in an extra step as described here.
Then download the modified program (or clone the original one from git)
Start the server by executing:
And then use a web browser and navigate to your Raspberry Pi’s IP address on the Port 8080 (if you use the modified software) or port 8082 (if you use the standard sources from GitHub).
The result should look like this:
And that’s it! Thanks to the pistreaming library, low-latency, and high FPS streams are super easy to do with the Raspberry Pi. Now go and use this simple application to make your projects even better!