Server/Client DIY Home Surveillance

ptweasel

Ars Tribunus Militum
2,652
Subscriptor

I know this was for Drizzt, but throwing in my two cents.

I tried Shinobi quite a while ago and posted about it in this thread somewhere. I was really taken in by the screenshots and I'm pretty sure I used the word "sexy" at least once.

But, I would also put my linux capability at "above average" and far below expert. I'm posting from a linux desktop, and I have no problem compiling stuff. But, it seemed to me like Shinobi was too many separate things to be configured and get working together properly. First get all of the requirements set up (node.js, MariaDB, FFmpeg), then install Shinobi. Want motion detection? You need to install and configure Motion, which is separate project maintained by other people. (This may have changed. Back when I tried it, there was mention of using a built-in motion detection system)

I did actually get it up and running successfully, but I had problems with cameras disconnecting and not reconnecting, and I didn't care for the mobile UI. I prefer software that has actual apps tailored for mobile rather than an HTML5 website that supposedly resizes correctly. IME, they never do, and the mobile experience always seems inferior.

All of that said, it's been a while since I used it, so I don't want to dissuade anyone from trying.
 

Drizzt321

Ars Legatus Legionis
28,408
Subscriptor++
So paying a lot more attention to this now, I'm looking to add 3 or 4 IP cameras. Mostly along the back alley via PoE, give me and my neighbors (I'll give them remote view access) a bit of piece of mind to know what's going on out back there. Also for the nice older lady who lives up along the back, she can now keep an eye on the entire alley without having to look out her window! LOL

Anyways...started my search for software, ideally runs on FreeBSD/Linux (via virtual machine for linux), but I could run windows via VM as well if needed. For cameras, want something with the IR lights with reasonably good quality recording, and I think at least 1080p, although I'm less certain of that. I do have plenty of storage via RAIDZ2, and I'd like the option of being able to easily grab a section of video and dump that to a different file and upload. Remotely viewing via web/app is a nice to have, I think.

Something that I can integrate with Home Assistant would be nice as I'm going to build home automation with that (about to get started), but that's not a requirement.

If your initial thought is Linux/FreeBSD, and that's what you're comfortable with, then it sounds like ZoneMinder is what you want. It's been around forever and has a ton of users. It does everything you listed (remote viewer, access control, configurable recording, etc).

As for cameras, you have pretty much unlimited options. Here's the Hardware Compatibility List, but you're pretty well set with any respected name like Hikvision or Reolink.

[edit]Forgot to add that ZoneMinder appears to have Home Assistant integration

Wow, thanks! 99% sure from that I've found my software, but I'll definitely have that as my #1 test, as well as check out it's camera/hardware compatibility.
 

ptweasel

Ars Tribunus Militum
2,652
Subscriptor
I haven't updated this in a few months, so figured I'd post something.

I had switched from Luxriot to Blue Iris several months ago just to give it another try. I will say this about it:

Pros
  • It's definitely the most popular consumer-grade NVR software out there
  • Due to the above, it has a very active community on the ipcamtalk forums
  • The developer is pretty responsive and always adding new features
  • It's cheap for unlimited cameras. IIRC it's $49 for a perpetual license that allows as many cameras as your computer can handle
  • Free, mobile specific app that works well. That's a big deal for me. HTML5 websites disguised as a "mobile app" are a deal breaker for me. I access my cameras from my phone when I'm away, and those websites never actually scale very well.
Cons
  • The "console" can only be accessed from the computer that's running the server software. If you want to access the interface from multiple computers throughout your house or external locations, you have these options:
    • Web UI - It's really well done, but I still find it lacking. There's no timeline view, which I really prefer. Instead, you get a thumbnail for each video recording, and you have to hover your mouse over each one and watch a GIF style playback to see what was recorded.
    • Remote Desktop into the server. Not the greatest for looking at live HD video.
    • Pay for additional licenses for each computer that you want to use as a "monitor" and the setup seems complicated.

So, I guess my review is that I wouldn't tell anyone not to use BI5 if it meets their needs. It's definitely a solid piece of software.

That said, I decided to go back to Luxriot.

For anyone that hasn't read a lot of the thread, Luxriot Evo S is an enterprise-grade NVR solution (After typing that sentence, I realized it sounded like marketing speak. Nobody's paying me for any of the NVR stuff I post about, just FYI).

Evo S (note the 'S') is their Enterprise version that starts at a few hundred bucks and goes up to many thousands depending on the number of cameras. Like most enterprise NVR software, you have to pay for additional licenses for more cameras. For example, a 24 camera license is between $750 and $1000 for 2 years of updates, depending on where you purchase it.

But, if you're willing to put up with a few limitations (max of 9 cameras, no License Plate Recognition, no Facial Recognition, etc), then they offer a "Complimentary Edition" just called Luxriot Evo.

I had previously used it for a year or so before switching to Blue Iris, and I guess I just assumed that Luxriot would let me know when updates were available, or even auto-update. When I updated to the newest version of the Complimentary Edition, I noticed that a ton of stuff had been improved. Apparently, you have to manually download and install the latest version, and the only way to see what changed is to go to the download page for the Evo S version to see the change logs. The most recent version added a ton of stuff, including GPU hardware decoding.

Pros
  • It's free
  • You can install the monitoring console and admin console on any other computer you want. I run the server on a headless computer in a corner of my basement. Being able to pull up the monitor or admin console from my office or garage is a big plus.
  • The monitoring console is awesome.
  • The timeline view is also awesome. I can drag the timeline through an entire day in a few seconds, and see everything that happened on all cameras all synced together.

    Cons
  • Maybe a little steeper learning curve. But, once you figure out how it works (device -> channels -> streams), it's pretty easy
  • The android app isn't the greatest. I may email them about it and see if they respond.

