ESP32-CAM and Node RED


I like to stream a video to a template in Node RED.
I know the IP address of my ESP32-CAM. When I type the IP address in the browser I can see the video stream.
In Node Red I created a template with this code inside:

(See at the bottom of the tutorial mentioned)

I deploy my Node RED page, but no image on the page.
I get a small icon, but not a picture or stream.
I followed this instruction:

At the bottom of the tutorial is the code for Node RED.

I hope somebody can help me to solve this problem.
Thank you.


Hi Lodv
where did you install Node-Red?
I have tried node-red in windows with esp32-cam
taking inspiration from this link

if you use windows I'll give you my test flow

Hi Batigolle,

I have installed Node Red on my raspberry Pi.
I saw your link and I will look at that in depth tomorrow.
What I saw was very promising.
If you should have something for me, that could help me a bit further, I would be very grateful.
I have tried to find a solution by looking at the internet, but it has not helped (until now I hope).
Thank you for your reply.


Hi Lodv
Short explanation of the flow

The flow shows the streaming and the last captured image.
You can capture individual images with the TakePicture button or start a TimeLaps with the TL_STOP button. The default timelaps time is 60 sec, but you can change it with the 'Interval' field.
All captured images are saved in a folder on your computer, to be able to reassemble them and create an animated gif if necessary using ffmpeg ( next feature)

IMPORTANT : Not all options work, I have yet to finish it
but you can use it as a starting point for your project

My Flow

WebCamTest-flows.json (11.1 KB)

My Dashboard

TL_STOP ( RED ) = TimeLaps not running
RUNNING (GREEN ) = TimeLaps running

I hope it can help you

1 Like

I bought one of these one a whim last week, when it popped up on Amazon as I was buying some other bits and pieces. I haven't had time to try it out yet, but it looks like a good quality image (better than I'd expected) and not too hard to get working.

Something to keep me busy this weekend...

The image is better than the one shown in my post.
I modified the photographic lens to try and see if it works even in the dark with infrared LEDs.
The modification has led to a deterioration of the image, however it remains acceptable.

1 Like

Dear Luciano,

Thanks a lot for your information. I'm going to look at it now with the help of the explanation.
Another question, how did you manage to attach an image to your post on the forum. I tried to upload an image to my post, but I don't see it. I used the upload button and attached a file (image) from my pc.


Hi Yvonne,

Just some information. In your ESP32-CAM link I see that the video server code contains following:


This means the camera offers an MJPEG stream, which you could also decode using my node-red-contrib-multipart-stream-decoder node. The output would be an infinite stream of images ...

I do ...

After pressing the 'upload' button,
the image appears in the box to the right of the preview

Dear Luciano, dear Bart,

Thanks for your help.
Node Red is installed on my Raspberry Pi.
The ESP32 Cam is attached to an external power supply.
The IP address of the cam is
The IP address of the Raspi is
There is no (not yet) a memory card in the ESP32 cam.
So there is no directory structure.

What does SnapshotJPEG, nphMotionJpeg (Bart), stream or snapshot (Luciano) mean?
Do you need :5000 after the ipaddress (portnumber)?

This is the result of my efforts (see attachments).

I see a still or stream when I type in the ip address of the ESP, so it is working (see attachment).Naamloos%202

Hi lodv
I have uploaded this code on esp32-cam

with this code, the streaming is obtained with the string http:\ ...
as you can see in the node

To view the photo, in the "Last Image" field,
you need to change the flow to save the captured photo, on the raspberry.
If it fails to save it you cannot view it

I used it on windows, I don't know how I know how to save the photo on the raspberry directory

Thank you Luciano.
I must work now, but tomorrow I will look and hopelfully I manage to make it work.
I keep you informed.

Have a nice evening.

Not sure whether I understand this correctly. Normally you request a single (snapshot) image (e.g. jpeg) from your ip camera, or an endless mjpeg (=motion jpeg) stream of images. In the latter case the stream looks like this: jpeg/separator/jpeg/separator/jpeg ... My decoder node can grab the individual images from the stream and send them as output messages into your flow (so every message would contain a single image). Remark: to start a stream you send a single (motion jpeg) request to your ip camera, and you will keep receiving the mjpeg stream ...

Finally I can get a stream in my Node-Red site.
Thanks to your help.
I used the Webcam node from Luciano and used this in the code:
img src="" width="650px"

You can imagine that I'm very happy with this result, because I hope I come a bit further now.
Thank you both for your help and patience.

Hello, I'm just starting to deal with Node-Red and wanted to use my ESP32 cam to display the stream in the dashboard, save photos and also use time lapse. I found your flow. Unfortunately, I get an error message that a "configurable interval" node does not exist. Can you help me with that? Perhaps you also have tutorials for your project that can help me get started.

Many greetings Ulli

Hi and welcome to the fourm.

Install it...


1 Like

Hi Steve thanks for help.