I have been struggling with the quality of the stream in ESPHome when I integrate the camera. With Arduino IDE, if I upload a sketch (CameraWebServer or VideoWebServer) and set the xclk frequency to 23hz, the camera runs perfectly. I can even stream at SVGA without any issues and get roughly 20fps. However, in ESPHOME, I can only set the xclk to 20hz and the stream is very laggy.
Alas, I saw that post in my previous search and tried it… Doesn’t seems to applied to the board I’m using, which utilize the esp32-wrover-kit. Only when I bump the xclk above 23Hz that it perform with a decent frame rate (done through Arduino IDE instead of ESPHome).
I had the same issues, I have a Freenove ESP Starter Kit that comes with a ESP32 Wrover E.
Using the demo software the Camera worked fine but with ESPHome the picture was black or faint at best. I finally found setting the agc_mode to manual with agc_value to 8 fixed the issues.
Hope this helps somebody else spent 4 hours trying to fix this and almost gave up.