So anyway, for anyone wanting to do Windows based DIY home security that's all on-premise and nothing cloud based, I'm all in with Luxriot at this point. It definitely seems more polished than anything else I've found.

[caveat]There are other super cool DIY on-premise solutions like Unifi and Synology, but my prerequisite is that I'm able to connect any camera I want through ONVIF or RTSP, not just certain camera brands.
 

w00key

Ars Praefectus
5,909
Subscriptor
Synology talks ONVIF just fine though? When a new Hikvision cam came out and it wasn't added yet, I just threw it on the generic template, works okay, but some vendor specific stuff is N/A then.

Unifi is a dumpster fire with their own software + hardware combo.


All the pro's listed for Luxriot seems to also apply to Synology - talks to every camera, has a nice timeline view, even has a timelapse feature if you want to squish a day down to a minute for a quick TLDW, and camera licenses are affordable, too bad the free version is only for 2 camera's.

The mobile apps are decent for iOS and Android, the Mac/PC clients are the full fat ones, but also works remotely even without port-forwarding via QuickConnect, but best is to port forward the ranges needed, but let QuickConnect do the dyndns part.


Not bad for a "almost no setup required" NVR. Install the package via the web ui, install a local app if you want, add camera's via ip + user + pw, done.
 

Carl10

Smack-Fu Master, in training
8
@ptweasel I was wondering what you were up to after your front yard collision! I was going to see if you have looked into TinyCam Pro. I use it to fill in for Luxriot mobile and combine with my inside Wyze cams. But I also just read about people that use the DVR and motion detection features and use it as their NVR. They run on and Android emulator on their home servers.

I am still using Luxriot and love a lot of things about it, but don't like that the monitor console can only be run on one machine (I assume that is still the case). It surprisingly sounds like BI has the same limitation of one monitor console per installation. That is very disappointing as I was considering switching to BI to have more than one monitor console (among other things). Another negative I just found out about BI was that updates stop after one year unless you pay the $30/year maintenance/support fee. So if an update happens in month 11 and you don't update by month 12 you can't update unless you pay. So it is misleading, but it is a subscription service for any update. Not a lot of money for all you get but the website sells it as ongoing premium support, not access to the update server.

I never had much luck with the Luxriot mobile app either. It would either lock up or not connect and I thought it was related to the one external connection limitation. That is when I found TinyCam and never tried again to make it work.

I never knew there were Luxriot updates but it is good to know there are upgrades waiting for me (-:

Probably the biggest plus for me using Luxriot is the negligible PC load. I thought Xprotect was minimal but I run 2 4MP and 4 2MP IP cameras 24/7 and the EVO monitor and my CPU load is between 5-10% on an i5-3570K with built in graphics on the motherboard. This allows me to run Homeseer and 12TB of storage all together without breaking a sweat. I know BI keeps improving its CPU load but what I have read it still isn't that good.

So when you talked about a WEB UI, you are talking about creating your own specific Web app?
 

ptweasel

Ars Tribunus Militum
2,652
Subscriptor
Synology talks ONVIF just fine though? When a new Hikvision cam came out and it wasn't added yet, I just threw it on the generic template, works okay, but some vendor specific stuff is N/A then.

I don't have any experience with Synology, but what I've seen of Surveillance Station looks really nice. But, I always tend to have at least one outdated but serviceable PC around that, even though it's way underpowered compared to a modern PC, is still overkill for a DIY NAS. Combine that with the fact that Windows 10 is basically free at this point and I haven't had any reason to buy dedicated NAS gear.

Unifi is a dumpster fire with their own software + hardware combo.

I also don't have any personal experience with Unifi. I had thought about it at one point, but between the lock-in and their total refusal to offer PTZ I never seriously considered it.

All the pro's listed for Luxriot seems to also apply to Synology - talks to every camera, has a nice timeline view, even has a timelapse feature if you want to squish a day down to a minute for a quick TLDW, and camera licenses are affordable, too bad the free version is only for 2 camera's.

Luxriot has generic ONVIF/MJPEG/RTSP support, timeline view, as well as timelapse. The biggest pro is that it's free. The 8 camera license for Synology (8 paid plus 2 free) is almost $400. I'll take a limit of 9 for $0 :)

The mobile apps are decent for iOS and Android, the Mac/PC clients are the full fat ones, but also works remotely even without port-forwarding via QuickConnect, but best is to port forward the ranges needed, but let QuickConnect do the dyndns part.

Just my personal opinion, but I just enable the VPN on my router. When I'm away, I connect OpenVPN and access the mobile apps as if I'm on my home LAN. No poking holes in the firewall.
 

ptweasel

Ars Tribunus Militum
2,652
Subscriptor
@ptweasel I was wondering what you were up to after your front yard collision!

Ha, thanks for asking. The beloved Jeep Cherokee Sport was taken by the insurance company to a salvage yard. My insurance company gave me a really good deal, even though it was a 1996, because the Chrysler 4.0L straight six is sought after by a lot of people. The rest of the Jeep was trashed, but someone will be really happy to get the engine with only 140,000 miles.

I was going to see if you have looked into TinyCam Pro. I use it to fill in for Luxriot mobile and combine with my inside Wyze cams. But I also just read about people that use the DVR and motion detection features and use it as their NVR. They run on and Android emulator on their home servers.

I know of TinyCam, but haven't used it in a long time. I've pretty much figured out all of my issues with the Luxriot apps now.

I am still using Luxriot and love a lot of things about it, but don't like that the monitor console can only be run on one machine (I assume that is still the case).

