Gimmie Java!

The HT Guys love their Starbucks. If you want to say thanks, a cup of joe will do just fine! Starbucks-Donate

Watch the Videos



Home Video Security Server DIY Review

From time time our listeners will do a feature on their personal setups. This is a feature written by Ed Stouffer outlining his video camera setup:

I began this adventure about 3 years ago when I bought my first IP cam to go with my Insteon Hub. I soon discovered that my “plan” wasn’t going to work as expected for 2 reasons: first, I bought an indoor camera and positioned it inside of a window in the garage to view the front porch – but at night, all I got was a ring of IR lights reflected from the glass, and second, anything beyond looking at the live view or configuring the camera wasn’t supported in the Insteon app.

First, I tried using the camera application in windows. This a standalone app which lets you configure a lot more than in the Insteon app. With it, you can send files to an ftp server or configure a stream, but getting push notifications was possible but painful, and once I got a second camera tedious. In this way, you’re making each camera responsible for sending info, etc. So, I began the search for software and for other camera options. First the cameras….

I really like the idea of PTZ – Pan, Tilt and Zoom. It would let me cover more, and some models allowed auto zoom and center due to local motion detection. You can also either do a patrol mode where the camera pans to different areas or with external software that moves from pre-defined preset to preset. I found a camera from FDT which did it all, had an outdoor waterproof rating (IP67) and didn’t break my wallet.

First lesson on outdoor cameras is they need power and a network connection. Many support wireless networking, but make sure you have a decent signal. For my first and second cameras, I did wireless and had indoor power nearby. I now had a fixed one and a PTZ. I installed a third over the garage door which would show the whole driveway and with a PTZ: how could it miss.  But I still needed software…. First the camera.

The install went OK. And by that I mean that the mounting was fine, but fishing a power connection around the garage door – open and closed – was a pain. Sadly that was much less of a pain than the networking. It turns out that having a large metal door, and a big metal spring that moves really wreaks havoc with a WiFi signal. When the garage door was closed, it worked pretty well. When the door was moving, not so much. When it was open, it was generally ok. But coupling with with PTZ and motion detection was even more challenging.


Back to the software: many of the most mature packages I found were for RF cameras. I guess given how long that technology has been around, I get that. Of these, most had an IP camera part, but after trying 3, none of them had a robust implementation for the IP camera part, and had a very small list of supported cameras. I started looking through reviews of ones built for IP cameras. They fell into 4 categories: multi-vendor versions with local storage, multi-vendor versions with cloud storage, single-vendor versions with local storage and single-vendor versions with cloud storage. And at the low end, they supported only 1 camera, which ruled out many. I wanted multi-vendor so I could choose what I thought were the best cameras and I didn’t want outdoor surveillance of my home stored in a cloud I couldn’t control. Lastly, I am pretty technical and can code in multiple languages, but I didn’t want to write code for this to work. I did want a smart phone interface, notifications and flexibility. I wanted my family to be able to look at the video and receive alerts without me being on-call support.

After reading reviews, I decided to try Blue Iris. They offered a 2 week free download, so I could see how my cameras worked and what the software could do. While I was hoping for Linux, this was Windows-based.  It supported the Insteon and FDT cameras with very little work. It did recording, motion detection, push alerts, email alerts and a whole lot more. The smartphone interface is via an embedded Apache web server, but it worked pretty well. $45 gets the multi camera version.


The next task was finding something it run it on. As this was meant to run all the time, it means a dedicated machine. Many years in tech taught me to not skimp on CPU or memory. I also wanted something small and quiet. Fans on the case, fans on the CPU and disk drives create the noise. I investigated the all-in-one NUC products from Intel. I found that once I got a fast CPU with memory and software and a disk, it was small but no bargain. I did want headless (no monitor, keyboard and mouse), small and quiet and I found it in a Thermaltake Suppressor F1 case. IT is a small cube and designed to be quiet. I also used a high quality SSD drive which is very quiet. I went with a 6 core AMD Ryzen CPU and 16GB of RAM – about twice the recommended CPU and memory. The amount of CPU and memory you need is a function of the number of cameras, the bitrate of them (720p HD, for example), how many recordings are done at once, whether you have notifications with video in use, and how many live displays you want. As of now, I have 4 live cameras with 3 more planned and it’s pretty hard on the CPU at times – more on this later. For headless operation, I installed NoMachine. It has clients for Windows, MAC and iPad, allowing me to log in as needed. I also added a UPS so the small server always runs.

Back to the cameras – now with Blue Iris. I started simply and added them and had 2 on a schedule to record for sunset to sunrise. I put a pinhole in the firewall for the web server and created a read only user for it, so worst case was someone could tap the streams but not control the server. I then started with PTZ on the garage cam. I first tried the automatic motion detection coupled with a patrol function. Horrid. If you pan too fast, the video is dizzying. I tried cranking up the bitrate, which helped, but once the garage door activated, it went bad fast.  First, the camera got an intermittent signal, which Blue Iris started texting me about. Second, the camera saw the associated motion and zoomed to the car or persons but it couldn’t be seen with the WiFi offline. So, by the time it was back online, all of the activity was missed. I cloud tell something was going on because the camera was offline, but this was not what I wanted at all.

The second attempt, I tried using preset locations and told Blue Iris to cycle them every 30 seconds. I liked this up to the point that the camera got flaky. Doing this over and over pushes a consumer camera and it managed to break a wire in the panning. I did have it repaired, but a big pain to take the camera down, ship it out, etc. So if PTZ like this wasn’t viable, what was?

In the end, I bought an Amcrest 4K fixed camera – no more panning and fancy zoom but the lense + the bitrate was good and it did the job. I configured Blue Iris to detect motion. You can define what part of the frame to look in, and the minimum amount of motion required to trigger the detect state. I do still have some WiFi issues but not often, as I upgraded to a Linksys Velop mesh network with 2 satellites during this time. I also configured Blue Iris to email me when motion is seen, including 2 still photos and a 30 second clip. Works well.

For my porch, I also have a push alert set up for motion plus email so I get notified when folks are at the door. Blue Iris supports watchdog schedules which check for signal drop, can reset a camera, and notify when issues arise.  Very helpful.

I will be trying PTZ again with a new camera with good WiFi. We shall see.

Tips for others?

As before, get the right server size. When I bring up Blue Iris on NoMachine, it spikes because of the 4 live camera views but I minimize it before exit and it usually runs below 50%. Also, get cameras with good reviews and beware of hacking via untrustworthy software. Figure out power and network before mounting a camera. Many now have POE – which can take power over an Ethernet cable – but if you haven’t bought a POE switch or a in-line injector, you probably can’t use that. Caulk around the cameras – a pool of water inside the camera enclosure will not help anyone and may be the end of your camera, not to mention what water inside a wall does. Also, try to anticipate angles and areas to cover. If you have a small area, one or two cameras may do well. Audio: some cameras have microphones, others have inputs for microphones and a small subset have no audio. You can set up most server software to archive or delete older files – a really good idea if you are doing recordings. Most cameras now support a flash card – some require it – and if it is used temporarily or permanently for recordings, get a plan to purge old data or it will stop working – I can assure you. You can do this on a budget, you can use a cloud service if you’re comfortable and avoid the server. Lastly, most home automation hubs have minimal video functions and they may work for you, but I’ve found it’s not robust enough for me.

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>