Replacing Zoneminder With Xeoma
This article may be used to obtain a Xeoma Standard 8 camera license for free through Felenasoft’s special offer program.
After evaluating a bunch of video systems over the past couple of weeks, however, I can honestly say that Xeoma seems to fit my requirements, and had the special offer from Felenasoft not existed I still would have purchase the Standard license and written this blog post anyway.
I’ve been using Zoneminder for my home security cameras for about 10 years now, and I think it’s time for a change. Zoneminder has always been pretty stable for me, but lately it’s been causing a lot of problems that I don’t have the time or the energy to deal with anymore.
At least once a day one or more cameras will cut out entirely. Sometimes the viewer will freeze and I’ll need to restart the web browser. Even though I’m using Zoneminder with an Authentication Hash, lately it’s been logging out the viewer every two hours.
As a temporary “fix”, I’ve set up a two hour repeating cronjob to restart the web browser to ensure it logs in again and fixes any freezing issues that have happened.
I’ve also had problems with the mobile app (ZMNinja) where sometimes the cameras just won’t appear until I’ve closed and reopened the app several times.
This is all on a relatively new system that I put together about 8 months ago for Zoneminder too by the way, so system resources are not an issue. Everything has been running fine up until the last 2-3 months, and with the latest issues I just don’t want to deal with it anymore.
Table of Contents
When I was younger I didn’t mind running complicated server and network setups in my home. Fixing things when things broke or weren’t working properly was part of the fun. But now I’m tired. I don’t want to spend time trying to figure out why something isn’t working anymore. Sure I’ll still do it if I have too, but I’m at the stage in my life where I want things to just work.
I’m also not stuck on “it has to be open source and free” anymore either. I have a job, I don’t mind paying for software if it (and the company) are decent.
I decided to start searching for replacements for Zoneminder a couple of weeks ago, and it’s been rough. The open source (or home use in general) landscape for a video surveillance system seems to be pretty barren. iSpy and Blue Iris both seemed like decent contenders, but I would rather a solution that I can run on top of Linux if possible. Both of those programs only run on Windows, so that led me to Shinobi.
Shinobi was probably the closest I found to a drop-in replacement for Zoneminder in terms of it being web based, open source, free, and running on Linux. I found configuration being pretty confusing though, with multiple options only appearing after other options were selected, but not all those options seemed to be consistent between my cameras.
It also seemed kinda buggy to me, with cameras freezing randomly and the built-in job to cleanup video files and keep the disk usage under 90% not working.
I think it has potential, and if I was in my early twenties again I’d probably replace Zoneminder with it. Currently though it seems like it’s cobbled together of multiple parts that I’m ultimately going to have to spend time fixing, which is not what I’m looking for anymore.
I know I “ruled” out Blue Iris because it was Windows only, but I was starting to think it might be my best hope so I was considering purchasing a Windows 10 license and just accepting my fate. What ultimately steered me away from it though was looking into the licensing model and reading this post on Reddit.
They don’t make it clear on their purchase page that buying the software without a subscription means that a) you don’t get any updates (even minor versions), and b) attempting to update to even a minor version (even though auto-update is turned on by default) will apparently kill your license and tell you that you’re running in evaluation mode.
I don’t know how true the anecdotes in that post are, but combined with needing to buy the software and buy a copy of Windows 10 for it that was enough to turn me off.
Further down in those comments though people had mentioned they were using a product called Xeoma. That was a software I wasn’t familiar with, so down the search rabbit hole I went again.
Xeoma is by Felenasoft and has been an option in the video surveillance software (VMS) game since at least 2011. They have a number of different versions, including a free license that allows unlimited sources and up to 3 modules in a chain (more on that later).
The deal-breaker on the free version for me is that “remote access” is not included with the free version. That means that I can’t have a display open on the dedicated monitor in my office, and I also can’t use the mobile app from my phone.
First off, this thing runs on damn near anything. Want to set up a Raspberry Pi as the main video server and not just a viewing client (though you can still use just a Raspberry Pi as a client too)? Go for it.
Hell take your pick. Run it on Windows, multiple distributions of Linux, ARM, MacOS X, etc. It’s quite impressive how cross platform it is.
Installation is super simple. For evaluation purposes I installed Ubuntu 20.04 Desktop in a VM so I could play around with it. Even though I’m using the “free version”, I haven’t activated it because I intend to buy the Xeoma Standard version.
Here’s what you do if you want to install it though:
- Download the version you want to install, in my case Xeoma 22.3.16 for Linux 64-bit.
- Untar the downloaded file
- Run “xeoma.app”
- The program is now running
- If you want to “install” it, choose install from the options menu and the program takes care of the rest.
I’m not going to go through all the features of Xeoma here, for that you can visit the features page, but I will point out a couple of things.
Functionality in Xeoma is provided by “modules”. There are modules for everything from the standard things you would expect to see in a VMS, such as motion detection, to premium modules (purchased separately) that could detect someone slipping or falling, or detect free parking spaces in a parking lot.
I’ll be just fine with the standard suite of modules, but I can see the use cases for this software being very diverse.
To add modules Xeoma uses a concept called “chaining”. Basically you drag and drop modules into a chain and connect them in the order you want the process flow to happen. Think of it like a flowchart. Processing through the chain starts at the beginning and moves through to the end.
You can create a simple chain like I have below, or complicated chains with multiple modules and paths.
I have to admit, configuring the chain confused me at first, but I think that’s because it’s meant to be simple. I find that the simpler things are, the more difficulty I have understanding how to use it. I had to get someone to show me how to use a Keurig machine because I couldn’t figure it out on my own.
All-In-One or Client/Server
Xeoma has a lot of flexibility in how you deploy it. You can use the application as is with the server and client all on one machine, which allows you to view the video sources on the “server” itself. This is great if you want to have a dedicated recorder/viewer box for your camera system.
If you want to view things remotely though, you can choose to either connect a client to the all-in-one setup, or you can use just the server by itself and manage (and view) everything from a client. This is a great way to run Xeoma on a non-GUI command line OS like Ubuntu Server.
Servers are licensed (or in the case of the free version “Activated”), but clients are always free. As long as you have a paid version that supports remote access you can use whatever and however many clients you like to access your system and view your video sources.
I’ve had Xeoma running in a temporary virtual machine for about a week and a half now (without many resources allocated to it), and after setting up the video sources I haven’t had to touch the system since. It’s just been sitting there doing its thing.
The video has kept working without cutting out, freezing, or otherwise messing up. Events and archived videos are happening and being cleaned up as expected. In the future aside from updating to newer versions I don’t think there’s much that I’ll need to actually do with the system after I initially set it up.
As you can see from the image below, it’s easy enough to view all four of my existing cameras at once, and the motion detection actively tracks motion in real time on the video viewer (it’s tracking the car coming down the road with the green bars).
Like I said I haven’t tried the remote access component yet because it’s not available with the free version, but I’m fairly sure it will be able to meet my requirements. I’m planning on replacing the Intel NUC that’s currently being used as a video viewer with a Raspberry Pi again so I can use the NUC elsewhere, and of course I want a mobile app on my phone (that I’ll access remotely through a VPN).
I’m really hoping that Xeoma will be the solution I’m looking for to extend my existing camera setup while also being stable enough that I don’t have to devote a lot of time to it in the future in terms of ongoing maintenance.
If you have any questions/comments please leave them below.
Thanks so much for reading ^‿^
If you enjoyed reading this article, please consider buying me a pizza slice!