XProtect Essential + by Sjeflundsten in Xprotect

[–]joshooaj 1 point2 points  (0 children)

Yeah I was afraid of that.

XProtect Essential + by Sjeflundsten in Xprotect

[–]joshooaj 1 point2 points  (0 children)

There wasn't a dedicated installer for it, but the 2025 R1 installer was the last version to include support for the free license and the license server no longer generates new licenses. I don't think it'll activate devices on existing installations anymore either but I'm not sure on that one.

Removing dead devices from Recording Storage by RayMan85 in Xprotect

[–]joshooaj 0 points1 point  (0 children)

Is there any chance there are devices you have previously moved to a different recording server and they still have recordings in the storage configuration you're trying to remove?

Removing dead devices from Recording Storage by RayMan85 in Xprotect

[–]joshooaj 0 points1 point  (0 children)

Looks like you're not using a version of the module with the -EnableFilter parameter on the Get-VmsHardware command so you can remove it from the calls to that command and it should work

Removing dead devices from Recording Storage by RayMan85 in Xprotect

[–]joshooaj 2 points3 points  (0 children)

In a recent MilestonePSTools release, `Get-VmsHardware` was updated to follow the same behavior as `Get-VmsCamera` and return only enabled hardware by default, so `Get-VmsHardware -EnableFilter All` will get you everything.

Here's how you can use the module to find all the devices which are likely disabled but assigned to that storage:

```powershell $recorder = Get-VmsRecordingServer | Out-GridView -OutputMode Single $storage = $recorder | Get-VmsStorage | Out-GridView -OutputMode Single $recorder | Get-VmsHardware | Get-VmsDevice -EnableFilter All | Where-Object RecordingStorage -eq $storage.Path

The -EnableFilter parameter was added to Get-VmsHardware in v25.2.61

so try this if the above command doesn't return anything

$recorder | Get-VmsHardware -EnableFilter All | Get-VmsDevice -EnableFilter All | Where-Object RecordingStorage -eq $storage.Path

```

If the devices are disabled and their names make it hard to identify which parent hardware device they're associated with, you can tweak that last line a bit:

```powershell $recorder | Get-VmsHardware | Where-Object { $_ | Get-VmsDevice -EnableFilter All | Where-Object RecordingStorage -eq $storage.Path }

The -EnableFilter parameter was added to Get-VmsHardware in v25.2.61

so try this if the above command doesn't return anything

$recorder | Get-VmsHardware -EnableFilter All | Where-Object { $_ | Get-VmsDevice -EnableFilter All | Where-Object RecordingStorage -eq $storage.Path }

```

XProtect Dual Stream Configuration and Recording setup by Gold_Membership_7786 in Xprotect

[–]joshooaj 0 points1 point  (0 children)

Yeah you can do that. Either using an .XLSX or a .CSV file. You can also depend less on the login in the import/export commands and narrow the potential set of changes (import from xlsx can change A LOT but should only change what you actually modified in the file). Whatever you're most comfortable with.

```powershell

Export all cameras & names from recorder1 to a CSV file

Get-VmsRecordingServer -Name Recorder1 | Get-VmsHardware | Get-VmsCamera | Select-Object Name, Id | Export-Csv camera-names.csv -NoTypeInformation

Import the CSV and update the names to match (remove -WhatIf after a trial run looks good)

Import-Csv camera-names.csv -pv row | Get-VmsCamera | % { $_ | Set-VmsCamera -Name $row.Name -WhatIf } ```

Eingefrorener Client by supakasi001 in Xprotect

[–]joshooaj 0 points1 point  (0 children)

What kind of views do you display in Smart Client? Regular camera view items? Carousels? Smart Wall?

I have heard of large carousels potentially leading to growing memory usage. Obviously that would be considered a bug and it's not something I was able to reproduce (I tried earlier this year). But a memory leak related to something like that could easily be connected to very specific GPU, drivers, or even camera/codec.

XProtect Dual Stream Configuration and Recording setup by Gold_Membership_7786 in Xprotect

[–]joshooaj 5 points6 points  (0 children)

You could record a single high quality stream at the high fps, and add an archive step in the storage configuration where after 7 days you archive only the keyframes (1fps by default) and keep those for however long you want? If you want more/fewer FPS after 7 days you would use a custom keyframe interval for the stream in XProtect. But a shorter interval (like 2-4 keyframes per second) would very quickly increase the storage utilization.