You can install the Luxriot monitor console and admin console on any machine you want. You just can't have the monitor open on more than one computer at a time. And, that doesn't apply to the mobile apps or the Web UI. For example, you can have the monitor console open on one computer while someone else has the web UI open or the mobile app.

It surprisingly sounds like BI has the same limitation of one monitor console per installation. That is very disappointing as I was considering switching to BI to have more than one monitor console (among other things).

BI only allows the console to run on the same computer as the server app. From what I've read, I think you can run the console on other machines, but you have to pay for additional licenses.

Another negative I just found out about BI was that updates stop after one year unless you pay the $30/year maintenance/support fee. So if an update happens in month 11 and you don't update by month 12 you can't update unless you pay. So it is misleading, but it is a subscription service for any update. Not a lot of money for all you get but the website sells it as ongoing premium support, not access to the update server.

Yeah, that seems to be pretty common. You pay a "one time license" fee, but only get access to updates for a year. I get it, they have to make money, and perpetual license doesn't pay them for continuing development. From the perspective of Blue Iris, I totally get it. He adds new features constantly and puts a lot of time into it, so it makes sense.

My guess about the complimentary version of Luxriot is that they're subsidizing all of the cost from the enterprise Evo S version. If someone really likes the free version, they're more likely to recommend the paid version where they work, etc.

Probably the biggest plus for me using Luxriot is the negligible PC load. I thought Xprotect was minimal but I run 2 4MP and 4 2MP IP cameras 24/7 and the EVO monitor and my CPU load is between 5-10% on an i5-3570K with built in graphics on the motherboard. This allows me to run Homeseer and 12TB of storage all together without breaking a sweat. I know BI keeps improving its CPU load but what I have read it still isn't that good.

I have Luxriot set to record all 6 cameras continuously, but still with motion detection so I can see activity on the timeline view. I set it to a max of 3.5TB on a 4TB drive and I am currently getting about 15 days of recording.

So when you talked about a WEB UI, you are talking about creating your own specific Web app?

Not sure what you mean. In BI or Luxriot?
 

sauth

Ars Scholae Palatinae
1,138
After some basic apartment setups using iSpy (and a few other things over the years) and cheap cameras, it's time to do something a bit more permanent, so I'll be playing around with software options again as a fall/winter project. I won't be doing anything interesting as far as the surveillance/motion detection/etc end goes, but I'm planning to do some time lapse generation, mostly for gardening/plants. Between the time ranges and levels of granularity I'll want to play with (seasons eventually going into years, so I'll want the raw data just to ensure it doesn't go poof in a reboot/server software update/etc, trying different speeds, etc) and other specificity I'm interested in (framegrabs at solar noon to avoid the whole DST issue), I'm guessing I'll be building most of that short of the actual assembly into a video (which I'd be shocked if there wasn't a good automated option for once you have a sequence of stills, but I do need to check.) Remains to be seen if the server software for that would even be useful on the time lapse end, I guess. As long as I can find something where I can trigger a still image capture, at least it'd be handling the camera communication, authentication, etc.

Physically installing the cameras will be a separate adventure and more outside of my comfort zone (specifically the home DIY stuff, i.e. running cables properly), but I'm reading/researching up on everything before I start putting holes anywhere. I may need to add an attic crawlspace access door for cabling the front yard camera (the attic was finished off as the master bedroom, and not all of the attic crawlspace is actually accessible currently), and the back half of the house is all an extension (I assume) with no basement or crawlspace. I can get within 20 feet running cable through the walls, but I may end up running some indoors surface cable to even get to the right corner, much less outside to the camera.
 

Carl10

Smack-Fu Master, in training
8
@ptweasel - I was getting the WEB UI confused between the web interface provided by the software provider and the idea of you making a custom Chrome web interface or WEB UI.

BI only allows the console to run on the same computer as the server app. From what I've read, I think you can run the console on other machines, but you have to pay for additional licenses.

Where do you see this? I can't find anywhere on the site to purchase these additional licenses or that any such limitation even existed (yet another surprise cost). But then I can't even find a manual download.

The other thing I stumbled on with Luxriot is that it only allows video up to 2MP (with free version). Most of my cameras are only 2MP but I have a 3MP and have been looking at the 5&8's

I still have time before I push the boundaries of Luxriot, but I may have look else where when that time comes.
 

Drizzt321

Ars Legatus Legionis
28,408
Subscriptor++
So been having some trouble with some homeless in the alley lately, guess it's time to get some surveillance going. I think I'll give https://shinobi.video a try, since it can run directly on FreeBSD, no need for a VM or fiddling with that. Once my CPU gets back from RMA, was affected by the Ryzen Marginality bug common in early Ryzen CPUs. However, need a camera! Been poking around https://hub.shinobi.video/explore, and the HIKVision DS-2CD1023G0E-I seems solid, and not too pricey.

Any other suggestions? Needs to be 802.3af PoE, and obviously outdoor weather-proof, with the IR/night capabilities. Ideally with ONVIF and camera motion detection. Doesn't need to be PTZ, might be nice perhaps, but not needed at the moment.

Speaking of PoE and cat5e, was thinking I should buy some gel-filled cat5e such as https://smile.amazon.com/LinkedPro-Weatherproof-Waterproof-Network-Conductors/dp/B07YSZX1SV/. I might wait a bit on that, and just glue in the end connector, since my back gate is getting fixed up/moved in the near future, and I've got a current spool of regular cat5e.
 

ptweasel

Ars Tribunus Militum
2,652
Subscriptor
@ptweasel - I was getting the WEB UI confused between the web interface provided by the software provider and the idea of you making a custom Chrome web interface or WEB UI.

BI only allows the console to run on the same computer as the server app. From what I've read, I think you can run the console on other machines, but you have to pay for additional licenses.

