Jump to content
Sign in to follow this  
jasauders

Some recent thoughts... what say you?

Recommended Posts

Hope this doesn't come off in an annoying way to any users here who have been in this field for decades, but I kind of wanted to, well, randomly babble about my setup, my thoughts, and see if anybody has any suggestions that maybe I did not consider.

 

I'm a tech guy. Not a CCTV guy, not an A/V guy, but a tech guy. As a result, servers and networking are in my blood. I have a Linux based server in my basement running Ubuntu Server 12.04.4 64 bit. It runs a whole array of different things - file, backup, music/video streaming, ownCloud, etc. For the last year I've been running Motion with my cameras - two Vivotek IP8332 outdoor cameras and a single wifi camera indoors with a Foscam 8918 or something. This Foscam is simply a baby monitor, and when we go on vacation a living room watcher, but that's about it. Motion is an entirely daemon based utility for capturing camera feeds. It has no GUI utility. It has no web interface. It is a configuration file where you set your parameters, target_dir for saving the feeds, netcam_url for pulling in the streams, etc. And you know something? It works so reliably it's unreal. Despite months of uptime with my server, continual patching, updates, distribution upgrades, etc., it has never missed a beat.

 

The downside? It's MJPG only. Is that a bad thing? Well, not necessarily, I suppose it depends on what you're truly after. Now as I said, I am a tech guy, so it comes naturally that I'm sitting on a fat series of hard drives. At the moment I have a 3TB mirror, soon to be a 6TB RAID 6, and I'm sure after that I'll upgrade even more. This is inevitable regardless of what CCTV setup I am using. Motion also has no GUI. Now, I don't really care about a GUI in terms of camera management. What I care about is ease of accessibility and a means to view multiple streams. I plugged this gap by routing my target_dir (where the feeds are saved) to my RAID array, which is shared over the network via samba. As a result, I can stream my feeds from any computer that can tap into a standard file server. It's really not a bad setup and works very well. As far as the multiple view thing (as I said, no GUI), I rigged up a very simple custom HTML page. It's only a handful of lines, opens in Firefox and Chrome, and gives me no issues. There is zero management, but that's fine - I just need viewability.

 

<html>
<body bgcolor=000000>
<img src=http://192.168.1.20:5000/ border="0" width=49%></a>
<img src=http://192.168.1.20:6000/ border="0" width=49%></a>
<img src=http://192.168.1.20:7000/ border="0" width=49%></a>
</body>
</html>

 

Recently I've been looking at ZoneMinder. I've used ZM years ago and it was fantastic, but ZM has had an interesting thing happen. Development stopped, no new code was patched, and new cameras with new technologies and new software were released, therefore kicking ZM into a troublesome territory. There's good news, though! ZM has recently been overtaken by a series of new developers (man, isn't open source software great?), which have been doing fantastic work with it. ZM is a beast, so it's not an overnight thing. I spun up a test server last night but still had issues with ZM, however a new decently-sized release is on the near-future agenda.

 

In short, Motion is robust, reliable, MJPG only, no GUI, but thanks to samba file sharing and this mediocre web page, it works decently well. I'm sure to most of you, this wouldn't be an optimal setup, but for an absolutely free utility that works as well as it does, it's hard to argue. ZM in comparison is far more advanced, still MJPG only at the moment but with experimental RTSP streaming, but needs far more patching until it gets to where it needs to be for me to adopt it full time. Is it getting there? Yes. Very quickly. But we're kind of that hill climbing 4x4 that's 90% of the way up and beginning to spin out. Not there... just yet...

 

I stumbled across some software known as Xeoma in the Ubuntu Software Center, so I installed it on my laptop and checked it out. This software auto scans the network for H264 based streams. It also supports MJPG and MPEG4 streams as well. To my surprise, it picks up my cameras and brought them right into the montage view. Nice! Xeoma is proprietary software, which for an open source hippy like me is a little mehhh but in the name of having a working system, it's whatever. Even still, if I got an NVR - guess what - proprietary software there as well. Anyway, Xeoma has a very intuitive GUI, but it's equally frustrating to get used to. From what I understand based on the FAQ page I read, it sounds like Xeoma can be installed on a headless (no GUI) server, and the remote utility can be used to pipe into the server and work with the cameras from there. It seems easy enough to use. The masking (block out certain areas from being motion detected, i.e. a street) looks wonderfully easy. There is a price to this software after the trial period @ 20 dollars per camera. Once you hit the 4 camera mark, it's cheaper @ 60 bucks total. The software is hardware bound, so OS reinstalls won't kill the license. Only question there is... what if I build an entirely new server? That's a question for their support though. Xeoma, feature wise, looks pretty decent, and I definitely saw an improvement in terms of the H264 streams working. This made me wonder if moving towards an H264 based solution would be beneficial. I run a gigabit network with CAT6 wiring in my house, but like any other techie, I would love nothing more than to see more fluid feeds. MJPG is nice and all, but I'd be lying if I said I didn't notice a speed improvement with H264 without (to my naked 20/20 vision) sacrificing any video quality.

 

