forked from external-repos/esp32cam-rtsp
Fixes
This commit is contained in:
@@ -12,9 +12,12 @@
|
||||
class micro_rtsp_server : WiFiServer
|
||||
{
|
||||
public:
|
||||
micro_rtsp_server(const micro_rtsp_camera& source, unsigned frame_interval = 100, unsigned short port = 554);
|
||||
micro_rtsp_server(const micro_rtsp_camera& source, unsigned frame_interval = 100);
|
||||
~micro_rtsp_server();
|
||||
|
||||
void begin(unsigned short port = 554);
|
||||
void end();
|
||||
|
||||
unsigned get_frame_interval() { return frame_interval_; }
|
||||
unsigned set_frame_interval(unsigned value) { return frame_interval_ = value; }
|
||||
|
||||
|
||||
@@ -14,12 +14,13 @@ micro_rtsp_camera::~micro_rtsp_camera()
|
||||
|
||||
esp_err_t micro_rtsp_camera::initialize(camera_config_t *camera_config)
|
||||
{
|
||||
|
||||
init_result = esp_camera_init(camera_config);
|
||||
if (init_result == ESP_OK)
|
||||
update_frame();
|
||||
else
|
||||
log_e("Camera initialization failed: 0x%x", init_result);
|
||||
log_e("Camera initialization failed: 0x%02x", init_result);
|
||||
|
||||
return init_result;
|
||||
}
|
||||
|
||||
esp_err_t micro_rtsp_camera::deinitialize()
|
||||
|
||||
@@ -3,15 +3,13 @@
|
||||
#include <memory>
|
||||
|
||||
// Check client connections every 100 milliseconds
|
||||
#define CHECK_CLIENT_INTERVAL 100
|
||||
#define STREAM_NAME "mjpeg/1"
|
||||
#define CHECK_CLIENT_INTERVAL 10
|
||||
|
||||
micro_rtsp_server::micro_rtsp_server(const micro_rtsp_camera &source, unsigned frame_interval /*= 100*/, unsigned short port /*= 554*/)
|
||||
micro_rtsp_server::micro_rtsp_server(const micro_rtsp_camera &source, unsigned frame_interval /*= 100*/)
|
||||
: source_(source)
|
||||
{
|
||||
log_i("starting RTSP server");
|
||||
frame_interval_ = frame_interval;
|
||||
begin(port);
|
||||
}
|
||||
|
||||
micro_rtsp_server::~micro_rtsp_server()
|
||||
@@ -19,6 +17,16 @@ micro_rtsp_server::~micro_rtsp_server()
|
||||
end();
|
||||
}
|
||||
|
||||
void micro_rtsp_server::begin(unsigned short port /*= 554*/)
|
||||
{
|
||||
WiFiServer::begin(port);
|
||||
}
|
||||
|
||||
void micro_rtsp_server::end()
|
||||
{
|
||||
WiFiServer::end();
|
||||
}
|
||||
|
||||
void micro_rtsp_server::loop()
|
||||
{
|
||||
auto now = millis();
|
||||
|
||||
@@ -37,7 +37,7 @@ framework = arduino
|
||||
#upload_flags = --auth='ESP32CAM-RTSP'
|
||||
|
||||
# Partition scheme for OTA
|
||||
board_build.partitions = min_spiffs.csv
|
||||
#board_build.partitions = max_spiffs.csv
|
||||
|
||||
monitor_speed = 115200
|
||||
monitor_rts = 0
|
||||
|
||||
12
src/main.cpp
12
src/main.cpp
@@ -303,6 +303,8 @@ void update_camera_settings()
|
||||
void start_rtsp_server()
|
||||
{
|
||||
log_v("start_rtsp_server");
|
||||
|
||||
server.begin(RTSP_PORT);
|
||||
// Add RTSP service to mDNS
|
||||
// HTTP is already set by iotWebConf
|
||||
MDNS.addService("rtsp", "tcp", RTSP_PORT);
|
||||
@@ -393,17 +395,17 @@ void setup()
|
||||
// Try to initialize 3 times
|
||||
for (auto i = 0; i < 3; i++)
|
||||
{
|
||||
log_i("Initializing camera...");
|
||||
camera_init_result = initialize_camera();
|
||||
if (camera_init_result == ESP_OK)
|
||||
{
|
||||
update_camera_settings();
|
||||
break;
|
||||
}
|
||||
|
||||
log_e("Failed to initialize camera. Error: 0x%0x. Frame size: %s, frame rate: %d ms, jpeg quality: %d", camera_init_result, param_frame_size.value(), param_frame_duration.value(), param_jpg_quality.value());
|
||||
log_e("Failed to initialize camera. Error: 0x%04x. Frame size: %s, frame rate: %d ms, jpeg quality: %d", camera_init_result, param_frame_size.value(), param_frame_duration.value(), param_jpg_quality.value());
|
||||
delay(500);
|
||||
}
|
||||
|
||||
update_camera_settings();
|
||||
|
||||
// Set up required URL handlers on the web server
|
||||
web_server.on("/", HTTP_GET, handle_root);
|
||||
web_server.on("/config", []
|
||||
@@ -421,7 +423,7 @@ void loop()
|
||||
{
|
||||
iotWebConf.doLoop();
|
||||
|
||||
server.loop();
|
||||
server.loop();
|
||||
|
||||
sleep(0);
|
||||
}
|
||||
Reference in New Issue
Block a user