Zoneminder and Trendnet TV-IP110
-
- Posts: 1
- Joined: Fri Apr 25, 2008 10:10 pm
Zoneminder and Trendnet TV-IP110
Is there anyway to make the Trendnet TV-IP110 work with Zoneminder? If not, does anybody know if it will be supported in the future?
Trendnet TV-IP110W
I have been trying to use TV-IP110W in ZoneMinder. According to its
CGI command manual (send by Trendnet customer support), mjpeg
stream is available at:
http://192.168.1.30/cgi/mjpg/mjpeg.cgi
When I entered the path above in ZM, I could not see the video.
I tried to add username and password in the "Remote Host Name"
section as
admin:passwd@192.168.1.30
but it did not work. If username&passwd are not supplied, the camera
does not allow access, however the above method is not useful for
authentication. If I use lynx to dump the stream to a file:
lynx -dump http://192.168.1.30/cgi/mjpg/mjpeg.cgi > file
then I have the message HTTP: Access authorization required.
I can save the stream if I provide authentication as:
lynx -dump -auth=user:passwd http://192.168.1.30/cgi/mjpg/mjpeg.cgi > file
If ZM can pass authentication similar to lynx, then it may be possible
to use this camera. I am also trying to find a way to disable user
authentication in IP110W, but I am not sure if this is possible (I am
waiting for an answer from Trendnet).
CGI command manual (send by Trendnet customer support), mjpeg
stream is available at:
http://192.168.1.30/cgi/mjpg/mjpeg.cgi
When I entered the path above in ZM, I could not see the video.
I tried to add username and password in the "Remote Host Name"
section as
admin:passwd@192.168.1.30
but it did not work. If username&passwd are not supplied, the camera
does not allow access, however the above method is not useful for
authentication. If I use lynx to dump the stream to a file:
lynx -dump http://192.168.1.30/cgi/mjpg/mjpeg.cgi > file
then I have the message HTTP: Access authorization required.
I can save the stream if I provide authentication as:
lynx -dump -auth=user:passwd http://192.168.1.30/cgi/mjpg/mjpeg.cgi > file
If ZM can pass authentication similar to lynx, then it may be possible
to use this camera. I am also trying to find a way to disable user
authentication in IP110W, but I am not sure if this is possible (I am
waiting for an answer from Trendnet).
Re: Trendnet TV-IP110W
Please, take a look at my post:tzm wrote: http://192.168.1.30/cgi/mjpg/mjpeg.cgi
http://www.zoneminder.com/forums/viewtopic.php?t=11649
Even I have a different model, the URL seems to be very similar and probably they use the same software in the camera. Could you please copy-paste result of:
wget -S http://<CAMERA-IP>/cgi/mjpg/mjpeg.cgi -user=admin -password=pass
In my case, the camera returned something like:
...
Content-Type: multipart/mixed; boundary=--myboundary
...
28 bytes of strange data... jpeg header...jpeg....jpeg footer
...
So, it did not provide:
1) content-type for every part of the response
2) valid content-type (only multipart/mixed instead multipart/x-mixed-replace)
3) valid JPEG code
Re: Trendnet TV-IP110W
Here is the result of wget:Even I have a different model, the URL seems to be very similar and probably they use the same software in the camera. Could you please copy-paste result of:
wget -S http://<CAMERA>/cgi/mjpg/mjpeg.cgi -user=admin -password=pass
wget -S http://192.168.1.30/cgi/mjpg/mjpeg.cgi --http-user=admin --http-password=passwd
--01:36:40-- http://192.168.1.30/cgi/mjpg/mjpeg.cgi
Connecting to 192.168.1.30:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 200 OK
Content-Type: multipart/mixed;boundary=myboundary
Length: unspecified [multipart/mixed]
Saving to: `mjpeg.cgi'
After that, it keeps on saving the stream. The file mjpeg.cgi starts
with something like this:
--myboundary
Content-Length: 10537
ä¾&JVQ›E...
I am not sure if this stream is useful for ZM, is there a way to check?
Re: Trendnet TV-IP110W
I checked your camera, I guess Micronet SP5511W and Trendnet IP110WPlease, take a look at my post:
http://www.zoneminder.com/forums/viewtopic.php?t=11649
are identical models. Their shapes and specifications are the same, you
can check this web page:
http://trendnet.com/products/proddetail ... 10W&cat=48
In your other post, you mentioned that you had some changes in
zm_remote_camera.cpp to get it working. Could you post the modified
file (and any other step)? Does it work well after that?
Re: Trendnet TV-IP110W
Yes, now it works. But it has to disconnect after every image, otherwise the system load rises to very high numbers (after 5 minutes to 12 with only one camera and quite good CPU). And also, with every minute the video delayed approximately 10 seconds.tzm wrote:I can post also diff file, if you know, how to create it The most important part of the code follows:In your other post, you mentioned that you had some changes in
zm_remote_camera.cpp to get it working. Could you post the modified
file (and any other step)?
The "enum" variable microned_mode is set, if header multipart/mixed is found.Code: Select all
if ( format == JPEG && buffer.Size() >= 2 ) { if ( (micronet_mode == MICRONET_MODE)&& ( buffer[0] != 0xff || buffer[1] != 0xd8 ) ) { Debug (3, ("Fixing Micronet problem, buffersize = %d, content_length = %d", buffer.Size(), content_length)); buffer.Consume(28); content_length -= 28; //Debug (3, ("Micronet problem fixed!, buffersize = %d, content_length = %d", buffer.Size(), content_length)); micronet_fix_count++; Disconnect(); } } /* if (micronet_fix_count>=10) { micronet_fix_count = 0; // close the connection when 10 images were received Disconnect(); } */ Debug( 3, ( "Returning %d (%d) bytes of captured content", content_length, buffer.Size() )); return( content_length );
tzm wrote:Does it work well after that?
Re: Trendnet TV-IP110W
OK, I replaced the original code:
with the modified version:
I assumed MICRONET_MODE is always ON, and removed the commented
sections, so micronet_fix_count was not needed. After compiling and
starting zm (I have version 1.23.3), I still do not have any video. After
checking the /tmp/zmwatch.log file, I have seen the following errors:
zmwatch[13823].ERR [Can't get shared memory id '7a6d0003', 3: No such file or directory]
zmwatch[13823].INF [Restarting capture daemon for Ipcam1, shared memory not valid]
zmwatch[13823].INF ['zmc -m 3' starting at 08/05/12 16:39:22, pid = 14275]
Did you have these kind of messages? By the way, my remote camera
name is ipcam1 (I also tried IP addr, made no difference), and I have
the following settings:
Remote Host Name: admin:passwd@ipcam1
Remote Host Port: 80
Remote Host Path: /cgi/mjpg/mjpeg.cgi
Remote Image Colors: 24 bit color
Capture Width (pixels): 640
Capture Height (pixels): 480
Code: Select all
if ( format == JPEG && buffer.Size() >= 2 )
{
if ( buffer[0] != 0xff || buffer[1] != 0xd8 )
{
Error(( "Found bogus jpeg header '%02x%02x'", buffer[0], buffer[1] ));
return( -1 );
}
}
Code: Select all
if ( format == JPEG && buffer.Size() >= 2 )
{
if ( buffer[0] != 0xff || buffer[1] != 0xd8 )
{
Debug (3, ("Fixing Micronet problem, buffersize = %d, content_length = %d", buffer.Size(), content_length));
buffer.Consume(28);
content_length -= 28;
Disconnect();
}
}
sections, so micronet_fix_count was not needed. After compiling and
starting zm (I have version 1.23.3), I still do not have any video. After
checking the /tmp/zmwatch.log file, I have seen the following errors:
zmwatch[13823].ERR [Can't get shared memory id '7a6d0003', 3: No such file or directory]
zmwatch[13823].INF [Restarting capture daemon for Ipcam1, shared memory not valid]
zmwatch[13823].INF ['zmc -m 3' starting at 08/05/12 16:39:22, pid = 14275]
Did you have these kind of messages? By the way, my remote camera
name is ipcam1 (I also tried IP addr, made no difference), and I have
the following settings:
Remote Host Name: admin:passwd@ipcam1
Remote Host Port: 80
Remote Host Path: /cgi/mjpg/mjpeg.cgi
Remote Image Colors: 24 bit color
Capture Width (pixels): 640
Capture Height (pixels): 480
Here's a question,
Does anyone think that it would be possible to write a wrapper, such that it would be able to handle this sort of input, clean it up into a form that ZM can read, and rebroadcast it? I'm looking to run a heterogeneous camera system, so I don't really want to change the ZM code.
Someone did something similar for a different type of camera, http://d-austin.net/maxipcam.html. I tried editing the pertinent connection strings, but with no luck. It appears to connect, but cannot seem to make any sense of the stream. I'm not much of a programmer, so I can only look at the code and make some sense of it, but not make any major changes myself.
Thanks for any help,
Aressel
Does anyone think that it would be possible to write a wrapper, such that it would be able to handle this sort of input, clean it up into a form that ZM can read, and rebroadcast it? I'm looking to run a heterogeneous camera system, so I don't really want to change the ZM code.
Someone did something similar for a different type of camera, http://d-austin.net/maxipcam.html. I tried editing the pertinent connection strings, but with no luck. It appears to connect, but cannot seem to make any sense of the stream. I'm not much of a programmer, so I can only look at the code and make some sense of it, but not make any major changes myself.
Thanks for any help,
Aressel
Try jpg stream!
I have a different camera, the Airlink101 AIC250, and I could not find the right settings to get it to work with the cgi video. The Zoneminder Wiki says you can get 10 fps with "/video.cgi" but I do not get any video with it! You have the cgi command manual, so see if there is a command to get a jpg and adjust your Zoneminder settings so that you tell ZM to stream jpg and use "ffmpeg" to encode it. For me, it meant changing the Monitor settings to use "host=<ip>", "path= /image.jpg" and setting the camera to have NO password and NO user, not even "admin". It did not work with the password protection with those settings. There may be a syntax to get it to work with password protection, I just have not found that in the documentation yet, if it is there.
Summary: Try jpg stream, use no password / username on camera, use ffmpeg, use jpg stream.
Downside: may get low fps (I get only 2 fps in 640x480). You must select the right resolution for your camera and the right color mode.
Summary: Try jpg stream, use no password / username on camera, use ffmpeg, use jpg stream.
Downside: may get low fps (I get only 2 fps in 640x480). You must select the right resolution for your camera and the right color mode.
new solution
It might be an old thread, but a solution is now possible with this, and has been tested with the newest .80 firmware.
http://[WEBCAMIP]/cgi/jpg/image.cgi
This will take a snapshot image, on my setup it seems to capture about 2 pictures/second..
It was kinda easy to find, as they released the GPL of of their linux setup...
http://[WEBCAMIP]/cgi/jpg/image.cgi
This will take a snapshot image, on my setup it seems to capture about 2 pictures/second..
It was kinda easy to find, as they released the GPL of of their linux setup...
Hi
Trying to edit the zm_remote_camera.cpp as indicated above but can't find any such file:
]# find / -name zm_r*
/usr/share/zoneminder/www/zm_request_alarm.php
/usr/share/zoneminder/www/zm_request_event.php
/usr/share/zoneminder/www/zm_request_control.php
/usr/share/zoneminder/www/zm_request_stream.php
/usr/share/zoneminder/www/zm_request_status.php
what am i doing wrong ?
Trying to edit the zm_remote_camera.cpp as indicated above but can't find any such file:
]# find / -name zm_r*
/usr/share/zoneminder/www/zm_request_alarm.php
/usr/share/zoneminder/www/zm_request_event.php
/usr/share/zoneminder/www/zm_request_control.php
/usr/share/zoneminder/www/zm_request_stream.php
/usr/share/zoneminder/www/zm_request_status.php
what am i doing wrong ?