Video streaming with ESP32CAM

Hello! I am currently using Blynk 2.0 to remotely control the keypad/buttons of a controller board thru the IOs of an ESP32 module. We use a phone to stream the video of the controller’s LCD on Google Meet. This tends to be a hassle to set up every time so I’m thinking of replacing it with an ESP32CAM to integrate the IO control and video streaming. I haven’t found any guide yet on video streaming using Blynk 2.0. From my understanding, the camera has to be a standalone/separate device from the ESP32 since the widget will need an RTSP URL. Unlike in the legacy platform where both can be integrated in the firmware. My last resort would be to use an ESP8266 for IO control and an ESP32CAM with a static IP hosting the video. So my two goals here are to [1] integrate the IO control and video streaming in one ESP32CAM board and [2] to be able to set a static IP for each since multiple devices will be running simultaneously. I have recently upgraded my account to PLUS subscription.

Thank you.

There’s some very mixed-up logic and a few contradictions in your post.

Would you like to share links to the topics which have led you to this set of conclusions?


Sorry, I may have not conveyed it thoroughly. I have an existing template on the app that has 5 buttons to control 5 GPIOs of a generic ESP32 dev board. It’s currently working but I want to switch to an ESP32-CAM dev board so I could include video streaming on a single page on the app. That allows our remote frontend developers to navigate on our controller hardware by simulating button presses via Virtual Pins and I use a smart phone streaming video on Google Meet so they’d see the LCD of our controller. Like this example board (not actual), the buttons are remotely manipulated by the ESP32 thru GPIOs and for them to view the LCD, I point my phone camera to the LCD that is streaming on Google Meet.
Thank you.

The actual looks like this.

You’ve focussed on explaining the bits that aren’t really relevant to the discussion, but not addressed any of this…

What is your source for these conclusions?


Since the widget requires a URL for the video source, I’m under the impression that the video will be coming from a separate device - an IP camera or similar, and not coming from the ESP32-CAM itself.

If you want to use an IP can you can, but if you go down that route then why use an ESP32 CAM at all?


My goal is to actually use the ESP32-CAM so I could have both video stream and GPIO control in one app. I just haven’t found any guide yet on video streaming using Blynk 2.0. All tutorials I’ve seen are still using the legacy app. Guess I’ll have to combine the sample webserver camera code on Arduino with Edgent

Why do you need to use Edgent?


Cause that’s how to connect the device to the Blynk 2.0 platform, with SmartConfig method of provisioning.

It’s one method of connecting the device in Blynk IoT, but it adds a degree of complexity to a project that will be complex anyway.
Your solution is never going to be an out of the box one click configuration anyway, as the device will need a static IP address, port forwarding in the router, a DDNS service and a DDNS updater.


It seems to be very complex indeed with the new platform. In the legacy version, a lot of examples can be found where the video streaming widget can be combined with control and data widgets. I am so lost in the migration process.

If you don’t use Edgent then the process for video streaming is pretty-much identical to Legacy.
However, I think that now you probably need to have a publicly resolvable url for the stream, whereas previously you could use an internal IP address if only trying to view the stream within the local network.

I say “probably” because I’ve only done limited testing on this, with a Reolink CCTV camera and this was my finding.


1 Like