MJPEG Multiclient Streaming Server using RTOS queue to serve video to clients.
The problem with this approach is that the slowest connected client slows it down for everyone.
#### esp32-cam-rtos folder:
MJPEG Multiclient Streaming Server using dedicated RTOS tasks to serve video to clients.
This solves the problem of slowest client as every client is served independently based on their bandwidth. Slow clients are just not getting all the frames.
#### esp32-cam-allframes folder:
MJPEG Multiclient Streaming Server using dedicated RTOS tasks to serve video to clients.
All captured frames are stored in PSRAM (until you run out of memory) and served to individual clients one after another, so every client is guaranteed to get all frames in order, at their own pace (good for recording without frame drops)
**NOTE:** please observe the `-jo` flag: the sketch assumes all files are in the same folder and will overwrite the existing old files without asking for confirmation.
I was able to run multiple browser windows, multiple VLC windows and connect multiple Blynk video widgets (max: 10) to ESP-EYE chip. The delay on the browser window was almost unnoticeable. In VLC you notice a 1 second delay due to buffering. Blynk performance all depends on the phone, so no comments there.