First and foremost thing to warn – you can not compare the pro-grade IP cameras, something like EZVIZ IP camera with ESP32-CAM IP camera. ESP32-CAM IP camera module is dirt cheap and it is great to increase the number of video capturing devices. I would suggest you have some pro-grade camera to cover the main unsecured points of house/office and use ESP32-CAM IP camera module as an “add-on” to increase the coverage.
What you can do to use an ESP32-CAM IP camera module access from anywhere in the World? You would need to set a static IP address for your ESP32. If you want to avoid an intervening computer/Raspberry Pi, then you do that in the code or simply use your router configuration to assign a static address to a specific MAC address. The second way is clever and easy. Now, you need to open your router’s configuration to allow users. You could use port forwarding or set up a DMZ. If you want a domain name instead of an IP address, you need to set up a dynamic DNS. In that case, you have to run a script on a local computer that updates the dynamic DNS service daily to reach the correct WAN address of the router. Also, you have to set a username/password for the ESP32 to stop unauthorized users.
You need an ESP32-CAM module, a CP2102 Programmer and one female-to-female jumper wire to get started. Connect the ESP32-CAM board to your computer using a CP2102 programmer.
GPIO 0 needs to be connected to GND,
GPIO 3 (U0R) needs to be connected to TX,
GPIO 1 (U0T) needs to be connected to RX,
Vcc to 3.3V,
GND to GND.
From Tools > Board, select ESP32 Wrover Module
From Tools > Port, select the COM port
From Tools > Partition Scheme, select “Huge APP (3MB No OTA)”
In your Arduino IDE, go to File > Examples > ESP32 > Camera and open the CameraWebServer example. Then, click the upload button to upload the code.
The ESP32 IP address will get printed in the Serial Monitor of Arduino IDE. Open a browser and type the ESP32-CAM IP address, click “Start Streaming” to start video streaming. This is how we work with local streaming.
You can use
ngrok.com‘s free service to create a tunnel with some script running on your smartphone (or Raspberry Pi) :
Just follow our guide How to Stream Live Video From EZVIZ Camera. With VLC and Open Broadcaster Studio (OBS), you can directly stream to YouTube privately. You can create your server to host the stream and broadcast.