Bob's Adventures in Wireless and Video Headline Animator

Saturday, December 24, 2011

HauteSpot and Network Optix

For the last year or so we have been collaborating with Network Optix to create a network video processing solution that is simple to use, compact, cost effective and bleeding edge. This solution combines Network Optix software with HauteSpot microNVR and WRAP hardware.

Network Optix is a software startup founded this year by Nathan Wheeler and Sergey Bystrov. I met Nathan and Sergey several years ago when they were working at Arecont Vision. Nathan was in charge of West Coast sales and Sergey was writing the software behind Arecont's products. Both are geniuses in their own right.

Nathan, a former Navy submariner, must have picked up a little atomic energy from the nuclear subs he served on, because it is really hard to keep up with his enthusiasm, excitement, and myriad of innovative ideas. Nathan not only can envision new ideas but he can make them practical and sell them.

Sergey is a software coding marvel unlike anyone else I have met. You can sit across the table from him, suggest a new product feature, and in minutes he will have coded, compiled and have running in the application not only your suggestion but additional extensions to your idea, all without breaking a sweat. His work is elegant, his understanding of complex video compression, processing, manipulation is unparalleled, and his focus is amazing.

EVE Media Player
Trinity Video Surveillance
The Networks Optix product set includes a multimedia client application named EVE for Extreme Video Environment (also named after Nathans year old daughter which is just darling), Trinity which is a "serverless" video surveillance system, and an upcoming client/server distributed video surveillance system. EVE was first announced in April last year and wowed users with its menuless, highly intuitive, user friendly, feature rich user interface.

Prior to ISC West in 2011 HauteSpot worked with Network Optix to port EVE onto our microNVR. Then we amazed show attendees with a demonstration of the microNVR running four 3 megapixel cameras and playing several dozen video files using the EVE media player. The video was in stunning 1080p High Definition and at full frame rate. The performance was excellent. ISC was a portend of things to come.

Much work has continued with HauteSpot updating the operating system build, driver set, and performance tuning the microNVR and Network Optix refining the performance of EVE, while also working on the development of Trinity and the new client server video processing architecture.

Nathan and I discussed our plans for product release and we agreed that we needed a demonstration system. So yesterday I drove down from San Luis Obispo to the Network Optix office in Burbank to set up our demonstration environment. I brought with me a HauteSpot WRAPSXC3E-N router and a microNVR.

Our plan was simple:

220 miles from Los Osos to Burbank
1. We have four cameras (Arecont, IQInvision, Axis, and Vivotek) all set up at our office in Los Osos (just outside San Luis Obispo). The cameras are connected to our WRAP wireless routers in a point to multipoint wireless network throughout and outside our office. The wireless camera network is connected to the Internet through a HauteSpot WRAPNXi router that supports VPN (Virtual Private Network) server and client capabilities. We also have a microNVR in Los Osos running Network Optix software for recording and transcoding.

2. In Burbank we set up the WRAPSXC3E-N router behind the SonicWall firewall router in the Network Optix office. The WRAPSXC3E-N automatically got a DHCP address from the SonicWall, it automatically configured itself for Internet connectivity, it automatically established a VPN tunnel connection to Los Osos, and the two networks (250 miles apart) were immediately connected as a layer 2 Ethernet network with a single IP broadcast domain. All by just plugging it into the network.

3. We set up the wireless interface of the WRAPSXC3E-N to be an access point for the new demonstration network. Then we also created a virtual access point (VAP) for local access to the Network Optix office network, replacing the low power-short range wireless that they were receiving from the SonicWall.

4. Everything was secured, end to end with AES-256 encryption, SHA-1 authentication, ssl certificates, and complex pass phrases. This is important when tunneling over public networks. However the set up of a remote client router really required no user intervention at all.