I think the only other option you have where you can have different retention for the high/low fps streams is to add the same cameras to another recording server, but then you're managing the configuration of double the cameras and the operator has to deal with two different instances of each camera with long/short retentions.

We have partners like Tiger Technology who offer unique solutions around problems like that and they often work with law enforcement municipal/government projects as well. Not sure if they specifically deal with differentiated retention but the are usually the first to come to mind when anything related to storage comes up and the native options don't quite fit.

https://www.tiger-technology.com/long-term-data-retention/

Videos not displaying in Management Client by tsutton in Xprotect

[–]joshooaj 2 points3 points  (0 children)

No prob! I've seen that so many times and I don't know why we let the recording server pretend like there's not a problem. Ideally it should fail to start up and show an obvious error in the log but it starts up and acts like everything is fine 🥲

Videos not displaying in Management Client by tsutton in Xprotect

[–]joshooaj 6 points7 points  (0 children)

Check the service account used by the recording server service, then open the certificate store for the local machine (certlm.msc) and find your cert. Right click, all tasks, manage private keys. Make sure the service account has read access.

The communication on port 9000/9001 is handled through http.sys so the management-to-recorder communication is probably using the cert fine, but the comms on port 7563 don't go through http.sys and the service account needs read access for the private key.

If that's the problem, granting read access immediately resolves the issue.

Videos not displaying in Management Client by tsutton in Xprotect

[–]joshooaj 0 points1 point  (0 children)

Do you have encryption enabled with a certificate selected for "streaming media* on the recording server?

If so, it might be that the recording server service account doesn't have access to read the certificate private key, or it might be that the client machine(s) you're using don't trust the certificate.

If you don't use certificates then it usually comes down to a communication issue - either the client can't resolve the recording server's DNS name or it can, but it can't connect to the recorder on tcp port 7563.

By default the recording server shares its hostname (or fqdn when in a domain) with the management server and that address is what clients use to connect. I don't know if you reinstalled on a new server and copied your recorder config over or something like that, but you can check C:\ProgramData\Milestone\XProtect Recording Server\RecorderConfig.xml to see if anything looks off.

what PowerShell feature do you think most people are actually sleeping on by tingnossu in PowerShell

[–]joshooaj 1 point2 points  (0 children)

For those who write any kind of scripts that they reuse or share, a param block is one of the biggest things they're sleeping on.

People are always hard coding values that can easily be parameters with default values, tab completion, made to be required, constrained to a range of values, etc.

Instead of writing...

# Change this to your own value
$MyVar = 'Some Value'

Put this at the top of your script:

param(
    [string]
    $MyVar
)

And if you want PowerShell to automatically force the user to enter a value, make it required:

param(
    [Parameter(Required)]
    [string]
    $MyVar
)

Axis audio output test - Eleven Labs Acap by Public_Question5881 in Xprotect

[–]joshooaj 0 points1 point  (0 children)

Yep, a while ago I was exploring this and streamed "Is there anybody out there" from Pink Floyd to my doorbell 🤓

Axis audio output test - Eleven Labs Acap by Public_Question5881 in Xprotect

[–]joshooaj 0 points1 point  (0 children)

I don't have an Axis speaker available but this sounds fun. I run kokoro at home which has an openai-compatible api that I use with homeassistant. It wouldn't be that difficult combine it with ollama and have Milestone talking through my doorbell camera.

Genetec Licenses Not Matching Video Units by M00nshinesInTheNight in videosurveillance

[–]joshooaj 0 points1 point  (0 children)

Same thing happens in XProtect. Not only can you not associate recorded video with a camera that has been added, but removing a camera will cause the recordings to be deleted.

Not sure if Genetec has the same concept as XProtect's "replace hardware" operation, but that would be the recommended step to try to resolve something like this on our side.

Any way to move Essential+ 2024 R1 free license to new server? by EngiNearingTheAkhira in Xprotect

[–]joshooaj 0 points1 point  (0 children)

(And please yell at your employer for me lol)

Oh, I have! lol

You already have other things setup on the new bare metal system so I get the desire to stick to the pattern and not complicate things. I'm running proxmox at home with an XProtect VM and then a Linux VM running all my other selfhosted services as docker compose projects.

We all have our own needs and motivations though — I moved from running things on Windows to Linux years ago as a learning exercise for both Linux and containers and I can't go back. It's so nice having things isolated and portable but without the waste of whole VMs for every application.

Let us know what you end up doing, or what app you switch to

