• April 16, 2024, 08:52:25 AM
  • Welcome, Guest
Please login or register.

Login with username, password and session length
Advanced search  

News:

This Forum Beta is ONLY for registered owners of D-Link products in the USA for which we have created boards at this time.

Author Topic: Wanting To Stream 16 DCS-920s  (Read 11696 times)

michale32086

  • Level 1 Member
  • *
  • Posts: 14
Wanting To Stream 16 DCS-920s
« on: April 01, 2011, 05:12:26 AM »

I have set up a surveillance system for a local business using a wired router grid and 16 DCS-920s...

I have also designed a webpage where as video from the cameras are available at the click of the mouse.

I have read all the posts here I can find about streaming DCS 920s and they all were very helpful.  They got me as far as I have gotten, but my setup appears to be somewhat unique

Involved with this setup are 2 different subnets.  The 10.1.xxx.xxx subnet, which the web server is on and a 192.168.xxx.xxx subnet that all the routers and cameras are on.  

The routers are serving double duty, so simply placing the whole shebang on the 10.1  subnet, while probably possible, is not a chore I want to tackle right now..

So, my question is this..

How can I make cameras that are on Subnet B port thru Subnet A so that they are visible from the Net??

Any assistance would be greatly appreciated.

Michale
« Last Edit: April 01, 2011, 05:17:25 AM by michale32086 »
Logged

Mackerel

  • Level 3 Member
  • ***
  • Posts: 348
Re: Wanting To Stream 16 DCS-920s
« Reply #1 on: April 02, 2011, 12:57:12 AM »

With "the Net" you mean local LAN or Internet? If Internet: DynDNS works with one subnet afaik...
But port forwarding should work, even in 2 subnets... But again, there probably are more netsavvy people than I in this forum...
Logged

michale32086

  • Level 1 Member
  • *
  • Posts: 14
Re: Wanting To Stream 16 DCS-920s
« Reply #2 on: April 02, 2011, 01:28:14 AM »

I had hoped you would be the one to respond to this, Mackerel. :D

It was predominantly your posts that helped me get as far as I had..

With "the Net" you mean local LAN or Internet?

I want to be able to port out into the Internet.

Quote
If Internet: DynDNS works with one subnet afaik...

I had noticed this little gem on the integrated webserver on the DCS-920.

http://mfccfl.us/temp/sjfm3.jpg

So, I had considered the DynDNS option..   

But what has me concerned is that having 16 separate DynDNS listings might prove either unwieldy or expensive...  Or both...

Quote
But port forwarding should work, even in 2 subnets... But again, there probably are more netsavvy people than I in this forum...

This setup has a Comcast Business Gateway.  The local LAN IP is 10.1.xxx.xxx.   It won't let me port from on LAN IP to a different one..

Here is how it is setup right now...

http://mfccfl.us/temp/sjfm4.jpg

I have to set up port forwarding thru the Cable Gateway.  But any port forwarding must be from the 10.1.xxx.xxx subnet.   I suppose it would be possible to use the Win7 x64 box to port forward from the 192.168.182 subnet thru to the 10.1. subnet and then use the Cable Gateway to port forward thru to the Internet..

That's the option I am considering now.. 

But I am hoping there is a simpler way to do it as that would involve setting up a LOT of port forwards...

Thanx again for the reply.


Michale
Logged

Mackerel

  • Level 3 Member
  • ***
  • Posts: 348
Re: Wanting To Stream 16 DCS-920s
« Reply #3 on: April 02, 2011, 06:56:17 AM »

Wow... Some headache you have created. I have seen both the setups (email received), and I see the symptom you are experiencing.

Question: Do you want to show the camera's apiece remotely, or could you use something like D-Viewcam remote LiveView, or Playback? Probably not, but I have to ask. I like the setup, but in there the 192 local subnet ip-addresses are hard-coded, so that will never allow you to cross the NAT/Firewall. Port forwarding with 16 ports is quite a headache, and not so flexible.

