SAFR systems require a license to operate.
SAFR licenses limit usage according to the following metrics:
Expiration date: The date when the SAFR license expires. After this date, SAFR software discontinues operation.
Max Feeds per Hour: Maximum number of video feeds that can be used at one time by the SAFR system. If you attempt to connect more video feeds than your license allows, the excess video feed connection attempts will all fail. Existing video feeds must be disconnected for a period of 1 hour before new video feeds are allowed to re-use the license.
Note: If a single camera is providing video feeds to 2 different Desktop Client instances, that counts as 2 video feeds for licensing purposes.
Max Faces: Maximum number of people that can be registered with the SAFR system's Person Directory. Attempting to add people above this limit results in an error.
Max Days Between Reports: The maximum elapsed time that can pass before the SAFR system must report its status to a SAFR License Server. To communicate with the SAFR License Server, your SAFR Server must be able to make connections to cv-instam.real on port 443. Your SAFR Server will discontinue operation if it's unable to reach the SAFR License Server after the specified time has elapsed. If you need to operate your SAFR system on a private network that isn't connected to the Internet, contact your SAFR account manager to acquire a special offline license.
Note: This metric is only applicable for on-premises deployments.
License limit metrics for your SAFR license can be found on the Status page of the Web Console.
In on-premises deployments, SAFR licenses are attached to your SAFR system's primary server. The following describes how the SAFR license is managed:
If your SAFR system doesn't have Internet connectivity, you still need to obtain & install a SAFR license for SAFR to work. If your SAFR Server is installed on a Windows machine, you can take advantage of the streamlined integrated offline licensing acquisition process. If, on the other hand, your SAFR Server is installed on a Linux or macOS machine, you'll need to do the more cumbersome manual offline licensing acquisition process. Windows users also have the option to do the manual process, in case they want a more manual process for some reason.
Windows only.
To obtain a SAFR license on an offline Windows SAFR Server, do the following.
The SAFR license has now been installed on your offline SAFR Server.
If your offline SAFR Server is installed on a Linux or macOS machine, do the following to obtain a SAFR license. Windowes users who want a more manual process for some reason can also get a SAFR license using this process.
On the machine that has SAFR Platform installed, run get-license-request.py.
On Windows:
C:\Program Files\RealNetworks\SAFR\bin\
)python get-license-request.py
On Linux:
sudo python /opt/RealNetworks/SAFR/bin/get-license-request.py
On macOS:
python /Library/RealNetworks/SAFR/bin/get-license-request.py
When prompted, enter the SAFR account name and password.
The script will attempt to read safrports.conf to communicate with CoVi. If safrports.conf can't be found, then the script will use the default port, 8080.
Running the script generates a file called safr_license_request.json in the same working directory as the script. Make sure to run the script in a directory that you have write access to.
usage: get-license-request.py [-h] [-n HOSTNAME] [-p PORT] [-q] [-v]
Generates a license request specific to your SAFR installation.
optional arguments:
-h, --help show this help message and exit
-n HOSTNAME, --hostname HOSTNAME
Host name to your SAFR installation.
-p PORT, --port PORT Port to your SAFR installation.
-q, --quiet Suppress output.
-v, --verbose Enable DEBUG logging.
Copy the newly generated safr_license_request.json file and the get-license.py script to the same folder on a machine that has Internet access and has Python 3.X installed. get-license.py can be found here:
C:\Program Files\RealNetworks\SAFR\bin\get-license.py
/opt/RealNetworks/SAFR/bin/get-license.py
/Library/RealNetworks/SAFR/bin/get-license.py
Run the get-license.py script.
On Windows:
python get-license.py
On Linux:
sudo python get-license.py
On macOS:
python get-license.py
Note: On a macOS machine you might receive an error message about being unable to load SSL root certificates. This is an issue with the way Python handles SSL certificates on Macs. More information about the issue can be found here. A workaround can be found here.
When prompted, enter the SAFR account name and password.
This will generate a file called safr_license.json in the current working directory. Be sure to execute in a directory that your user account has write access to.
usage: get-license.py [-h] [-p PATH] [-e ENV] [-q] [-v]
Gets a license from SAFR licensing servers.
optional arguments:
-h, --help show this help message and exit
-p PATH, --path PATH Path to license request file.
-e ENV, --env ENV License server environment to communicate with.
-q, --quiet Suppress output.
-v, --verbose Enable DEBUG logging.
Run insert-license.py to install the license onto your primary SAFR Server.
On Windows:
C:\Program Files\RealNetworks\SAFR\bin\
python insert-license.py
On Linux:
/opt/RealNetworks/SAFR/bin/
sudo python insert-license.py
On macOS:
/Library/RealNetworks/SAFR/bin/
python insert-license.py
When prompted, enter the SAFR account name and password.
The script will attempt to read safrports.conf to communicate with CoVi. If safrports.conf can't be found, then the script will use the default port, 8080.
usage: insert-license.py [-h] [-n HOSTNAME] [-p PORT] [-f FILE] [-q] [-v]
Inserts a license specific to your SAFR installation.
optional arguments:
-h, --help show this help message and exit
-n HOSTNAME, --hostname HOSTNAME
Host name to your SAFR installation.
-p PORT, --port PORT Port to your SAFR installation.
-f FILE, --file FILE Path to license file.
-q, --quiet Suppress output.
-v, --verbose Enable DEBUG logging.