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
Несколько серверов не должны писать один и тот же поток одновременно.