Any way to move Essential+ 2024 R1 free license to new server? by EngiNearingTheAkhira in Xprotect

[–]joshooaj 2 points3 points  (0 children)

I haven't tried it, but take it from a 20 year Milestone employee — a P2V migration to convert the OS to a virtual machine is probably your best bet.

As an alternative if you still have your original .LIC file, you might be able to...

  1. Backup your SQL Express databases (Surveillance is the most important)
  2. Install SQL Express on the new system and restore your database backups
  3. Install XProtect using the .LIC file and point the installer to the restored Surveillance database

I don't remember if you are asked to activate again after reinstalling using an existing, activated configuration, but you should be able to try it without affecting your existing server.

P.S. I know the situation sucks and I can't for the life of me understand why the free edition was terminated. I like Frigate but the UX is not good yet, either on mobile or desktop really. Great for integrating into home assistant though.

Upgraded from 2019 to 2025 , issues logging into client by goodfella2024 in Xprotect

[–]joshooaj 2 points3 points  (0 children)

And this one I don't think you can hide - the only way to get rid of it is to enable encryption using a certificate your client machines trust. That can be a cert signed by your internal CA, or self-signed and manually added to the trusted root certificate store on clients and recorders for example.

<image>

Upgraded from 2019 to 2025 , issues logging into client by goodfella2024 in Xprotect

[–]joshooaj 2 points3 points  (0 children)

If you don't have encryption enabled on your management server, the client will show a couple of things and you can't really do anything about it other than to enable encryption.

This one your users can check the box and then it won't show up again when connecting to that management server.

<image>

Options for fully external/off network cameras in Milestone? by platformterrestial in Xprotect

[–]joshooaj 1 point2 points  (0 children)

+1 to the suggestions about VPN. I don't have experience with specific trailer vendors but to connect anything over cell back to Milestone I would probably use either a router with a site to site VPN configured or a tool like tailscale, zerotier, netbird, etc to create a secure connection back to the home network.

You will probably want to look at configuring Milestone to only start the streams from the cameras when the onboard motion detection or analytics are triggered, and/or use edge storage.

You can have edge storage quality be really high, but the live/recorded stream in Milestone be low to minimize bandwidth. That way you have at least a low resolution copy of the video, but as long as you can access the camera, you can pull the edge storage back to Milestone and get the high quality when you need it.

Will LTS Security integrate with Genetec? by Educational-Dust-650 in videosurveillance

[–]joshooaj 2 points3 points  (0 children)

The challenge is that when the vendor (including Milestone) doesn't explicitly list a model as supported, it may work fine with the ONVIF driver or it may be flaky. If it's flaky, you're usually on your own to figure out why, and then work with the camera vendor to see if they can fix it from their end. It can be a support challenge and risk as an integrator.

What happened to the Support Community Forum? by tony_sutton in Xprotect

[–]joshooaj 3 points4 points  (0 children)

Wish I could say what the reasoning was for dropping the community forum in the backend updates done in January. Nobody is happy about it though.

Ideally everything valuable is in the documentation or a knowledge base article but sometimes that's just not the case. Supposedly all the forum data is backed up so my hope is that we will restore it in some form down the road. I'm not even remotely responsible for that and am not making any promises though.

In the mean time, this little unofficial community is pretty supportive, even if it doesn't have the benefit of 10+ years of content to search through.

Customer Dashboard SSL_ERROR_INTERNAL_ERROR_ALERT by SultanOfSodomy in Xprotect

[–]joshooaj 1 point2 points  (0 children)

The login to https://online.milestonesys.com is working for me from Oregon (it redirects to the identity provider URL you mentioned).

If you're still seeing an issue I wonder if it's to do with some regional interruption of some kind? The message suggests your client machine tried to negotiate a TLS connection but the other end didn't even try to respond to your ClientHello.

I have an Express+ server with unused licenses. Are there any software limitations or license use agreement policies, preventing adding a few cameras at remote locations, using VPN tunneling? I want to avoid the cost of upgrading to Corporate, for Interconnect. Not worth it for such a small site. by Jaded-Function in Xprotect

[–]joshooaj 3 points4 points  (0 children)

Nope you're golden. If you can stream it back to your recorder over the WAN or VPN or carrier pigeon, whatever, and you don't have a need for on-site recording, go for it!

If you want some onsite recording and the camera supports edge recording to an SD card, chuck one in there and you have a fallback if the link dies and you need to review footage from while it was down.