Page 1 of 2

Figure out Source ?

Posted: Mon Feb 20, 2006 7:33 pm
by fpausp
Hi,

I use zm 1.22.0 on a sme7 server (http://contribs.org) and like to use a networkcam (LCS-IC-715), how can i figure out the right settings ?


I can reach the cam with http://192.168.1.240/tgi/login.tgi


regards
fpausp

Posted: Tue Feb 21, 2006 3:41 pm
by zoneminder
You will probably need to view the source of the image page you use to view the camera from your browser. Hopefully that will contain a link to the image feed. Failing that you might need to just sniff the comms between browser and camera if the link is hidden. Sometimes the docs tell you anyway of course.

Posted: Tue Feb 21, 2006 9:22 pm
by fpausp
Have found that ports:

21 - FTP
80 - Web
4321 - Remote Who Is
5678 - Remote Replication Agent Connection

are open, but can not find a path ?



fpausp

Posted: Wed Feb 22, 2006 9:33 am
by zoneminder
It will almost certainly be on port 80. Can you post the source of the image page here? Maybe someone will be able to spot something.

Posted: Wed Feb 22, 2006 1:09 pm
by tech_fixer
This camera (Longshine LCS-IC-715) is the same, or a close relative of the EDIMAX-IC1000.

Look at the thread:
http://www.zoneminder.com/forums/viewtopic.php?t=4797

According to the manual, video is served on port 4321. Go figure!

Regards,
Jose.

Posted: Sun Feb 26, 2006 11:04 am
by fpausp
Dear zoneminder,

I am sorry do you mean that with source:


<html>
<head>
<title>Internet Camera</title>
<base TARGET="_self">
</head>
<frameset COLS="*" FRAMESPACING="0" BORDER="0" FRAMEBORDER="0">
<frameset COLS="*" FRAMESPACING="0" BORDER="0" FRAMEBORDER="0">
<frameset ROWS="52,25,86%" FRAMESPACING="0" BORDER="0"
FRAMEBORDER="0">
<frame NAME="top" SRC="/top.htm" SCROLLING="no" NORESIZE
MARGINWIDTH="0" MARGINHEIGHT="0" TARGET="_self">
<frame NAME="button" SRC="/button.htm" TARGET="main"
MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="no" NORESIZE>
<frame NAME="main" SRC="/frame.htm" TARGET="_self" MARGINWIDTH="0"
MARGINHEIGHT="0">
</frameset>
</frameset>
<noframes>
<body>
</body>
</noframes>
</frameset>
</html>


that´s the first page after login where the picture is !


regards

Posted: Sun Feb 26, 2006 12:07 pm
by sixgunz
What you have there is a frameset - the camera source image will be embedded in a page within that frameset. I would guess that from this you have used the view - properties from the menu bar at the top. That gives the frameset source and not individual pages.

If the image is an mjpeg, you will be able to right click on the image and get the properties. The source will be the location to the image. That's what you put in the source for the camera. ZM will just keep grabbing the updated jpeg from your camera's output location.

If it is a java applet, which is doing the grabbing for you, try cright clicking just outside of the image and select view source. That will give you the actual page that the java applet is embedded in within the frameset. From this, you will see some sort of parameters within the embedded java applet tags in the html - something like an http location. That is the source for zm.

Hope that helps

Posted: Sun Feb 26, 2006 5:02 pm
by fpausp
ok, right click outside gives me:


<html>
<head>
<title>main</title>
<base TARGET="_self">
<script TYPE="text/javascript">

width = 320;
height = 240;
function getchange1() {
document.testApplet.width = width;
document.testApplet.height = height;
document.testApplet.test1() ;
}

function getchange2() {
if( width != 640 )
{
document.testApplet.width = width * 2;
document.testApplet.height = height * 2;
}
document.testApplet.test2() ;
}

function getchange3() {
document.testApplet.test3() ;
}

</script>
</head>
<body BGCOLOR="#EEEEEE" LEFTMARGIN="5" TOPMARGIN="5"
MARGINWIDTH="5" MARGINHEIGHT="5">
<div ALIGN="center">
<table WIDTH="640">
<tr>
<td>
<table WIDTH="780" BORDER="0" CELLSPACING="0">
<tr>
<th SCOPE="row">
<form NAME="zoom">

<div ALIGN="right"><font COLOR="#333333" SIZE="2" FACE=
"Arial"><strong><img BORDER="0" SRC="/point.gif" WIDTH="10"
HEIGHT="10" HSPACE="5"></strong></font> <strong><font FACE=
"Arial" STYLE="font-size: 9pt" COLOR="#333333">Digital Zoom
:</font></strong> <font FACE="Arial"><input NAME="button"
TYPE="button" ONCLICK="getchange1()" VALUE=" X1 " STYLE=
"font-size: 8pt; font-family: Arial"></font> <font FACE=
"Arial"><input NAME="button2" TYPE="button" ONCLICK=
"getchange2()" VALUE=" X2 " STYLE=
"font-size: 8pt; font-family: Arial"></font></div></form></th>
<td>
<form NAME="hztgi" ACTION="/tgi/hz.tgi" METHOD="post">
<div ALIGN="center"><font COLOR="#333333" SIZE="2" FACE=
"Arial"><strong><img BORDER="0" SRC="/point.gif" WIDTH="10"
HEIGHT="10" HSPACE="5"></strong></font> <strong><font COLOR=
"#333333" FACE="Arial" STYLE="font-size: 9pt">Frequency
:</font></strong> <span STYLE="font-size: 9pt"><font FACE=
"Arial"><input NAME="hz" TYPE="radio" VALUE="P_50HZ"
></font></span> <font FACE="Arial" STYLE=
"font-size: 9pt">50Hz</font> <span STYLE=
"font-size: 9pt"><font FACE="Arial" SIZE="2"><input NAME="hz"
TYPE="radio" VALUE="P_60HZ" CHECKED></font></span>
<font FACE="Arial" STYLE="font-size: 9pt">60Hz</font>

<font FACE="Arial"><input TYPE="submit" VALUE="Apply" NAME=
"hz1" STYLE=
"font-size: 8pt; font-family: Arial"></font></div></form>

</td>
<td ALIGN="left">
<form NAME="form1" METHOD="post" ACTION="/tgi/control.tgi">
<p STYLE="margin-top: 0; margin-bottom: 0"><font COLOR="#333333"
SIZE="2" FACE="Arial"><strong><img BORDER="0" SRC="/point.gif"
WIDTH="10" HEIGHT="10" HSPACE="5"></strong></font>
<strong><font FACE="Arial" STYLE="font-size: 9pt" COLOR=
"#333333">Resolution :</font> <font FACE="Arial" COLOR="#990000"
SIZE="2"><select SIZE="1" NAME="D1" STYLE=
"font-family: Arial; font-size: 8pt">
<option VALUE="P640" >640 x 480</option>
<option VALUE="P320" selected>320 x 240</option>
<option VALUE="P160" >160 x
120</option></select></font></strong> <font FACE=
"Arial"><input TYPE="submit" VALUE="Apply" NAME="Apply"
STYLE="font-size: 8pt; font-family: Arial"></font></p></form>

</td></tr></table></td></tr>
<tr>
<td HEIGHT="137" VALIGN="top">
<p ALIGN="center" STYLE="margin-top: 0; margin-bottom: 0">

<applet CODE="video_java.class" NAME="testApplet" WIDTH=
"320" HEIGHT="240" STYLE=
"font-size: 10pt; font-family: Arial; border-style: ridge; border-width: 1px; text-align:center">
<param NAME="PORT" VALUE="4321">
<param NAME="MODE" VALUE="0"></applet>
</p></td></tr>
<tr>
<td HEIGHT="15" VALIGN="top">
<form NAME="snapshot" ACTION="/tgi/snapshot.tgi" METHOD="post">
<p ALIGN="center" STYLE="margin-top: 0; margin-bottom: 0">
<font FACE="Arial"><input TYPE="submit" VALUE="Snapshot & Mail"
NAME="Send" STYLE="font-size: 8pt; font-family: Arial"
ALIGN="center"></font></p>
<p ALIGN="center" STYLE="margin-top: 0; margin-bottom: 0">

 </p>
<p ALIGN="center" STYLE="margin-top: 0; margin-bottom: 0">
<span LANG="EN-US" STYLE=
"font-size: 10.0pt; font-family: Times New Roman">If there is no
image presented, please download Java Applet at <a TARGET="_blank"
HREF=
"http://java.com/en/download/windows_aut ... jsp"><span STYLE="color: #0000FF; text-decoration: underline">
Here</span></a>.</span></p></form></td></tr></table></div>
</body>
</html>




Name Kamera_1
Source Type Remote
Function Modect
Enabled x
Maximum FPS 4.00
Reference Image Blend %ge 7

Remote Host Name 192.168.1.240
Remote Host Port 4321
Remote Host Path video_java.class
Remote Image Colors 24 bit color
Capture Width (pixels) 100
Capture Height (pixels) 100
Orientation Normal


can see only a black image


???

Posted: Sun Feb 26, 2006 9:29 pm
by sixgunz
Ok, I can tell you for a start that "Remote Host Path video_java.class" in the host will not give you anything.

This needs to be a physical data stream, something like an mpeg or an mjpeg, etc...

A java class is a binary file which accepts the data stream and shows it as the motion on the screen - there will be a parameter like a url or a data stream that the class points to, so you need to find the parameter for the data stream.

In effect, this applet is more or less the same as the cambozola applet that is used in zoneminder - they have the same function and are both java applets, but cambozola asks for a data stream as a parameter whereas this is hard coded in the class applet itself!

Looking at the parameters, it seems that the stream location is embedded in the class file......

You have the ip number right and the port.... You must now find the name of the physical data stream....

Hawking HNC210

Posted: Tue Apr 18, 2006 10:56 pm
by johabba
I have an IP cam with has the exact same URLs and wierd javascript functions in the HTML source code. My cam is a Hawking HNC210 Wired IP cam.

From what I can tell, http://webcamIP:4321 gives a raw video stream. Wget to that url gives me raw data.

Can someone help me get the JPG url for this cam? Can ZM use the raw video stream?

I can port forward to allow you to work with it, but the previous posts here seem to have all the info I could find.

Please help

Posted: Wed Apr 19, 2006 9:01 pm
by tech_fixer
Do the port forward and send me a private message with the IP address. I'll put a network sniffer on my computer and figure out the URL.

Regards,
Jose.

Posted: Tue Apr 25, 2006 11:26 pm
by Samo
Dear tech_fixer:
What for sniffer you use ?
Is it possible with any sniffer url of jpg image to get ?
I have same problem as johabba but with Edimax IC1000
I would like use this IP Camera in (windows) Active Webcam Software and
need by selecting camera define "string to request JPEG image" like : IP/jpg/image.jpg or IP/cgi-bin/video.jpg

Thank YOu Very Much for answer
Samo

Posted: Wed Apr 26, 2006 3:15 pm
by tech_fixer
Hi,
First things first...
The Edimax-IC1000 is the same as the Longshine LCS-IC-715, and is the same as the Hawking HNC230G (or at least work the same way.)

You might get still JPEG images fom the camera using a URL like:
http://CAMERA_IP_ADDRESS:PORT/tgi/snapshot.tgi
(Not sure bout this, since i dont have one.)

So, in Zoneminder you would configure:
Remote Host Name: CAMERA_IP_ADDRESS
Remote Host Port: 4321
Remote Host Path: /tgi/snapshot.tgi

I have no idea why it has a tgi extension. Probably some king of cgi executable?

More info at:
http://www.automatedliving.com/phpbb2/v ... 19c10bbea6


About the network sniffer...
A network sniffer is a program that basically monitors and analyses network activity between computers.

This is useful when trying to determine what a computer asks to another, and what is the reply. In the case of network cameras, I can use the network sniffer to find out how an Internet Browser requests an image or a video stream form the network camera. With this information I can figure out how to use this camera with Zoneminder.

This is how it works:
1. Basically I start up the netowrk sniffer and let it capture the packets going in and out of my computer.
2. Then I start the Internet browser and access thje network camera until I have the desired image or video stream on my screen.
3. Now you can close the browser window.
4. Stop the sniffer from capturing more packages.
5. Analyse the sniffer output, looking for HTTP requests.
6. Among the HTTP requests should be the one for the image or video stream.
7. Once you identify the request for the video, try to use the same request on the browser to see if you can get images direct from the camera.
8. If it works on the browser, it should probably work on Zoneminder.

Regards,
Jose.

Posted: Thu Apr 27, 2006 6:47 pm
by johabba
Sorry for my late response. I lost my internet connection for a while and just got it back.

Thanks for the offer to help and the added info. I'm resinstalling my test machine now and will install ZM and try that tgi URL.

I may still take you up of the offer to connect my camera and sniff.

I used Ethereal on windows while running the viewer app that came with the camera. Most of the stuff I recognized looked like raw video sent over tcp port 4321.

I'll report back when I get ZM installed and try that tgi URL.

Posted: Thu Apr 27, 2006 7:10 pm
by tech_fixer
That is what I planned to do... Ethereal.

So, in the sniffer output you did not see ant HTTP headers whatsoever?? That might be an issue. ZoneMinder uses HTTP as a transport for all image data, JPEG or MJPEG. If the video is not using HTTP you might have to stick with one of the available scripts that actually sanitize the stream by adding the missing headers and sending a valid stream.

What I'm betting is that the last URL I posted might be for a still JPEG image. If that is correct then you might be able to use the camera in JPEG mode.

Good Luck, you'll need it.
Jose.