Comments on: ESP32-CAM Video Streaming Web Server (works with Home Assistant) https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/ Learn ESP8266, ESP32, Arduino, and Raspberry Pi Mon, 11 May 2026 06:38:02 +0000 hourly 1 https://wordpress.org/?v=6.8.5 By: Thomas Fischer https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/#comment-1186965 Mon, 11 May 2026 06:38:02 +0000 https://randomnerdtutorials.com/?p=83379#comment-1186965 Hi,
during updating the sketch I get those messages for both lines:

config.pin_sccb_sda = SIOD_GPIO_NUM;
config.pin_sccb_scl = SIOC_GPIO_NUM;

struct camera_config_t has no member named pin_sddb_sda
struct camera_config_t has no member named pin_sddb_scl

Thanks for your help

]]>
By: Abdulghafar https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/#comment-1184676 Sun, 03 May 2026 19:25:43 +0000 https://randomnerdtutorials.com/?p=83379#comment-1184676 Hello, I want to build a face recognition system with ESP32-CAM that connects to a database and displays information based on the detected face.

]]>
By: lisztfr https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/#comment-1153658 Thu, 22 Jan 2026 08:39:01 +0000 https://randomnerdtutorials.com/?p=83379#comment-1153658 Hi,

There is a new librairy, caller ESP_NEW_JPEG

developer.espressif.com/blog/2025/09/esp-new-jpeg-introduction/

which is optimised, and use the 2 cores :

“The dual-task encoder can be used on dual-core chips, taking full advantage of parallel encoding. The principle is that one core handles the main encoding task, while the other core is responsible for the entropy encoding part. In most cases, enabling dual-core encoding provides approximately a 1.5x performance boost. You can configure whether to enable dual-core encoding and adjust the core ID and priority for the entropy encoding task through menuconfig.”

You could use it. I’m not a programmer. It’s amazing, there is no usage of this library on the English speaking internet. Well it’s only 2 month old, but…

L

]]>
By: lisztfr https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/#comment-1152239 Sun, 18 Jan 2026 07:30:57 +0000 https://randomnerdtutorials.com/?p=83379#comment-1152239 In reply to lisztfr.

Ok i was wrong in this post, i didn’t read correctly the line :

if(fb->format != PIXFORMAT_JPEG)

So the jpeg compression here is achieve only if the frame is coming in any other format than jpeg, ok.

So i tried to do PIXFORMAT = RGB565, with Jpeg compression set to 90. This gives a very nice image, but the fps will be less than 1… the camera is struggling. Anyway this tells that the hardware jpeg compression is very harsh.

]]>
By: lisztfr https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/#comment-1151906 Sat, 17 Jan 2026 19:29:27 +0000 https://randomnerdtutorials.com/?p=83379#comment-1151906 Ok i’m still trying to improve this…

my conclusion today is that in this code, the image is compressed twice. Once when in comes out of the camera with the PIXFORMAT_JPEG, and the quality setting, and a second time, when you send it over the internet in the http handler, where you set the quality to 80.

]]>
By: lisztfr https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/#comment-1150505 Wed, 14 Jan 2026 11:14:55 +0000 https://randomnerdtutorials.com/?p=83379#comment-1150505 This code is not optimized, for example, in the esp_camera.h file, there is an option for PSRAM…

CAMERA_FB_IN_PSRAM, /!< Frame buffer is placed in external PSRAM */
CAMERA_FB_IN_DRAM /
!< Frame buffer is placed in internal DRAM */
} camera_fb_location_t;

Well you don’t specify in this code where the buffer is located, imho…

]]>
By: lisztfr https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/#comment-1150214 Tue, 13 Jan 2026 16:49:06 +0000 https://randomnerdtutorials.com/?p=83379#comment-1150214 You have to set the clock frequency to 8Mh,

config.xclk_freq_hz = 20000000;

replace with

config.xclk_freq_hz = 8000000;

then the camera works much better.

]]>
By: lisztfr https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/#comment-1149882 Mon, 12 Jan 2026 18:59:15 +0000 https://randomnerdtutorials.com/?p=83379#comment-1149882 Hi,

This is not working fine at least until FRAMESIZE = VGA, why, because the cam server is so busy it can’t respond to any http request, so the service is not seen (from outside the LAN), and the module is struggling to even forward it’s name to the router. I didn’t test it with QVGA, but why not using a multi-core script for example one could use the other core for the jpeg compression… ? Also i think it’s a pity there is very little code around now for this platform in 2025. I have a AI thinker module with PSRAM and it doesn’t help anything, and by-the-way the code is very confusing, all the camera statements and so on. So what’s on ? is this ESP32 cam obsolete ?

]]>
By: lisztfr https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/#comment-1147291 Wed, 07 Jan 2026 19:28:32 +0000 https://randomnerdtutorials.com/?p=83379#comment-1147291 In reply to Mark Hahn.

No, but i have the same feeling. i set Framesize to VGA but even this was too much.

]]>
By: Sara Santos https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/#comment-1130616 Wed, 03 Dec 2025 14:58:08 +0000 https://randomnerdtutorials.com/?p=83379#comment-1130616 In reply to Juan C.

Hi.

The issue may be because the higher resolution may be too much for your ESP32 Wi-Fi signal you have.
Try to put the ESP32 closer to your router to see if you have a similar results.

You can also try these changes:

Set config.fb_count = 1; (single buffer instead of 2). This reduces memory and can fix frame-get timeouts.
Increase config.jpeg_quality to 12 or 15 (lower quality = smaller images, less strain).

Regards.
Sara

]]>