Boa noite.
Quando ao item 4 (acessar a camera de fora da rede local) já resolvi a mais de 2 anos.
Abrindo a IDE Arduino, com sketch básico da ESP32CAM WebServer, coloquei dados para acessar meu wifi. Para o IP fixo adicionei as linhas:
IPAddress ip(192,168,0,125);
IPAddress gateway(192,168,0,1);
IPAddress subnet(255,255,255,0);
IPAddress dns(8,8,8,8);
e
WiFi.begin(ssid, password);
//implementado usar IPfixo,Gateway e DNS em 21jan20//
WiFi.config(ip, gateway, subnet, dns);
Pois bem, para acessar de fora precisava liberar este IP (192.168.0.125) no modem/roteador da operadora com uma porta especifica.
Para mudar as portas , na IDE abri a aba "app_httpd.cpp" e nas linhas
669 - config.server_port += 1; // porta de imagem ":81/stream"
670 - config.ctrl_port += 1;
Alterei o numeral 1 para outro diferente. Por exemplo:
Se deixar o +=1 a porta fica 81 para stream.
Se mudar para +=500 a porta de stream será = 580.
Abro a porta 580 (exemplo) no modem/roteador da operadora , indexada ao IP 192.168.0.125 e pronto.
Basta usar o DDNS da sua rede e acessar a câmera.
Instalei 5 câmeras com IP distintos e portas distintas e funcionou.
Um abraço
Olinto Olgorofi Olintronica