You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
2.0 KiB

# MJPEG Multiclient Streaming Server
## With latest ESP-CAM drivers
Full story: https://www.hackster.io/anatoli-arkhipenko/multi-client-mjpeg-streaming-from-esp32-47768f
### Procedure:
1. Download latest ZIP file from https://github.com/espressif/esp32-camera.git into the esp32-cam subfolder
2. unzip using `unzip -j esp32-cam-master.zip` command. This will place all files in the same folder
**NOTE:** please observe the `-j` flag: the sketch assumes all files are in the same folder.
In **esp32-cam.ino** sketch select your camera pin assignment.
The choices are:
- CAMERA_MODEL_WROVER_KIT
- CAMERA_MODEL_ESP_EYE
- CAMERA_MODEL_M5STACK_PSRAM
- CAMERA_MODEL_M5STACK_WIDE
- CAMERA_MODEL_AI_THINKER
Compile the **esp32-cam.ino** sketch using the following settings:
- ESP32 Dev Module
- CPU Freq: 240
- Flash Freq: 80
- Flash mode: QIO
- Flash Size: 4Mb
- Partition: Minimal SPIFFS (or any other that would fit the sketch)
- PSRAM: Enabled
### Results:
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 probably due to buffering. Blynk performance all depends on the phone, so no comments there.
This is incredible considering the size of this thing! The camera on ESP-EYE is actually quite good.
### Enjoy!
------
##### Other repositories that may be of interest
###### ESP32 MJPEG streaming server servicing a single client:
https://github.com/arkhipenko/esp32-cam-mjpeg
###### ESP32 MJPEG streaming server servicing multiple clients (FreeRTOS based):
https://github.com/arkhipenko/esp32-cam-mjpeg-multiclient
###### ESP32 MJPEG streaming server servicing multiple clients (FreeRTOS based) with the latest camera drivers from espressif.
https://github.com/arkhipenko/esp32-mjpeg-multiclient-espcam-drivers
###### Cooperative multitasking library:
https://github.com/arkhipenko/TaskScheduler