Where do you see this? I can't find anywhere on the site to purchase these additional licenses or that any such limitation even existed (yet another surprise cost). But then I can't even find a manual download.

I'm sure it's somewhere in the BI5 documentation, but there's a lot to read through. That said, it's pretty well known on the ipcamtalk forums.

As for the manual, you can find a PDF version HERE, but the software gets updated frequently, so it's likely out of date. The actual current manual is accessed from within the software by selecting Help.

The other thing I stumbled on with Luxriot is that it only allows video up to 2MP (with free version). Most of my cameras are only 2MP but I have a 3MP and have been looking at the 5&8's

I still have time before I push the boundaries of Luxriot, but I may have look else where when that time comes.

I haven't seen a limitation anywhere on camera resolution, just the max of 9 cameras. I'm currently running a 4.1MP camera and it works just fine.
 

w00key

Ars Praefectus
5,909
Subscriptor
Any other suggestions? Needs to be 802.3af PoE, and obviously outdoor weather-proof, with the IR/night capabilities. Ideally with ONVIF and camera motion detection. Doesn't need to be PTZ, might be nice perhaps, but not needed at the moment.

Speaking of PoE and cat5e, was thinking I should buy some gel-filled cat5e such as https://smile.amazon.com/LinkedPro-Weatherproof-Waterproof-Network-Conductors/dp/B07YSZX1SV/. I might wait a bit on that, and just glue in the end connector, since my back gate is getting fixed up/moved in the near future, and I've got a current spool of regular cat5e.
I'm happy with our Hikvision cameras. I don't trust that firmware at all so it is fully firewalled from the internet, but the optics and codecs are great, H265+ really helps making the most out of limited storage / bandwidth, we have a bunch of people streaming 12 camera's live over the Internet @ 1080p@10fps. I don't transcode on the server, the Synology NAS would never manage that so the camera must have a quality codec, not MJPEG/H264@10Mb and leave it up to the PC to fix it.

All my Hikvisions are outdoor ready, cabling goes into a sealed junction box or the umbilical cord goes through the wall and gets connected there, no special outdoor termination required. Maybe if you run it unprotected for a distance, but I never bothered. I run structural cabling (solid core wire) -> toolless keystone -> patch cable to camera.
 

Carl10

Smack-Fu Master, in training
8
@ptweasel - You are correct about the functional resolution. I was recently looking in the manual and came across the "Edition Overview" and saw that the free version only supports streams of Full HD and lower. I hadn't paid attention and assumed I was at Full HD, but checked and have functional QHD! (The lower resolution may have been from earlier versions and the manual may not have been updated)
 

Drizzt321

Ars Legatus Legionis
28,408
Subscriptor++
Any other suggestions? Needs to be 802.3af PoE, and obviously outdoor weather-proof, with the IR/night capabilities. Ideally with ONVIF and camera motion detection. Doesn't need to be PTZ, might be nice perhaps, but not needed at the moment.

Speaking of PoE and cat5e, was thinking I should buy some gel-filled cat5e such as https://smile.amazon.com/LinkedPro-Weatherproof-Waterproof-Network-Conductors/dp/B07YSZX1SV/. I might wait a bit on that, and just glue in the end connector, since my back gate is getting fixed up/moved in the near future, and I've got a current spool of regular cat5e.
I'm happy with our Hikvision cameras. I don't trust that firmware at all so it is fully firewalled from the internet, but the optics and codecs are great, H265+ really helps making the most out of limited storage / bandwidth, we have a bunch of people streaming 12 camera's live over the Internet @ 1080p@10fps. I don't transcode on the server, the Synology NAS would never manage that so the camera must have a quality codec, not MJPEG/H264@10Mb and leave it up to the PC to fix it.

All my Hikvisions are outdoor ready, cabling goes into a sealed junction box or the umbilical cord goes through the wall and gets connected there, no special outdoor termination required. Maybe if you run it unprotected for a distance, but I never bothered. I run structural cabling (solid core wire) -> toolless keystone -> patch cable to camera.

Good to know, thanks. I was planning on VLANing them off. That's a whole project as well, to figure out FreeBSD VLAN setup works and such.

