License handling

Vidispine requires a valid license in order to run. The license controls how many items and storages may exist in the system, and controls which encoders and decoders are available when transcoding.

License keys can be obtained here: http://www.vidispine.com/license

How it works

The license is a physical file which must reside in the Java application server domain folder. The file is either called License.lic or slaveAuth.lic depending on if the licensing is standalone/master or a slave setup.

The Vidispine license is tied to your systems MAC address(es). For Cloud-based systems with non-persistent MAC-address allocation (such as Microsoft Azure), a master-slave license setup can be used to ensure proper licensing of a Cloud based Vidispine instance.

Standalone Vidispine transcoder nodes are licensed through the API and do not need a local license file.

License types

Development/test/demo license
This type of license allows for unlimited numbers of everything, for a certain period of time. All transcoded content will be watermarked.
Production license
This type of license will allow for a certain number of users, assets, storages, transcoders and codecs according to what’s purchased. Transcoded content will not be watermarked.
Deployment license
When installing Vidispine using the installer, a non-MAC bound deployment license will be installed. This license will allow you to verify that your system was properly installed. The license will allow for 2 users, 100 assets, 1 transcoder, 1 storage area, and encoding/decoding of all codecs supported by Vidispine. All transcoded content will be watermarked.

License errors

If the license file is missing or if you have exceeded the license limits, a HTTP response 402 Payment Required will be returned. Details on what limit(s) have been exceeded can be found from GET /version.

The response will also display the version numbers for the various installed Vidispine components.

Master-slave licensing

None

(Also called Cloud licensing)

This license model was introduced in order to license Vidispine instances running in environments with non-persistent MAC-address allocation, such as on virtual hosts, Microsoft Azure etc. The model allows you to set up your own license master to sublicense your Vidispine instances, i.e. slaves. Vidispine also offers a hosted master license service for such environments.

Note

The terms master and slave only refer to how the licensing is policed and has no relation to the actual role of your Vidispine instance.

Vidispine hosted license service

Vidispine offers a redundant online master license service for licensing of Vidispine systems in environments with non-persistent MAC-addresses. All you need is a slaveAuth.lic file for your server - contact us at license@vidispine.com for further information.

Connection to Vidispine master license service

The connection to the Vidispine master license service is done via HTTP and is tolerant to temporary error and outages.

If your infrastructure does not allow outbound HTTP connections, a proxy service can be used see slaveLicenseProxy. (New in 4.2.5.)

Configure your own master-slave setup

In order to set up your own license master, the master node(s) must reside on a server with a persistent MAC-address.

You need the following files:

  1. A master license key (License.lic) to license your master node.
  2. A slave license key (Slave.lic) to be installed on your master node (via the API) in order to allow slaves to connect to the master.
  3. A slave connection string file (slaveAuth.lic) on the slave node(s) in order for the slave(s) to find the master.

The master and slave licenses are paired together by the property MasterIdentifier, which needs to be equal in both files. The slave license and the slave connection string files are paired together by the property SlaveIdentifier, which needs to be identical in both files.

Your master node needs to run the full Vidispine middleware (API) to enable the license master service.

Contact us at license@vidispine.com to obtain a master & slave license key pair.

Install master license on master node

Copy the master license key License.lic to your Java application server domain root folder on the master node.

License validity and status can be seen in the response from GET /version.

Install slave license on master node

Copy the slave license key Slave.lic (corresponding to the master key) to a convenient location on the master node, such as the Java application server domain root folder (do not rename the slave license file to License.lic, as this will overwrite the master node license file).

Make a PUT /license/slave request on the master node to install the slave license:.

Example

Using GlassFish, if the slave license is called Slave.lic and is located in the domain root, the request should be:

$ curl -X PUT -uadmin:admin http://localhost:8080/API/license/slave?path=Slave.lic

Install slave connection string file on slave (manual)

Create a file named slaveAuth.lic containing the SlaveIdentifier and IP-numbers of your master node(s). Copy the file to your Java application server domain root folder on the slave node.

The SlaveIdentifier property value must be equal to the SlaveIdentifier value in your slave license key installed on the master. The MasterIP property value must equal the IP numbers or DNS addresses of your master node(s).

Example

SlaveIdentifier=your-slave-id
MasterIP=http://192.168.0.1:8080/, http://my.other.server:8080/

Multiple IPs (comma separated) are supported for redundancy. A slave will automatically fail over to the secondary master if the primary master goes down, and vice versa.

License validity and status can be seen from GET /version.

Install or update slave connection string (via the API)

The slave connection string can also be installed using PUT /APInoauth/license/auth-info. For example:

PUT /APInoauth/license/auth-info
Content-Type: application/xml

<SlaveAuthInfoDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <masterHost>http://192.168.0.1:8080/</masterHost>
  <masterHost>http://my.other.server:8080/</masterHost>
  <slaveId>your-slave-id</slaveId>
</SlaveAuthInfoDocument>

License validity and status can be seen from GET /version.

Slave management and monitoring

See Slave management and monitoring on how to manage and monitor the connected slaves.

Redundancy and timeouts

A heartbeat request is performed from the slaves towards the master every 60 seconds. A slave will automatically fail over to the secondary master if the primary master goes down, and vice versa. If the slave does not receive a valid license from any master within 180 minutes, the slave goes into read-only-mode and it’s entry will be deleted from the list of slaves on the masters. A request to GET /version on the slave will report “License status invalid”. The slave will go back to normal operation as soon as any of the masters become available again.