ECL-IP20MP with Zoneminder
Posted: Sat Sep 22, 2012 8:40 pm
Hello,
I recently setup an Eclipse ECL-IP20MP with Zoneminder and required a minor source tweak in order to make it work.
The camera supports RTSP but I was only able to get 3GPP streaming working via RTSP and the picture quality was too poor for it to be of much use.
I was able to get HTTP streaming working, the path is /GetData.cgi?CH=2 for the "Streaming 2" stream. The problem is that the camera report a content type that includes the resolution, so zoneminder was complaining:
zm zmc_m2[3353]: ERR [Found unsupported content type 'image/jpeg;size=640x480']
so I simply updated zm_remote_camera_http.cpp:
case CONTENT :
{
if ( !strcasecmp( content_type, "image/jpeg" ) || !strcasecmp( content_type, "image/jpg" ) )
{
format = JPEG;
} else if ( !strcasecmp( content_type, "image/jpeg;size=640x480" ) )
{
format = JPEG;
}
else if ( !strcasecmp( content_type, "image/x-rgb" ) )
{
format = X_RGB;
}
probably strncasecmp against "image/jpeg;size=" would have been better, but I was in a rush.
Note that getting rtsp working on Fedora Core 17 required a compile from source and about a day of hunting down dependencies and the end result was not really worthwhile.
Nikos Mouat
I recently setup an Eclipse ECL-IP20MP with Zoneminder and required a minor source tweak in order to make it work.
The camera supports RTSP but I was only able to get 3GPP streaming working via RTSP and the picture quality was too poor for it to be of much use.
I was able to get HTTP streaming working, the path is /GetData.cgi?CH=2 for the "Streaming 2" stream. The problem is that the camera report a content type that includes the resolution, so zoneminder was complaining:
zm zmc_m2[3353]: ERR [Found unsupported content type 'image/jpeg;size=640x480']
so I simply updated zm_remote_camera_http.cpp:
case CONTENT :
{
if ( !strcasecmp( content_type, "image/jpeg" ) || !strcasecmp( content_type, "image/jpg" ) )
{
format = JPEG;
} else if ( !strcasecmp( content_type, "image/jpeg;size=640x480" ) )
{
format = JPEG;
}
else if ( !strcasecmp( content_type, "image/x-rgb" ) )
{
format = X_RGB;
}
probably strncasecmp against "image/jpeg;size=" would have been better, but I was in a rush.
Note that getting rtsp working on Fedora Core 17 required a compile from source and about a day of hunting down dependencies and the end result was not really worthwhile.
Nikos Mouat