So I'm more worried about UV resistance, really. The cable I have is indoor cable, so not rated for exposure to much UV. For a short time, a few months, it's probably fine. But I bet it'll degrade somewhat quickly and don't want that to happen. Good to know Hikvisions are pretty solid, optics and codecs are some of the most important bits. I'd prefer not to transcode on the server, but I'm running (or will be when the RMA gets back...) a Ryzen 1700X or better (if they don't have any 1700X left without the Marginality bug), so some amount of transcoding probably is good, and I have plenty of RAIDZ2 storage for it. Definitely going to have to play with the motion detection stuff too. Although does the Hikvisions have camera motion detection, rather than have to do it on the server?
 

ptweasel

Ars Tribunus Militum
2,652
Subscriptor
So been having some trouble with some homeless in the alley lately, guess it's time to get some surveillance going. I think I'll give https://shinobi.video a try, since it can run directly on FreeBSD, no need for a VM or fiddling with that. Once my CPU gets back from RMA, was affected by the Ryzen Marginality bug common in early Ryzen CPUs.

I'm really interested in your experience with Shinobi, so I hope you'll keep us updated in this thread.
 

Drizzt321

Ars Legatus Legionis
28,408
Subscriptor++
So been having some trouble with some homeless in the alley lately, guess it's time to get some surveillance going. I think I'll give https://shinobi.video a try, since it can run directly on FreeBSD, no need for a VM or fiddling with that. Once my CPU gets back from RMA, was affected by the Ryzen Marginality bug common in early Ryzen CPUs.

I'm really interested in your experience with Shinobi, so I hope you'll keep us updated in this thread.

Will do! However it'll probably be at LEAST a week, probably more like 2-3. My CPU RMA is supposed to arrive there Wed according to the tracking, which is an improvement from the Friday originally shown. Still and all, it's going to take some time. Might as well order the camera while I'm at it though.

Although first, got the fanless mini-pc coming with Intel NICs, most likely going to put opnSense on it, and then straighten out my VLANs and routes between then. Also try and get the mDNS proxy and such running on it, to be able to further isolate some stuff.
 

sauth

Ars Scholae Palatinae
1,138
For my timelapse fiddling, wanting to stick with Windows for now, I played around with the APIs for BlueIris and Agent DVR. Luxriot has some kind of API but with no public documentation it went to the back of the list.

First impressions, Agent DVR's API options are a bit more rudimentary (including a lack of security/authentication by default), but more in line with what I want - something to deal with storing camera configuration and credentials and talk to them so I don't have to figure out ONVIF to get a current snapshot out of them on demand. You have to get the dimensions for the camera from it to then feed it back in to request an image of that size, but then you can just download that to wherever you like.

BlueIris' API options feel a lot more full-featured (and require authentication) but also more focused on just interacting with the BI software - there's a ton of stuff you can do within the software but just taking a snapshot was a pain to figure out and it'll save it wherever it's configured to save snapshots for that camera, so it's a bit harder to cleanly separate out the configuration.

My fileserver's CPU is a bit burdened dealing with cameras and BI does seem a little more efficient there, but between it being free and the API working better for me, I'll stick with Agent DVR for now - timelapses and having a live view are a lot more important to me than motion detection (especially these days), so I can figure that out later.

Using ffmpeg for the actual generation of video files from the source JPEGs, I got the best results (no obvious dropped frames) using MJPEG and -r to specify framerate (other codecs and/or the -vf fps= suggested in some places to avoid sometimes dropping the first frame resulted in a lot of random dropped frames for me instead.)

December will be my test month to figure out the fiddlier things like rebooting for patches, failure to connect to cameras, picking images near solar noon, etc. I'll probably just brute force a lot of that with image captures every 1-5 minutes, and do the logic of assembly after the fact. Storage is cheap, and nothing helps figuring out what to generate and how and if you actually even care like real data.
 

Drizzt321

Ars Legatus Legionis
28,408
Subscriptor++
Update on the previous, new CPU was in, but after a few weeks it started going wonky again. Many rounds of memtest proceeded, some errors in memtest86+ in SMT, but none in memtest86.com SMT. Ugh. Got new RAM in, giving that a whirl. If it makes it through the week I'll tentatively declare it good. Still need to get the vlan stuff worked out first :(
 

Xelas

Ars Praefectus
5,444
Subscriptor++
Honest question - why put up with the uncertainties of dealing with Hikvision, Dahua, and the other Chinese manufacturers? Why not find NDAA-compliant cameras and avoid dealing with that mess? Hanwa is a Korean brand that is NDAA compliant and not too expensive, and there are others. You would still want to VLAN the system off and restrict or outright block internet access, but at least you can be sure that the system isn't truly hostile or has chinese-quality firmware with hard-coded admin accounts, etc.
 

Drizzt321

Ars Legatus Legionis
28,408
Subscriptor++
Huh? Oh, that think Trump/etc have against China. Although I agree there may be some valid concern, IMO it's more likely for targeted/compromised in transit (like what NSA did with some cisco equipment enroute to China if I recall correctly).

That aside, even for NDAA compliant stuff I can't be sure there isn't stupidly hardcoded admin accounts. I don't think we can take it as a given for any consumer-level stuff (or even some enterprise stuff) doesn't have poor quality firmware, phone home, and hardcoded admin stuff these days.

As far as Hanwa... I'll take a look at them. Mostly I want Shinobi or similar compatibility. And without requiring any kind of cloud account/access/etc.
 

ptweasel

Ars Tribunus Militum
2,652
Subscriptor
For my timelapse fiddling, wanting to stick with Windows for now, I played around with the APIs for BlueIris and Agent DVR. Luxriot has some kind of API but with no public documentation it went to the back of the list.

First impressions, Agent DVR's API options are a bit more rudimentary (including a lack of security/authentication by default), but more in line with what I want - something to deal with storing camera configuration and credentials and talk to them so I don't have to figure out ONVIF to get a current snapshot out of them on demand. You have to get the dimensions for the camera from it to then feed it back in to request an image of that size, but then you can just download that to wherever you like.

BlueIris' API options feel a lot more full-featured (and require authentication) but also more focused on just interacting with the BI software - there's a ton of stuff you can do within the software but just taking a snapshot was a pain to figure out and it'll save it wherever it's configured to save snapshots for that camera, so it's a bit harder to cleanly separate out the configuration.

My fileserver's CPU is a bit burdened dealing with cameras and BI does seem a little more efficient there, but between it being free and the API working better for me, I'll stick with Agent DVR for now - timelapses and having a live view are a lot more important to me than motion detection (especially these days), so I can figure that out later.

Using ffmpeg for the actual generation of video files from the source JPEGs, I got the best results (no obvious dropped frames) using MJPEG and -r to specify framerate (other codecs and/or the -vf fps= suggested in some places to avoid sometimes dropping the first frame resulted in a lot of random dropped frames for me instead.)

December will be my test month to figure out the fiddlier things like rebooting for patches, failure to connect to cameras, picking images near solar noon, etc. I'll probably just brute force a lot of that with image captures every 1-5 minutes, and do the logic of assembly after the fact. Storage is cheap, and nothing helps figuring out what to generate and how and if you actually even care like real data.

If you're already using ffmpeg to generate the video from image caps, is there a reason you don't also just script ffmpeg (or avconv) to grab the images? It seems like the NVR software API is just adding complexity to the whole thing. You could have any NVR that suits your needs for live viewing and motion detection, and then a script that grabs images from the rtsp stream and compiles them at whatever interval you wanted.

Not saying I've done it myself, but just throwing it out there.
 

ptweasel

Ars Tribunus Militum
2,652
Subscriptor
Huh? Oh, that think Trump/etc have against China. Although I agree there may be some valid concern, IMO it's more likely for targeted/compromised in transit (like what NSA did with some cisco equipment enroute to China if I recall correctly).

That aside, even for NDAA compliant stuff I can't be sure there isn't stupidly hardcoded admin accounts. I don't think we can take it as a given for any consumer-level stuff (or even some enterprise stuff) doesn't have poor quality firmware, phone home, and hardcoded admin stuff these days.

As far as Hanwa... I'll take a look at them. Mostly I want Shinobi or similar compatibility. And without requiring any kind of cloud account/access/etc.

Yeah, I honestly don't really care about NDAA. If the Chinese government or some guy from Ukraine wants to watch me get my mail or bring in groceries, meh. I say that jokingly, as I understand the actual concern is someone using one of my cameras as an entry point to gain wider system access, but it's still not very high on my radar.

I use my router settings to block each camera from going outside the LAN and then use OpenVPN to access the NVR when I'm away from home.

With that sort of setup, the only thing I really care about at this point is proper ONVIF support and price.
 

sauth

Ars Scholae Palatinae
1,138
If you're already using ffmpeg to generate the video from image caps, is there a reason you don't also just script ffmpeg (or avconv) to grab the images? It seems like the NVR software API is just adding complexity to the whole thing. You could have any NVR that suits your needs for live viewing and motion detection, and then a script that grabs images from the rtsp stream and compiles them at whatever interval you wanted.

Not saying I've done it myself, but just throwing it out there.
Yep, I definitely over-complicated things - mostly as an excuse to build something and get some practical experience with some PowerShell module stuff I've been wanting to dig into. With 2-3 cameras that aren't weird/proprietary and don't change configurations, most of the other arguments are theoretical at best. Initially I was also designing it so that I could connect to either BlueIris or AgentDVR or anything else I implemented mostly seamlessly, but there didn't seem to be much of a point in continuing that (API feature sets/behavior were too disparate), and I wanted a full month's worth of data so I didn't want to keep fiddling with things for too long, either. So, yeah - over-complication due to boredom plus sudden self-imposed deadline of the end of the month leads to funky setups. Switching to RTSP probably makes more sense than anything else, I was thinking ONVIF before but that's a lingering idea from the early over-complication stage - easy solutions are so boring. ;)
 

ptweasel

Ars Tribunus Militum
2,652
Subscriptor
My understanding of ONVIF is that it's just a standardized way to query the devices for their capabilities. Something like ONVIF Device Manager allows you to query the camera for the rtsp stream, whether it has a substream, whether it has audio, etc. But, then you're still back at using the rtsp stream for whatever you want to do. ONVIF doesn't actually do anything other than help you find the correct connection string.

Unfortunately, in my experience, unless you're using certain brands of cameras, even ones that claim proper ONVIF support report profiles that are wildly out of spec. I have one no-name camera that ONVIF Device Manager works with, but none of the profiles it reports actually work. Fortunately, the iSpy database of user reported connection strings had one that works perfectly.
 

stevenkan

Ars Legatus Legionis
15,662
If you're already using ffmpeg to generate the video from image caps, is there a reason you don't also just script ffmpeg (or avconv) to grab the images? It seems like the NVR software API is just adding complexity to the whole thing. You could have any NVR that suits your needs for live viewing and motion detection, and then a script that grabs images from the rtsp stream and compiles them at whatever interval you wanted.

Not saying I've done it myself, but just throwing it out there.
Yep, I definitely over-complicated things - mostly as an excuse to build something and get some practical experience with some PowerShell module stuff I've been wanting to dig into. With 2-3 cameras that aren't weird/proprietary and don't change configurations, most of the other arguments are theoretical at best. Initially I was also designing it so that I could connect to either BlueIris or AgentDVR or anything else I implemented mostly seamlessly, but there didn't seem to be much of a point in continuing that (API feature sets/behavior were too disparate), and I wanted a full month's worth of data so I didn't want to keep fiddling with things for too long, either. So, yeah - over-complication due to boredom plus sudden self-imposed deadline of the end of the month leads to funky setups. Switching to RTSP probably makes more sense than anything else, I was thinking ONVIF before but that's a lingering idea from the early over-complication stage - easy solutions are so boring. ;)

For timelapse captures I use curl, as many IP cameras have a URL for grabbing a jpg, either via:

Code:
curl -o out.jpg "http://192.168.1.39/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=abcde&user=anonymous&password=password"

or

Code:
curl -o out.jpg --digest --user user:Password -O "http://192.168.1.45/cgi-bin/snapshot.cgi"

depending on the manufacturer of the camera. Put this in a loop or cron job, and Bob's your uncle.
 

stevenkan

Ars Legatus Legionis
15,662
Probably the biggest plus for me using Luxriot is the negligible PC load. I thought Xprotect was minimal but I run 2 4MP and 4 2MP IP cameras 24/7 and the EVO monitor and my CPU load is between 5-10% on an i5-3570K with built in graphics on the motherboard. This allows me to run Homeseer and 12TB of storage all together without breaking a sweat. I know BI keeps improving its CPU load but what I have read it still isn't that good.

I was just about to pay for BI license, but this might steer me back into trying out Luxriot. I have an HP Microserver Gen10 with an AMD X3418 Quad-Core CPU, and I was getting really high CPU utilization in BI with 9-10 cameras running. BI has some support for GPU decode, but it requires a bunch of manual fiddling and trial and error.

I also had trouble getting BI to save/record to a network share when I tried running it on a different PC and storing to the Microserver.

Does Luxriot automagically figure out what hardware exists and what it will support?

Also, regarding Luxriot's free edition, is it possible to run 2 instances of the free edition on 2 separate computers on the same LAN? I have more than 9 cameras, but they exist in 2 completely different sets that don't need to be coordinated. I have (or will have) ≤ 9 cameras that I use for home security, and then I have (or will have) ≤ 9 cameras that I use for bees, owls, and random wildlife.

Amazon has super-cheap used PCs with Intel Gen3 CPUs for almost the same as the cost of a Win10 Pro license. If they can do h.264 en/decode and store to a network share (e.g. the Microserver), then I could use one of these to run half of my cameras.
 

Xelas

Ars Praefectus
5,444
Subscriptor++
Also, regarding Luxriot's free edition, is it possible to run 2 instances of the free edition on 2 separate computers on the same LAN? I have more than 9 cameras, but they exist in 2 completely different sets that don't need to be coordinated. I have (or will have) ≤ 9 cameras that I use for home security, and then I have (or will have) ≤ 9 cameras that I use for bees, owls, and random wildlife.

If not, it should be trivial to just drop them on separate VLANs, and they will never see each other.

That refurb has an Ivy Bridge i5 CPU. It's pretty old. They also state that they replaced the drive with a "Brand New" SSD, but there are some REALLY crappy Chinese SSDs out there. In fact, one of the reviews states: "The SSD installed by the refurb people in this computer is probably one of the worst-rated on the planet. Slow and unreliable."

Some of the reviews also state that you may get a considerably slower CPU than the one they advertise.

I would spend a bit more and get something better if you can, and I would never use an Amazon refurb at all. I would not trust an Amazon reseller to do refurbs well.
 

stevenkan

Ars Legatus Legionis
15,662
Also, regarding Luxriot's free edition, is it possible to run 2 instances of the free edition on 2 separate computers on the same LAN? I have more than 9 cameras, but they exist in 2 completely different sets that don't need to be coordinated. I have (or will have) ≤ 9 cameras that I use for home security, and then I have (or will have) ≤ 9 cameras that I use for bees, owls, and random wildlife.

If not, it should be trivial to just drop them on separate VLANs, and they will never see each other.

True, but then I'll need to learn how to use VLANs :D. Probably long overdue anyway, given the number of devices on my network.
 

stevenkan

Ars Legatus Legionis
15,662
Probably the biggest plus for me using Luxriot is the negligible PC load. I thought Xprotect was minimal but I run 2 4MP and 4 2MP IP cameras 24/7 and the EVO monitor and my CPU load is between 5-10% on an i5-3570K with built in graphics on the motherboard. This allows me to run Homeseer and 12TB of storage all together without breaking a sweat. I know BI keeps improving its CPU load but what I have read it still isn't that good.

I was just about to pay for BI license, but this might steer me back into trying out Luxriot. I have an HP Microserver Gen10 with an AMD X3418 Quad-Core CPU, and I was getting really high CPU utilization in BI with 9-10 cameras running. BI has some support for GPU decode, but it requires a bunch of manual fiddling and trial and error.

And I just remembered that the "save direct to disc" (e.g. without decoding/transcoding) in BI was allegedly limited to the paid edition, and unsupported in the free trial, despite that option being selectable in the GUI :facepalm:

Do any of y'all BI users know if this is still true? e.g. will my CPU utilization magically drop once I drop $60 for a license?

Seems like a really weird limitation for a trial edition attempting to induce you to pay for a product.
 

ptweasel

Ars Tribunus Militum
2,652
Subscriptor
Sorry for breaking this up into pieces.

I was just about to pay for BI license, but this might steer me back into trying out Luxriot. I have an HP Microserver Gen10 with an AMD X3418 Quad-Core CPU, and I was getting really high CPU utilization in BI with 9-10 cameras running. BI has some support for GPU decode, but it requires a bunch of manual fiddling and trial and error.

GPU decode on the server side isn't doing anything. All you'd care about on the server side is CPU/GPU encode, but even then, unless you're using old cameras that don't output h.264 you shouldn't be seeing much in the way of CPU usage.

Back when I was using BI, I noticed that it was easy to miss the setting for that. It meant that cameras were outputting h.264 and then BI was re-encoding the video... to h.264. So all you're getting is reduced quality and CPU/GPU usage.

As long as you have BI set to use direct-to-disk (.BVR) for cameras that output h.264, you shouldn't see hardly any processor usage.

I also had trouble getting BI to save/record to a network share when I tried running it on a different PC and storing to the Microserver.

No real comment, as I haven't tried using a separate computer to store the recordings.

Does Luxriot automagically figure out what hardware exists and what it will support?

No, it relies on the user to set things up like BI.

Also, regarding Luxriot's free edition, is it possible to run 2 instances of the free edition on 2 separate computers on the same LAN? I have more than 9 cameras, but they exist in 2 completely different sets that don't need to be coordinated. I have (or will have) ≤ 9 cameras that I use for home security, and then I have (or will have) ≤ 9 cameras that I use for bees, owls, and random wildlife.

I don't see why not. It's a server/client set up.

That said, the "Complimentary Edition" of Luxriot does require you to request a license. It seems to be an automated process where you provide an email address. I would think it would be fine as long as you use a different email address for each server instance. I doubt they're doing any checking for people running more than one instance, but I could be wrong.

But, if it works, the client-side "viewer" is set up to work with multiple servers. For example, when I open up the viewer it shows a list of the servers I've added and I select the one I want to view.

Amazon has super-cheap used PCs with Intel Gen3 CPUs for almost the same as the cost of a Win10 Pro license. If they can do h.264 en/decode and store to a network share (e.g. the Microserver), then I could use one of these to run half of my cameras.

I think that's Ivy Bridge? If so, it supports Quick Sync encoding.
 

ptweasel

Ars Tribunus Militum
2,652
Subscriptor
Probably the biggest plus for me using Luxriot is the negligible PC load. I thought Xprotect was minimal but I run 2 4MP and 4 2MP IP cameras 24/7 and the EVO monitor and my CPU load is between 5-10% on an i5-3570K with built in graphics on the motherboard. This allows me to run Homeseer and 12TB of storage all together without breaking a sweat. I know BI keeps improving its CPU load but what I have read it still isn't that good.

I was just about to pay for BI license, but this might steer me back into trying out Luxriot. I have an HP Microserver Gen10 with an AMD X3418 Quad-Core CPU, and I was getting really high CPU utilization in BI with 9-10 cameras running. BI has some support for GPU decode, but it requires a bunch of manual fiddling and trial and error.

And I just remembered that the "save direct to disc" (e.g. without decoding/transcoding) in BI was allegedly limited to the paid edition, and unsupported in the free trial, despite that option being selectable in the GUI :facepalm:

Do any of y'all BI users know if this is still true? e.g. will my CPU utilization magically drop once I drop $60 for a license?

Seems like a really weird limitation for a trial edition attempting to induce you to pay for a product.

I don't remember the trial edition not allowing BVR the last time I used it.
 

ptweasel

Ars Tribunus Militum
2,652
Subscriptor
Not adding anything much to the thread, but wanted to post this so it will show up in search results for anyone else.

The client viewer app for Luxriot, Luxriot Monitor, will NOT run if you have certain screen overlay programs running like RivaTuner.

It took me forever to figure this out. Double-click the Luxriot Monitor app and I would get a half second spinning icon and then nothing. Event Viewer just shows a .NET app fault. Tried it on multiple computers with the same result. As soon as I killed MSI Afterburner, which uses RivaTuner for things like FPS overlay in games, it works fine.
 

stevenkan

Ars Legatus Legionis
15,662
Probably the biggest plus for me using Luxriot is the negligible PC load. I thought Xprotect was minimal but I run 2 4MP and 4 2MP IP cameras 24/7 and the EVO monitor and my CPU load is between 5-10% on an i5-3570K with built in graphics on the motherboard. This allows me to run Homeseer and 12TB of storage all together without breaking a sweat. I know BI keeps improving its CPU load but what I have read it still isn't that good.

I was just about to pay for BI license, but this might steer me back into trying out Luxriot. I have an HP Microserver Gen10 with an AMD X3418 Quad-Core CPU, and I was getting really high CPU utilization in BI with 9-10 cameras running. BI has some support for GPU decode, but it requires a bunch of manual fiddling and trial and error.

And I just remembered that the "save direct to disc" (e.g. without decoding/transcoding) in BI was allegedly limited to the paid edition, and unsupported in the free trial, despite that option being selectable in the GUI :facepalm:

Do any of y'all BI users know if this is still true? e.g. will my CPU utilization magically drop once I drop $60 for a license?

Seems like a really weird limitation for a trial edition attempting to induce you to pay for a product.

Here's a follow-up on this. Based on some discussion over on https://ipcamtalk.com, I bought myself a BI license and a $400 refribbed Core i7-6700 PC, including a Win10 Pro license, 16 GB, and a 512 GB SSD. I then added a $100 (at the time) external 4-bay USB drive bay, threw in a bunch of leftovers HDDs from the office, and set it up as a ReFS JBOD Storage Space.

It works pretty well, especially the web interface from any PC/Mac on the network. With 12 cameras saving direct-to-disk and QuickSync enabled for all, CPU usage is hovering around 18% if I'm just passively watching it. I currently have 9 of the cameras recording 24/7, and my rolling 7 days' worth of footage is taking up 3.78 of my 7.26 TiB (52%) of storage space on my Storage Space :D

I haven't set it up for iOS app access, but I'm going to spend the $12 and do that pretty soon.

Overall I will endorse this as a solution.
 

Scifigod

Ars Tribunus Angusticlavius
6,976
Subscriptor++
I know I'm necroing a pretty old thread, but v3 Wyze cameras that are super cheap and have really good image quality now have RTSP support and can be used with DIY setups.

https://support.wyze.com/hc/en-us/artic ... port-RTSP-
Oh that's awesome. I've got a couple of the V3's and being locked into their app was one of the things that made me hesitate to recommend them. Otherwise they are amazing little cameras, the night vision is incredible. At 3am on a cloudy night I can distinguish (in color!) my recycling bin and regular trash can at the end of my driveway.
 

ptweasel

Ars Tribunus Militum
2,652
Subscriptor
Keep in mind that the RTSP is beta and somewhat unsupported. Still useful, but be aware.

Seems to work fine here. The "generate link" button just generates a link like rtsp://username:password@192.168.1.31/live, so nothing crazy going on from that side. I was able to open it just fine in VLC, which is the usual test for whether it will work in any NVR that allows generic RTSP streams.

And, flashing the RTSP firmware doesn't change anything as far as still using the Wyze app if you want. The only thing I saw was that you shouldn't try to use RTSP and a paid Cam Plus subscription at the same time, as both at the same time may cause issues. If I'm using an NVR, I'll be using it for all motion detection, alerts, etc anyway so that doesn't seem to be a concern.
 

stevenkan

Ars Legatus Legionis
15,662