Conclusion: You need one nerve-point that is forwarded, like your suggested setup, but that machine should be your livecam forwarder (kind of a monitor/port forwarder in one). Comes back to Single Service that you can access from remote without opening up for remote unwanted activities... Tough one...

D-Link D-ViewCam allows (on the free version) only one camera to be seen at a time, but I am not sure if you can do a direct look... There is a HTML component there, but maybe you should see if there is some concentrated software that would function as massive monitor/port-forwarder. Maybe even a simple (Linux?) lightweight box (as your diagram here shows), that could behave like a stand-alone firewall/portforwarder for one port (the box itself) for all cameras involved. But that means network programming, again a headache, if you want to close it off against prying eyes.

Do not see a quick and dirty solution, and keep in mind: the more complex the solution, the harder to set up, protect and maintain. Sorry...
« Last Edit: April 02, 2011, 06:58:03 AM by Mackerel »
Logged

michale32086

  • Level 1 Member
  • *
  • Posts: 14
Re: Wanting To Stream 16 DCS-920s
« Reply #4 on: April 02, 2011, 07:57:31 AM »

Quote
Wow... Some headache you have created.

Glad to know I am not making a mountain out of a molehill..  :D

Quote
Question: Do you want to show the camera's apiece remotely, or could you use something like D-Viewcam remote LiveView, or Playback? Probably not, but I have to ask. I

What I want to do is give the client the ability to check on their business from anywhere over the Internet.  It would be ideal if I could set up a 4x4 TABLE setup that would stream the video all on one page...  But all the examples I gleaned from your posts dealt with single cameras..

Even getting them all on one page would still present me with the porting error, as you mentioned...

I am beginning to come around to the idea that putting all the cameras on the 10.1.xxx.xxx subnet might actually be the best way to proceed..

Thanx for the replies and the help...

Michale
Logged

Mackerel

  • Level 3 Member
  • ***
  • Posts: 348
Re: Wanting To Stream 16 DCS-920s
« Reply #5 on: April 03, 2011, 08:32:59 PM »

My table-handling, and rows can be added, resized was as follows:

<html>
    <body>
   <table border=0 >
   <tr>
   <td align="center">
            <APPLET name="cvcs" CODEBASE="http://.../" CODE="xplug.class" WIDTH=640 HEIGHT=480>
                <param name="RemotePort" value=80>
                <param name="Timeout" value=5000>
                <param name="RotateAngle" value=0>
                <param name="PreviewFrameRate" value=2>
                <param name="DeviceSerialNo" value=".......">
            </APPLET>
   </td>
   <td align="center">
            <APPLET name="cvcs" CODEBASE="http://.../" CODE="xplug.class" WIDTH=640 HEIGHT=480>
                <param name="RemotePort" value=80>
                <param name="Timeout" value=5000>
                <param name="RotateAngle" value=0>
                <param name="PreviewFrameRate" value=2>
                <param name="DeviceSerialNo" value="......">
            </APPLET>
   </td>
   </tr>
   </table>
    </body>
</html>

But you had that part working already... Still port-forwarding from 2 subnets looks like the hardest part, so making them all into one is best. But you still need something to simplify the setup, so you can move/extend it. That is almost as hard is the multi-subnet...
Logged

michale32086

  • Level 1 Member
  • *
  • Posts: 14
Re: Wanting To Stream 16 DCS-920s
« Reply #6 on: April 04, 2011, 04:30:10 AM »

Yea, that's the code that got me started..  But then I decided on using Layers and went with another code..

<div style="position: absolute; width: 43px; height: 26px; z-index: 1; left: 266px; top: 502px" id="layer1" onclick="FP_openNewWindow('660', '500', false, false, false, false, false, false, 'EastEntranceSouth', /*href*/'http://192.168.182.xxx/video/mjpg.cgi?profileid=3')">
&nbsp;</div>


But this produces another problem that I just finally quantified...

First off, there is still the port forwarding issue...

But, even when I am on the Local subnet, there is also, what I believe is, an authentication issue..

This code opens up a web browser/window and displays the video at 192.168.182.xxx   

