Jump to content

Steve Evans

Members
  • Content Count

    23
  • Joined

  • Last visited

Community Reputation

0 Neutral
  1. Steve Evans

    Java client for AvTech DVRs

    My app is the java applet from the web page with an application wrapped around it to provide the buttons etc. It's not based on Video Server E, and it is entirely possible that Video Server E has broader support. That makes sense as the applet on which my application is based would normally only be run for my specific machine, and so should only be expected to support it, whereas Video Server E would need broader compatibility. Steve
  2. Steve Evans

    Java client for AvTech DVRs

    I wasn't aware that there was a new model. Is there a firmware upgrade or is it new hardware? Steve
  3. Steve Evans

    Java client for AvTech DVRs

    Cheers Mike. I've not tried Vista. It really ought to work; I'll take a look when I get the chance. Steve
  4. Steve Evans

    Java client for AvTech DVRs

    See http://www.megaupload.com/?d=YSR3GWPS for jar file containing source. I've tested it with 4 and 16 channels. For those who want a Mac app, the icon is in the Jar, so use the Jar bundler as described elsewhere in this thread. The app no longer prompts for login details - you need to enter those on the command line. Steve
  5. Steve Evans

    Java client for AvTech DVRs

    Having looked at the HTML source I browsed to http://:/application.jar on my DVR to download the applet. I then used the jad java decompiler, which is, I must say, very impressive. See http://www.kpdus.com/jad.html. I then needed to convert the applet to a java application, and this required writing the code to handle the button presses that would normally be handled by the browser. I didn't encounter any ActiveX nastiness, which is as well as I use a Mac!!!! Any suggestions as to the best way to get a cut of the source to those who might want a copy to play with? Steve
  6. Steve Evans

    Java client for AvTech DVRs

    The source code I have based my app on is the applet downloaded from my DVR760. This code contains support for a number of machines of two different basic types: The initial login looks like the following: Get /Login.cgi?Username=admin&Password=admin&Applet=1 HTTP/1.1 Accept: */* Accept-Language: zh-tw Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Host: 10.50.0.46 Connection: Keep-Alive HTTP/1.0 200 OK Content-Length: 122 Content-type: application/AV-TECH Video Server Server: AV-TECH AV787 Video Web Server Connection: close Session-ID=CA91911DE6534538C142E33EFA00D9;Firmware-Version=2020;Product-ID=783E;MAC-Address=000e53XXXXXX;Host-Name=AV732E; The client thus gets passed back a ProductID which is one of: 732E 783E 785E 787E 775W 777W 940C 940W I'm not sure what machines these actually correspond to, but the DVR760 reports itself as a 783E and proceeds on that basis. There seem to then be two basic second stage login processes, one for the 78x machines, and one for the others. I've not looked too much at the detail of the HTTP login process, but I'd not be at all surprised if the 780 has a different protocol again. Just grabbing the applet for the 780 machine, decompiling it, and then calling it from a Java app should work I'd have thought. I'm more than happy for folks to have the source for my port of my application. To be honest the whole thing is a bit untidy; the applet on which it is based mixed up processing and GUI threads horribly, so there are more threads trying to update the display than the main dispatch thread. This is why you may have noticed that the control buttons can sometimes take a while to appear when the application is first launched, and there could be other side effects. It would have been nice to just be able to download the applet from any given machine, and just put a wrapper around it to provide an application GUI framework, but it's not quite so clean. Steve
  7. Steve Evans

    Java client for AvTech DVRs

    PM me your email address and I'll send you something. Steve
  8. Steve Evans

    Java client for AvTech DVRs

    Sorry, Tim, I appreciate that unless you're a software engineer, or at least a hacker!, my last reply won't be very helpful. I've just taken a look at the web interface that my DVR spits out, and clearly the missing codes are there to see, but I don't know if they are necessarily correct for an 8 or 16 channel machine. If you have a 16 channel machine I can talk to over the net, I'll happily try these additional codes for you, and let you have the result. Steve
  9. Steve Evans

    Java client for AvTech DVRs

    Hi Tim, I have no way to test any DVR other than mine, but the basic operation of the app is to have the motion JPEG feed from the device displayed on the left, with buttons on the right, each of which is configured to send a specific code to the DVR when clicked. For example the following line of code causes the code 23 to be sent when '1' is clicked. cctvButtons.add(new CctvButton(cctvLayout, c, "1", 23)); It would be trivial to add additional codes, if known, but, like I say, I'm not able to do this without hardware to test against. I'm happy to let you have the source code, which you should find easy enough to modify according to your needs. Steve
  10. Steve Evans

    Java client for AvTech DVRs

    LOL! How's about that for timing!
  11. Steve Evans

    Java client for AvTech DVRs

    See the instructions for modifying the CCTV.app/Contents/Info.plist file to include an Arguments clause on page 1 of this post if you want to avoid running the Jar Bundler yourself. As I've already run it to create the CCTV.app, it's probably easier for you to click on the CCTV application, select Show Package Contents, and then perform the above edit to automatically connect to a given machine. You can even have multiple copies of the app (yeah, I know that doesn't scale well) to access more than one machine. Steve
  12. Steve Evans

    Java client for AvTech DVRs

    Option 1 is effectively there as the java application takes hostname, port, username and password from the command line. Using the Jar Bundler application from Apple's X-Code (under Developer/Applications/Utilities) you can create applications that will automatically invoke using your parameters of choice. This is how I run mine - a single click on the dock and I'm in. I can see the benefit of option 2, but to be honest, it's not something I really needed. If I revisit the app, I'll certainly look at revamping the control panel aspect of it. Steve
  13. Steve Evans

    Java client for AvTech DVRs

    .jad files are associated with mobile applications and are used to package up MIDlets. I have no experience of working with these, although I suspect that it would be possible to re-package the CCTV application. I'm not sure how much effort would be involved. See http://developers.sun.com/mobility/learn/midp/lifecycle/#jadsnjars for details. It looks as if the MIDlet simply uses requires the definition of a subclass of MIDlet to implement the main entry point interface. I'm afraid this isn't something I have time to look at in any depth at the moment (the wife thinks that fitting the new oak flooring in the lounge is more important!), but I can let you have a copy of the source to play around with yourself if you like. Steve
  14. Steve Evans

    Java client for AvTech DVRs

    The Mac OS X 10.5.4 update I've just installed appears to have fixed the issue with opening the directory browser interface using Firefox which is good news. I shall keep refining this application though, as it has certain advantages, including the potential to add network backup which I'll turn my attention to when I get time. Steve
  15. Steve Evans

    Java client for AvTech DVRs

    Hi Kiwi, Looking at the problem of aspect ratio I've had to dig deeper into the applet code on which this application is based. I've modified it so that the image aspect ratio is determined by that of the received images rather than by the fixed 642x554 ratio previously in use. The images returned by my ACV761 are 640x276 - so much for frame resolution of 720x576. No, the 276 isn't a mistake! This is clearly crude de-interlacing by requiring upscaling to 640x552! PM me with your email address and I'll send you a version to try that will hopefully preserve the aspect ratio. If it works for you I'll post it back for wider use. Cheers, Steve
×