How can I view the video camera stream from my DVR?

I have a HANBANG HB7008KC DVR. It comes with a Windows IE ActiveX software to view the cameras. They don't support Linux.

I have a Linux machine and i want to connect to the DVR. I use DvrSeeSee App for Android to view the DVR from my mobile.

So i guess if there is a generic Android App for viewing, there must be a Linux software to connect to it and see the cameras.

I tried MythTV and ZoneMinder. They are both a DVR replacement and not a DVR client and very hard to use and configure and i couldn't connect to my DVR.

Do you know a simple (like DvrSeeSee) client software for Linux to connect to a DVR, or another way I can monitor my cameras from Linux using my current DVR?


Solution 1:

This is one case where the easiest solution might be to use the Android emulator to run DvrSeeSee on your computer (or try out Android-x86), as that seems to be the only use-case I can find (outside of the Hanbang company itself) of this proprietary DVR implementation (and I stress proprietary because this is a common and well known problem with using these systems).

The second easiest solution would be to "roll your own" DVR/NVR, which is what I personally recommend, and would completely avoid using the built-in ActiveX controls provided by the proprietary Hanbang system (which is also why no documentation on the protocol exists). Hosting your own ZoneMinder system would also be compatible with the DvrSeeSee application, since connecting the cameras directly to a computer should allow you to grab the frames with little to no trouble at all.

If you're willing to "get your hands dirty" however, it may be possible to use the proprietary system as-is.


From the DvrSeeSee page on the Play Store, it makes a specific reference of supporting the Hanbang protocol. However, Hanbang seems to be a very obscure brand, and I see absolutely no mention of the protocol outside of DvrSeeSee's Play Store page, or even Hanbang's own website (only the ActiveX protocol is mentioned). Given the limited vendor support, I would not expect to find any third-party application that supports it "out of the box".

As noted in the ZoneMinder wiki, this is a common problem with many proprietary DVR systems:

For Network Cams to work they need to be able to stream MJPEG without the requirement of activex controls. If you see the requirement for the camera calls for IE then there is a good chance it may not work. The other option is to grab JPEG images if the camera supports that option which will work but at a lower frame rate.

From the manufacturer's specification page, the DVR appears to work with the Firefox & Chrome browsers as well. You may have some luck trying these browsers under Linux and connecting directly to the DVR itself (which incidentally is a Linux-based system itself). You might have some more luck, however, by reverse engineering the provided ActiveX control, as David Austin did with another propiretary camera (you can probably query the frames directly from the DVR given a properly formatted URL, which would also allow you to use ZoneMinder). This allowed him to grab the JPEG images directly with a "wrapper" written in Python (using the socket library).

Should you keep the proprietary Hanbang DVR, your best bet is to look into the ActiveX plugin they use, and determine if there is a generic web interface you can use under Linux. Hanbang is a relatively obscure brand, and when dealing with propiretary DVR hardware, this is a common problem (and is acknowledged/mentioned several times not only in the ZoneMinder wiki, but several other software-based DVR/NVR solutions).


TL,DR: Hanbang is a relatively obscure brand of DVR, and this is a common and well known problem with DVR/NVR monitoring programs. It's best to "roll your own" DVR/NVR system and use open-source (or at least open protocol/specification) software which provides a more generic interface to the video data. Should you stick with the proprietary DVR, unless you find a way to reverse engineer the protocol as the DvrSeeSee author did (given that's the only mention of the protocol I can find whatsoever), or reverse engineer the provided ActiveX control to obtain raw frames from the camera, this is simply not possible. As noted in several DVR/NVR software solutions, this is a common and well known problem.