But it won't actually display the video until I visit the D-Link page and "login"..  Then I can go back to the other page, click on the layer and it will display the video properly...

I also tried the http://user:password@192.168.182.xxx  but then I get a box that says:

You are about to log in to the site "192.168.182.xxx" with the username "user", but the website does not require authentication. This may be an attempt to trick you.

Is "192.168.182.xxx" the site you want to visit?


But even when I click on YES, it still won't display the video until I vist the D-Link web page for that particular DCS-920 and "login"...

Long story short (too late!  :D)  I think I might have to ditch layers all together and go back to incorporating your code into the setup..

Back to the drawing board, as they say...   :'(

Michale
Logged

michale32086

  • Level 1 Member
  • *
  • Posts: 14
Re: Wanting To Stream 16 DCS-920s
« Reply #7 on: April 04, 2011, 04:50:16 AM »

Another problem that I had run into is the size..

I now recall that this was the main reason I went with layers instead of your table code..

The Setup on the D-Link page for each 920 has the resolution set at 640x480.  This allows maximum clarity with the security monitoring software I am using...

Security Monitor Pro
http://www.deskshare.com/video-surveillance-software.aspx

Sample of our setup:

http://mfccfl.us/temp/sjfm5.jpg

16 DCS-920s in all their splendor...  Pretty kewl, eh?  :D  That's an old configuration we had used.  Placements a lot different now, but you get the idea... :D

Anyways, when I had initially used your code, I wanted to size it so the table I am creating looks similar to the SMP setup we have..

The problem is when I adjust the size of the table cell, it doesn't resize the entire picture, but rather just crops the image.  In other words, I am only seeing part of the image when I shrink the size of the table.

For me to be able to see smaller versions of the image/video, I have to resize it thru the 920 onboard web server.  But that then degrades the resolution of the image and the recording made by the security monitoring software...

You mentioned "some headache" before.  As you can see, it is that in spades!!  :D


Michale.....
Logged

michale32086

  • Level 1 Member
  • *
  • Posts: 14
Re: Wanting To Stream 16 DCS-920s
« Reply #8 on: April 04, 2011, 05:12:09 AM »

Sorry about the spewage, but the ideas are coming at me now fast and furious and experience tells me just to go with it..  :D

What about creating a single webpage with just one table of your code..  IE

   <td align="center">
            <APPLET name="cvcs" CODEBASE="http://.../" CODE="xplug.class" WIDTH=640 HEIGHT=480>
                <param name="RemotePort" value=80>
                <param name="Timeout" value=5000>
                <param name="RotateAngle" value=0>
                <param name="PreviewFrameRate" value=2>
                <param name="DeviceSerialNo" value=".......">
            </APPLET>
   </td>

Create 16 different web pages to correspond to each DCS-920...

Then, on the main index page I showed you, instead of sending the layered link to the /*href*/'http://192.168.182.xxx/video/mjpg.cgi?profileid=3 code, I simply send it to the corresponding web page. 

Viola'  :D

It won't solve the Port Forwarding issue, but it will display each camera when one clicks on the graphic link on the index.html page

As far as the port forwarding goes, I think I am just going to have to knuckle down and put everything on the 10.1.xxx.xxx subnet..   :o  NOT looking forward to THAT I can tell you!  :D

I'll let you know how this pans out.  :D

Michale
Logged

michale32086

  • Level 1 Member
  • *
  • Posts: 14
Re: Wanting To Stream 16 DCS-920s
« Reply #9 on: April 04, 2011, 05:27:40 AM »

OK, really good news...

The new code setup worked flawlessly on the Local subnet.  Just as I hoped it would..

But what was REALLY exciting is that, when I checked it remotely from out in the NET, it looked like it was going to work!  :D

I got the separate window open and it displayed the Java "busy" icon for a minute or so, but then I got a Java error...

