Developed with and for PhD candidate Fil Botelho@Orpheus Institute
This is part of the experimental_system (expS) repositories that are present on this github account.
Python
code for a Raspberry Pi
http
mjpeg
video server.
TCP
based communication with multiple clients.- Real time video manipulation (fps, exposure time, iso, etc).
- Simultaneous high-res and low-res capture.
- Simultaneous capture and manipulation.
- Infrared capture.
- This was running on a overclocked (cpu and gpu) 8GB Raspberry Pi 4
- We used the Raspberry Pi HQ Camera with the infrared filter removed.
- The server was communicating to a local windows machine via TCP. Three machines in total communicated via a network switch.
- 1 GigE was enough across all machines.
cifs-utils
andsamba client
for shared folder systemopencv-python
- picamera2
As mentioned, this server is part of a bigger (multi-system) project (all repositories belonging to this project have expS
as a prefix). It constitutes the video server that allows the user
to (from a menu controlled with a glove) record, play and manipulate real time video.
The user can:
- Turn on/off a real time video stream that is accessible via
http
on any local network machine.- Manipulate that video's characteristics (fps, exposure time, iso) in real time.
- Start/stop video capture (to storage) at will.
- The captured video can be accessed while recording to disk, for almost zero delay video editing.
- The captured video can be recorded on any shared folder of any machine on the local network.
- I am sharing this here because some concepts might interest some people. The code is not made to run first time. All the system needs to be setup, with all the credentials and the right hardware.
- If you want to use the code, or explore some idea, it is better if you contact me at: [email protected]