Skip to content

DVR in a cloud

Storing archives in a cloud

Flussonic can record streams' archives to remote HTTP storages including Amazon S3 and OpenStack Storage (Swift).

Two methods of recording to cloud storage are supported:

  • A stream is recorded directly to the storage segment by segment (by default). In this case, the archive in the cloud is always up to date, but this can be expensive if the provider charges for each recording operation. In addition, simple S3-compatible services (for example, MinIO) may not be able to cope with such a large number of files, while for a service with just a several dozen channels and several days of recording we are talking about millions of files.
  • Recording in longer segments of one hour (use the copy option, see below). In this case, a local storage is required to accumulate recordings for the hour. This method reduces the operations of recording to the cloud and provides tolerance to short-term network failures because the hour-length fragment is transferred asynchronously.

Examples of configuration

To store a stream on Amazon S3, configure it like this:

stream chan1 {
  input fake://fake;
  dvr s3://minioadmin:minioadmin@minio:9001/test 10G;
}

To store a stream on Amazon S3 and enable access via HTTPS, configure it like this:

stream chan5 {
  input fake://fake;
  dvr s3s://minioadmin:minioadmin@minio:9001/test 10G;
}

To store a stream in OpenStack Storage (Swift), configure it like this:

stream chan2 {
  input copy://chan1;
  dvr swift://user=test:tester&password=testing@swift:8080/test 10G;
}

To store a stream in Akamai Storage, configure it like this:

stream chan3 {
  input copy://chan1;
  dvr akamai://keyName:keyValue@akamaihd.net/cpCode/dvr 10G;
}

Copying video archives to the cloud

The copy option helps significantly reduce the number of times that Flussonic accesses the disk on a cloud.

Flussonic first accumulates recorded video data on a local disk (in the specified directory). Then, once an hour, it moves the data to the cloud.

Specify the copy option like this:

stream chan4 {
  input copy://chan1;
  dvr /storage copy=s3://minioadmin:minioadmin@minio:9001/test 10G;
}

Recording to the network storage when a stream was migrated

The group of Flussonic servers can work with the same storage, keeping all records in one directory. When a stream migrates from one server to another, the new server will catch the recording made by the old server.

Flussonic completely transfers the configuration of the stream to the new server, and the archive will continue to work automatically.

Warning

Multiple servers must not record the same stream at the same time.