microNVR and EVE displaying a AV5105 camera over VPN tunnel
5. Then we connected a microNVR over wireless to the local network in Burbank running EVE. It automatically discovered and started to stream the live video from the Arecont and IQInvision cameras in Los Osos, as if they were local. The Axis and Vivotek cameras still needed some configuration modifications (you can't get everything right the first time :( )

6. Then we went one step further and set up dial in access to the WRAPSXC3E-N so that remote PCs could access the network over the VPN. This was a little more complicated and involved requesting and installing server certificates on the WRAP, setting up the VPN server, and port forwarding on the SonicWall. But this is something you would probably only need to do once at your central monitoring location, not at all of your remote sites.

In conclusion, our demonstration system went up without a hitch, it completely self configured itself, discovered all of the networks, established a secure VPN tunnel linking the two offices, discovered and self configured all of the cameras and was up and recording in minutes.

This model could be easily adopted for provisioning of remote monitoring sites by service provider. We are working on making it even easier and more cost effective. We are really excited about getting the finishing touches on this configuration so we can broadly deploy it. VPN tunneling is essential for remote service delivery and we have it nailed.

Saturday, December 3, 2011

New Open System microNVR

Well, it has been two months since my last blog post. Time slips by so fast.

Over the last two months we have made some pretty significant progress on a lot of fronts.

microNVR Linux Version
The microNVR platform has received a couple of major upgrades. The first is a release of our first Linux OS build. This took a while as we spent a lot of time optimizing video drivers, wireless drivers, ethernet drivers, fixing ACPI, and getting the overall system tested and stable. The result is exceptional. The Linux OS has a similar look and feel to the MS Windows system build. The menus, the controls, the utilities available are all similar. Our hope was that customers who knew how to use MS Windows could easily learn how to use our Linux system.

Picking the Right Distribution
We tried to make the microNVR completely open and capable of supporting almost any application a customer wanted to use. In the surveillance market this is not what most vendors try to do. Most NVRs are closed and users are limited to the programs and functions that the manufacturer chooses to provide. On the HauteSpot microNVR the system is open and users can install whatever programs they wish. For this reason we wanted to be able to offer the widest possible selection of programs for installation, this means being able to install "packages" from a major Linux distribution like Fedora or Ubuntu.

The problem Fedora and Ubuntu distributions is that they are built for desktop systems and not targeted at performance on small systems. We decided to go with Ubuntu, which we believe has better end user design. Standard Ubuntu desktop uses a desktop manager (the program that provides the user interface) called Gnome. Gnome is very powerful and well supported, but it is a system resource hog. We replaced Gnome with a lighter weight product  that is faster and consumes fewer system resources, but still delivers all of the attractive and easy to use tools of Gnome.

The microNVR is able to access all of the programs from the Ubuntu Repository, which currently is more than 3000 applications. So if you are not happy with the applications that come pre-installed, you can always add your own. Although for most users, this will not be necessary.

Retaining Graphics Performance
In testing the video performance of the system we are able to decode and display 1920x1080 video at 30fps. At VGA resolution we can support over 300fps in decoding. So the microNVR is a very useful video client and, provided that the Video Management System (VMS) software can use the OpenGL drivers that route decode and encode functions to the Intel GMA 500 GPU, we can also handle transcoding and other functions needed for edge video processing. In most video surveillance applications you will just be piping the video stream right from the Ethernet port to disk and back out, without any need for transcoding, so we can handle under these conditions a lot of attached cameras.

Video Management Server Software
On top of this desktop and our optimized video and hardware drivers we wanted to run the best possible VMS software. In Linux there really are only two choices that we know of: Exacq Vision and ZoneMinder.

Fortunately, Exacq Vision is one of the best all around VMS solutions we have found, regardless of operating system, so we were very happy to run with that. We installed the Exacq Start server, which lets you run a single camera system for demonstration and test purposes. We also ran the Exacq Web Service which provides remote video management and control. The Exacq installation runs exceptionally well. In fact we think it runs better under Linux than Windows. The VMS can handle high demand cameras like Arecont AV8185 with no problem at all, and there is no problem remotely viewing the video using the Web Service.

For production systems you should purchase an appropriate camera license from Exacq. This can be from 1 to 12 cameras. While the microNVR can probably handle more cameras than this, provided no transcoding is involved, we don't recommend more than 12 cameras.

ZoneMinder is an open source VMS. It also runs well on the microNVR and provides a lot of features and functions, but is somewhat complex to configure and manage, when compared to Exacq. Also, as open source, there is no tech support department to call when you need help. Although the community support for ZoneMinder is pretty good.

To enable either of the VMS systems, all you need to do is log in and start the server processes using the Boot Up Manager GUI application. Can't be much easier than that.

Remote System Management
Since most installations of microNVRs are going to be in remote locations, where the microNVR will not be easily accessible, it has to have a very robust remote management capability. The first way to connect to the microNVR for management is using Virtual Network Computing (VNC). This gives you a full remote desktop as if you were locally attached with a monitor. This is very easy to use and gives you a nice GUI to configure everything with. But, VNC may not always work due to port forwarding restrictions or bandwidth limitations.

Both the Windows and Linux versions of the microNVR come with a Web Administrator interface. This powerful tool allows you to fully administrate the system from a web browser. The Web Administrator is easy to use and very fast. It even has an embedded Java VNC client so you can connect to the GUI desktop from within the Web Administrator if you like. From the web administrator you can install software, upgrade applications, start and stop system services, manage user accounts, transfer files and much more.

Connectivity Tools
Of course one of the most important aspects of the microNVR is its connectivity. Of course the microNVR comes with integrated 2.4GHz 802.11b/g/n MIMO and two 1Gbps Ethernet ports. But it also has 4 USB 2.0 ports which can be used for 3G and 4G modems. Users simply configure the modem using the graphic Network Manager application.

The microNVR Linux version comes pre-installed with a Dynamic DNS updater, a GUI firewall management application, and even full routing capabilities. It also has a DNS server, DHCP server, NTP server, OpenVPN client and server, StrongSWAN client and server and much more. All of the servers have simple to use GUI management applications or can be administered through the web administrator.

Capable Yet Simple
While this may all sound like a lot, the out of box experience with the microNVR Linux edition is very simple. We have learned a lot about customer experience, and making the microNVR easy to use is a top priority. Essentially the steps to configure the system are:

  • Connect up the network
  • Connect up the cameras
  • Power on the system
  • Log into the web administrator or use VNC 
  • Enable the VMS system of your choice (Exacq or ZoneMinder)
  • GO!!!
People who have not seen Linux recently should look at the microNVR Linux edition. It is really an excellent  solution that excels in many areas including performance, cost, reliability and remote management.