Skip to content

DVR в облаке

Хранение архива в облаке

Flussonic Media Server может писать видеоархив в HTTP хранилище, например, Amazon S3 или OpenStack Storage (Swift).

Поддерживается два способа записи в облачное хранилище:

  • Запись потока посегментно напрямую в облачное хранилище (по умолчанию). В таком случае архив в облаке всегда будет актуален, но это может стоить дорого, если провайдер тарифицирует каждую операцию записи. Кроме того, простые S3-совместимые сервисы (например, MinIO) могут не справиться с таким большим количеством файлов, а для сервиса с несколькими десятками каналов и несколькими днями записи уже счет идет на миллионы файлов.
  • Запись более длительными фрагментами длительностью один час (если используется параметр copy, см. ниже). В этом случае потребуется локальное хранилище, где будет накапливаться запись за этот час. Этот способ экономит операции записи в облачное хранилище и обеспечивает устойчивость к кратковременным проблемам с сетью, поскольку часовой фрагмент передается асинхронно.

Примеры конфигурации

Для записи на Amazon S3 необходимо сконфигурировать поток следующим образом:

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

Для записи на Amazon S3 и доступа по HTTPS, необходимо сконфигурировать поток так:

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

Для записи на OpenStack Storage (Swift) сконфигурируйте поток следующим образом:

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

Для записи на Akamai storage сконфигурируйте поток следующим образом:

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

Копирование архива в облако

Параметр copy позволяет значительно снизить количество обращений к диску при записи в облачное хранилище.

При использовании копирования Flussonic сначала записывает поток на локальный диск (в указанную директорию). Затем, каждый час, он переносит записанные данные в хранилище.

Указывать параметр copy нужно так:

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

Запись в сетевое хранилище при миграции потока

Группа серверов Flussonic может работать с одним сетевым хранилищем, при этом запись ведется в один каталог. При переносе потока с одного сервера на другой новый сервер будет подхватывать запись, сделанную старым.

Flussonic полностью перенесет конфигурацию потока на новый сервер, а архив продолжит работу автоматически.

Warning

Несколько серверов не должны писать один и тот же поток одновременно.