Java Plug-in 1.6.0_24
Using JRE version 1.6.0_24-b07 Java HotSpot(TM) Client VM
User home directory = C:\Users\admin
----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
l:   dump classloader list
m:   print memory usage
o:   trigger logging
q:   hide console
r:   reload policy configuration
s:   dump system and deployment properties
t:   dump thread list
v:   dump thread stack
x:   clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------


load: class xplug.class not found.
java.lang.ClassNotFoundException: xplug.class
   at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
   at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
   at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
   at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
   at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
   at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Exception: java.lang.ClassNotFoundException: xplug.class


I guess that was to be expected as I didn't think the java code would solve the port forwarding issue.  But had me excited for a moment, I can tell you!  :D

OK, good..  At least the viewing problem is solved.  Barring any revelation based on that Java error message, my plan is to move the cameras and router grid to the 10.1.xxx.xxx subnet...

I couldn't have gotten anywhere without yer help, Mackerel! VERY much appreciated....  :D

Michale
Logged

michale32086

  • Level 1 Member
  • *
  • Posts: 14
Re: Wanting To Stream 16 DCS-920s
« Reply #10 on: April 12, 2011, 09:28:23 AM »

Hi Mackeral,

I wanted to revisit this issue as I have made some changes to my network...

I have put all the cameras on the 10.1.xxx.xxx subnet.  This allows me to open up ports on the Firewall and point those ports to the various 920s...

Where I am stuck, however, is how to integrate PORT info into your code that I settled upon..

I AM able to port the entire DCS web server to be viewed remotely..  But I just want the video streamed, not the whole web site/server.

Thanx in advance for any assistance you can render.

Michale
Logged

michale32086

  • Level 1 Member
  • *
  • Posts: 14
Re: Wanting To Stream 16 DCS-920s
« Reply #11 on: April 13, 2011, 03:17:15 PM »

Sorry about beating this dead horse, but I am so close I can taste it!!  :D

I have been doing some research on the JAVA error I am getting and the consensus seems to be that it's a server side error..

The server is not putting out the xplug.class properly..

So, this got me thinking..

Could this be an APACHE problem??

Michale

Logged

michale32086

  • Level 1 Member
  • *
  • Posts: 14
Re: Wanting To Stream 16 DCS-920s
« Reply #12 on: April 13, 2011, 03:24:30 PM »

SUCCESS!!!!!!!!!!!!!!    :D  :D

I had to add to the existing code to get the java to be viewed directly...

<FORM ACTION="/Jview.htm" METHOD="POST">
        <tr><td align="center">
          <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
          <tr>
            <td bgcolor=black><font color=white>EastSouthEntrance<BR></font></td>
            <td bgcolor=black align=right valign=top>&nbsp;&nbsp;<font color=white><SPAN ID="CurrentTime"></SPAN></font></td>
          </tr>
          <tr>

            <td colspan=2 align=center bgcolor="white">
              <APPLET name="cvcs" CODEBASE="http://173.12.139.82:2421/" CODE="xplug.class" WIDTH=640 HEIGHT=480>
              <param name="RemotePort" value=2421>
              <param name="Timeout" value=5000>
              <param name="RotateAngle" value=0>
              <param name="PreviewFrameRate" value=2>
              <param name="DeviceSerialNo" value="YWRtaW46">
              </APPLET>
            </td>

          </tr>
          </TABLE>
        </td></tr>

        </table>
      </div>
</form>


The FORM/ACTION had to be added..  Now all I need to do is set up the Port Forwarding for each Cam and I am golden!!!  :D

Wooot!!!!

Thanx again...  :D

Michale
Logged

Mackerel

  • Level 3 Member
  • ***
  • Posts: 348
Re: Wanting To Stream 16 DCS-920s
« Reply #13 on: April 13, 2011, 03:42:16 PM »

Happy that you solved it by yourself. All you needed was a sounding-board...
Logged

michale32086

  • Level 1 Member
  • *
  • Posts: 14
Re: Wanting To Stream 16 DCS-920s
« Reply #14 on: April 13, 2011, 03:55:59 PM »

Pretty much..  :D

I couldn't have done it without ya  :D 


Michale

Logged