I recently decided to give the free version of XProtect a shot. It's free for up to 8 cameras, and I made the common false assumption that, being a commercial package, it would be "better."
I installed it once and let it find all of my cameras automatically. It's a home system, so they are all on the same subnet/vlan as my DVR server. It found all 5 cameras, but it assigned a different, and less capable, driver to one of them. All of the cameras are the same model.
I fought with the wrong driver issue for an hour or better, during which I came to the realization that documentation for XProtect was sparse where it counted. There are probably thousands of pages of documentation, but it's mostly either generic "this is what this feature does," or, the all too common in the commercial world, marketing embedded "this is how XProtect can integrate with insert-corporate-system-here." Blue Iris' official documentation is significantly better, and well beyond that, the web is full of helpful user content that walks through problem solutions, setups, and modifications of about any type you're likely to run in to. Next to none of those exist for XProtect. Blue Iris identified all of my cameras correctly and assigned the appropriate driver to expose full functionality.
The next, problem that I ran in to was when I wanted to rotate the image for one of my cameras. It's located in an area where my best coverage comes from using a wide angle camera and rotating the physical camera 90degrees. In Blue Iris, I simply rotate the image, and I get a correctly oriented view of the camera. This is not possible in XProtect unless the camera can rotate the image pre-stream (some can).
So, at this point, I'm looking at one camera in Cliffhanger mode (looks like people are walking up a cliff), and one camera that can no longer do face detection because it's using the wrong driver for no apparent reason, but I decide to move on to motion detection.
With Blue Iris, I do motion detection on the server, because it has a much better feature-set for tweaking and tuning than my cameras have (I have 5 IPC-HDW4431 of 2 variants. 2 wide angle and 2 standard). All of my cameras are outdoors, and I have significant tree coverage over a good portion of the property. This means a lot of shadows during sunlit hours. Even with Blue Iris, it was a small task to get my cameras tuned to catch motion that I am interested in and not tree shadows etc. After literally 2 long days of trying, I've come to the conclusion that it is not possible with XProtect. Three key features that Blue Iris has that make it possible for me to get motion detection working well here are shadow cancellation, minimum duration, and trigger settings based on schedules.
Shadow cancellation does exactly what it sounds like. It doesn't do an amazing job, but this is the kind of feature we don't expect to be perfect. It helps a little, and that goes a long way.
Minimum duration is huge. The way I assume it works, and the way it appears to work is it dictates how long the pixel changes must be present to trigger a motion event. I set mine to 0.3seconds and it goes a long way toward differentiating tree shadows from people in the image.
Schedule-based motion trigger settings allow me to have different settings under different lighting conditions (day/night). This is great for obvious reasons. To be fair, I never truly confirmed that XProtect doesn't allow me to change motion detection settings based on a schedule. I did dig at it for a good bit and it does have a scheduling feature that allows me to define daylight and dark hours. That can be tied to an event that will allow me to change "camera settings." However, the motion settings are separate from camera settings, and I never found a way to adjust those with an event/schedule. Blue Iris allows almost all (possibly all) settings to be adjusted by profile and all profiles can be triggered on a schedule.
XProtect has 3 things going for it. It looks nicer, it is very slightly less CPU intensive under similar settings, and it's free for up to 8 cameras.
XProtect may be fine for a very static environment, like indoors. However, grass in the wind and tree shadows will make it near impossible to get what I consider good motion detection performance.
While XProtect is professionally developed for commercial use, Blue Iris is personally developed by someone who seems to care about it.
I installed it once and let it find all of my cameras automatically. It's a home system, so they are all on the same subnet/vlan as my DVR server. It found all 5 cameras, but it assigned a different, and less capable, driver to one of them. All of the cameras are the same model.
I fought with the wrong driver issue for an hour or better, during which I came to the realization that documentation for XProtect was sparse where it counted. There are probably thousands of pages of documentation, but it's mostly either generic "this is what this feature does," or, the all too common in the commercial world, marketing embedded "this is how XProtect can integrate with insert-corporate-system-here." Blue Iris' official documentation is significantly better, and well beyond that, the web is full of helpful user content that walks through problem solutions, setups, and modifications of about any type you're likely to run in to. Next to none of those exist for XProtect. Blue Iris identified all of my cameras correctly and assigned the appropriate driver to expose full functionality.
The next, problem that I ran in to was when I wanted to rotate the image for one of my cameras. It's located in an area where my best coverage comes from using a wide angle camera and rotating the physical camera 90degrees. In Blue Iris, I simply rotate the image, and I get a correctly oriented view of the camera. This is not possible in XProtect unless the camera can rotate the image pre-stream (some can).
So, at this point, I'm looking at one camera in Cliffhanger mode (looks like people are walking up a cliff), and one camera that can no longer do face detection because it's using the wrong driver for no apparent reason, but I decide to move on to motion detection.
With Blue Iris, I do motion detection on the server, because it has a much better feature-set for tweaking and tuning than my cameras have (I have 5 IPC-HDW4431 of 2 variants. 2 wide angle and 2 standard). All of my cameras are outdoors, and I have significant tree coverage over a good portion of the property. This means a lot of shadows during sunlit hours. Even with Blue Iris, it was a small task to get my cameras tuned to catch motion that I am interested in and not tree shadows etc. After literally 2 long days of trying, I've come to the conclusion that it is not possible with XProtect. Three key features that Blue Iris has that make it possible for me to get motion detection working well here are shadow cancellation, minimum duration, and trigger settings based on schedules.
Shadow cancellation does exactly what it sounds like. It doesn't do an amazing job, but this is the kind of feature we don't expect to be perfect. It helps a little, and that goes a long way.
Minimum duration is huge. The way I assume it works, and the way it appears to work is it dictates how long the pixel changes must be present to trigger a motion event. I set mine to 0.3seconds and it goes a long way toward differentiating tree shadows from people in the image.
Schedule-based motion trigger settings allow me to have different settings under different lighting conditions (day/night). This is great for obvious reasons. To be fair, I never truly confirmed that XProtect doesn't allow me to change motion detection settings based on a schedule. I did dig at it for a good bit and it does have a scheduling feature that allows me to define daylight and dark hours. That can be tied to an event that will allow me to change "camera settings." However, the motion settings are separate from camera settings, and I never found a way to adjust those with an event/schedule. Blue Iris allows almost all (possibly all) settings to be adjusted by profile and all profiles can be triggered on a schedule.
XProtect has 3 things going for it. It looks nicer, it is very slightly less CPU intensive under similar settings, and it's free for up to 8 cameras.
XProtect may be fine for a very static environment, like indoors. However, grass in the wind and tree shadows will make it near impossible to get what I consider good motion detection performance.
While XProtect is professionally developed for commercial use, Blue Iris is personally developed by someone who seems to care about it.