Then lastly, there's always the NVR option. I spoke to a user who used Vivotek NVR's, and they spoke rather negatively of it. This was offputting as I'm certainly not interested in spending a few hundred dollars to get an NVR that, based on user input, was rather lackluster. I understand Vivotek cameras can work with other NVRs, but there's always that "must read" list that says, Vivotek IP8332 works great with xyz features, but the IP8330 only works with x and y features. Meh.

 

I understand there are a few Linux based utilities out there, such as Blue Cherry and Blue Iris, but their pricing is... astounding. Xeoma is *far* more attractive for the price. Realistically speaking, I COULD always spin up a Windows box to act as a server, but I'm really not interested in that in the slightest. I'd likely just stick with Motion or try my luck with Xeoma before I'd buy a Windows license and spin up another box.

 

So anyway, that's it for my senseless babbling. If anybody out there has graciously invested the time to read this and has any sort of pointers, input, suggestions, or anything like that I'd love to hear it.

Share this post


Link to post
Share on other sites

Yep - that HTML file works fine. All it does is pull in the source of that video feed. It actually works quite nicely if ALL you want is a simple way to view active feeds. The 49% widths are nice too, as I can use that same file on my desktop with massive monitors or my laptop with a much smaller monitor and it'll scale accordingly since it's not bound to a specific resolution.

 

In the case of that example, what happens is I'm pulling the stream from Motion itself. You see, you can enable a webcam-view option within Motion. What's nice about this is I'm not duplicating the traffic coming from the camera. For example:

 

Motion server + me viewing direct stream from camera's individual IP = duplication of bandwidth

Motion server + me viewing stream from Motion = singular bandwidth from camera, feeds go to server, then get shot back out to the network for me to view. All this does is it ends up being a little less stressful for the cameras. 192.168.1.20 is the IP of the server, and each port is a port I specified in the thread (camera) files to the Motion configuration on the server.

 

But yes, all in all, it works fine if you literally don't want.... well... ANY other features or options.

 

My cameras were purchased about a year ago, and RTSP streams do indeed work fine. The double edged sword I'm running into is the available options that I would 'prefer' on Linux do not support this at all (or at best, experimental). That's why MJPG has been my pick. After all, it gets me out of buying an NVR, and works pretty okay otherwise... but lately I've just been wanting a more fluid setup... something that will be much smoother with playback, feeds, etc. Even at 10 FPS, these MJPG streams have their jerky moments.

Share this post


Link to post
Share on other sites

Well, I think I'll just keep using my current setup with Motion. Motion may not have a GUI, but all I really want out of a GUI is to view the live streams. That's accomplished easily by utilizing a custom HTML file. In fact, I even posted that info on their FAQ wiki in case it helps other users. The other thing Motion is missing is an easy flag in the config file to auto delete feeds over a certain age. There again, this is Linux, and you can manipulate so much with a simple command. There again, posted that on their FAQ wiki to help other users. With those two additions, it's a fully automated setup with a braindead simple viewable live stream.

 

The other curve ball is Motion is MJPG only. I still struggle with the MJPG and H264 debate. Last night I read a lot about the differences, but it sounds like the vast majority of H264 surveillance cameras utilize an H264 profile that is quite inferior in some ways, while only super high dollar ones utilize the nicer profile where H264 does show some benefits. It sounds like more than anything else, H264 is used as a buzz factor. That's not to detract from its benefits, but as long as it's being talked up with its lesser profile, it just sounds like a meh factor to me. Just my 0.02 though.

 

That being said, my server with both cameras at 20 FPS with MJPG enabled (1280x800) was only seeing about 5 MB/s of traffic, which is peanuts on a gigabit LAN. I bumped my FPS down to what I normally use, which to some users for home surveillance may seem like overkill, which is 10 FPS. It works. It does its job. It's incredibly reliable to the point I forget it's even running (that's how you know a tech product is good). It came in handy in October when two guys decided they would go through all of the unlocked cars in the neighborhood (forwarded those AVI's to the police), and also caught some punk kid stealing a bowl off my door step during Halloween. The fact that Motion does not utilize proprietary video formats (I cannot put into words how much that enrages me) is also a nice bonus as well. Just JPGs for image snapshots, AVI's for motion, and MPG's for 1 FPS 24/7 timelapses.

 

Sure, there are some downsides, but it really sounds like I'll be trading off some things for others unless I really scale up my price range... something I'm not overly interested in doing given the fact I do indeed have a working solution, which aside from the price of my server (which I would have gotten anyway) and the price of the cameras (again, would have gotten anyway with any CCTV setup) is... free.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×