Документация на Flussonic Media Server

  1. Быстрый старт
  2. How-to
  3. Потоковое вещание
    1. Варианты источников
    2. Переключение источников
    3. Публикация на Flussonic
    4. Прием мультикаста
    5. Серверные плейлисты
    6. Микширование
    7. Захват с SDI
    8. Отправка на другие серверы
    9. Распознавание DVB субтитров
    10. Наложение логотипа
  4. Транскодер
    1. Логотип
    2. Hardware (Nvidia NVENC)
    3. Hardware (Intel Quick Sync Video)
    4. Скриншоты
    5. Мозаика
  5. DRM
    1. Simple CAS
    2. Conax DRM
    3. BuyDRM (KeyOS)
    4. Widevine
    5. PallyCon
    6. EzDRM
  6. Авторизация
    1. Конструктор бэкендов
    2. Сервис сбора статистики
    3. Domain lock
    4. Middleware
    5. Secure links
    6. Ограничение сессий
    7. Мультиавторизация
    8. Бан IP адресов
    9. DVR
    10. Aliaser
  7. API
    1. HTTP API
    2. Events API
    3. MySQL API
    4. SQL API для кластеров
    5. SNMP
  8. Кластер
    1. Ретрансляция
    2. Кластерный захват
    3. Балансировщик нагрузки
    4. Пиринг
    5. Организация CDN
  9. VOD
    1. Кэш
    2. Облако
    3. Транскодирование файлов
    4. Мультибитрейтный VOD из файлов
  10. DVR
    1. Настройка
    2. Timeshift
    3. Catchup
    4. Проигрывание
    5. Экспорт в MP4
    6. Доступ по протоколам
    7. Timelapse
    8. API
    9. Кластеризация DVR
    10. Репликация
    11. Облако
  11. Воспроизведение
    1. HLS
    2. embed.html
    3. HTML5 с низкой задержкой
    4. Плеер HTML5 с низкой задержкой
    5. MPEG-TS
    6. RTMP
    7. DASH
    8. HDS
    9. RTSP
    10. Multicast
    11. Multicast с постоянным битрейтом
    12. WebRTC
    13. H.265
  12. Администрирование
    1. Установка
    2. Обновление
    3. Конфигурация
    4. Мониторинг
    5. Производительность
    6. Лицензия
    7. LUA скрипты
    8. Безопасность
    9. Let's Encrypt
    10. Миграция
  13. IPTV
    1. Захват спутникового видео
    2. Транскодирование
    3. Middleware в IPTV OTT
    4. Экспорт EPG со спутника
    5. Группы каналов
    6. Реклама

Flussonic RAID

Flussonic RAID для DVR (beta версия) — это программный RAID-массив, который обеспечивает высокую надежность и удобство при записи видеоданных на десятки дисков. Flussonic RAID имеет существенные преимущества перед похожими решениями:

  • Нет необходимости покупать дорогой аппаратный RAID-контроллер, например, на 60 дисков. Все диски используются в режиме JBOD (Just a Bunch of Disks). Каждый диск нужно отформатировать отдельно и вмонтировать в систему в определенный каталог. После этого вы настраиваете Flussonic, и он начинает следить за их состоянием и самостоятельно распределять данные по ним.

  • Надежность: При сбое в работе какого-либо диска запись продолжится на другие диски в массиве. Может пострадать только часть данных, записанная на отказавший диск.

  • Непрерывная работа: Можно добавлять диски или удалять их из RAID прямо во время записи архива, и не требуется перезапуск Flussonic — изменения применятся сразу.

  • Автоматическая "бесшовная" миграция данных между дисками в RAID, что делает возможным, например, удалить все данные с какого-либо диска без прерывания работы с этим DVR архивом (записи или проигрывания).

  • Автоматическое распределение записываемых данных между дисками в RAID. Flussonic сам решает, на какой диск оптимальнее будет записать данные. Поток данных может быть больше, чем можно успеть записать на один диск за приемлемое время — поэтому Flussonic равномерно распределяет запись между дисками. А чтобы снизить затраты электроэнергии, можно ограничить число дисков, на которые одновременно может производиться запись.

  • Защита от записи в случае, если произошла ошибка с монтированием дисков. Такая защита предотвратит запись всех данных в корневой раздел.

Настройка программного массива дисков для Flussonic Media Server Anchor Anchor x2

Существующие архивы перенести в RAID нельзя, можно только начать запись заново. Чтобы начать работу с RAID, нужно сконфигурировать сервер, добавив настройки дискового массива (это по сути глобальные настройки DVR) и в потоках указать этот массив для записи архива.

Порядок настройки различается для Flussonic Watcher и для Flussonic Media Server.

Массив дисков для записи DVR создается на уровне операционной системы, когда вы монтируете диски, а затем весь массив управляется программно Flussonic-сервером.

Настройки массива — это глобальные настройки DVR. Flussonic позволяет задать эти настройки в конфигурационном файле /etc/flussonic/flussonic.conf.

Сначала зададим глобальные настройки массива, например:

dvr my_raid {
  root /dvr/_raid_;
  raid 0;
  metadata idx;

  disk d1;
  disk d2 keep;
  disk d3 migrate;
}

Затем в настройках потока укажем, что архив следует записывать в массив my_raid с глубиной семь дней:

stream channel5 {
  url tshttp://10.0.4.5:9000/streamname;
  dvr @my_raid 7d;
}

Поток примет глобальные настройки, указанные в настройках массива my_raid. Некоторые из них можно переопределить в настройках потока.

Пример с полным набором настроек

Дисковый массив имеет три вида настроек:

  • Глобальные настройки DVR массива
  • Настройки, которые можно переопределить в настройках отдельного потока
  • Параметры, управляющие процессом записи на диски.
dvr my_raid {
  root /dvr/_raid_;     # базовая директория
  raid 0;               # включить RAID
  active 2;             # вести запись на 2 диска
  metadata idx;         # где хранить кэш с метаданными
  no_index;             # не индексировать потоки
  limits 90% 3G 1d;     # ограничения на архивы потоков
  copy /opt/storage;    # делать копию в /opt/storage
  replicate port=2345;  # включить репликацию (указывать на рестримере)
  schedule 3-6,5-8,23-5;# когда производить запись

  disk d1;              # диск в обычном режиме записи (чтение и запись)
  disk d2 keep;         # не удалять данные
  disk d3 readonly;     # только чтение
  disk d4 abandon;      # не писать данные, можно удалять старое
  disk d5 migrate;      # скопировать на другие диски и освободить диск
  disk d6 rescue;       # скопировать на другие диски, но не удалять с диска
}

Глобальные настройки DVR, котрые действуют только для DVR на дисковом массиве:

  • root — базовый каталог, в котором смонтированы диски и находятся индексы.

  • raid — включает возможность работы с массивом (допустимое значение — 0). Если вы включили эту опцию, проверяется наличие активных дисков. Flussonic проверит major device корневого пути и файлов в каталогах и не разрешит запись, если это не смонтировавшаяся папка.

  • active — количество дисков, на которые будет идти запись данных. При большом количестве дисков вести запись сразу на все неэкономно по затратам электроэнергии, поэтому можно ограничиться несколькими дисками. Если не указывать эту опцию, то запись будет производиться на все диски, имеющие достаточно свободного места.

  • metadata — директория под root для хранения кэшированных метаданных. Эту директорию создавать вручную не нужно, она будет создана при применении настроек. Мы рекомендуем использовать SSD для быстрого доступа к архиву.

  • disk — путь до примонтированного диска. Указанные в опции disk пути должны быть реальными точками монтирования. Например:

Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/pve-vm--15--disk--1  7.9G  5.7G  1.8G  77% /
/dev/loop0                       196G  4.0G  182G   3% /dvr/_raid_/d1
/dev/loop1                       196G   4.0G  182G   3% /dvr/_raid_/d2

Настройки, которые применимы к отдельным потокам (при указании в глобальных настройках DVR они будут по умолчанию применяться ко всем потокам. Их можно переопределить их в настройках отдельного потока):

  • no_index — не добавлять поток в индекс DVR, отключая тем самым механизмы удаления данных для удаленных потоков.

  • limits — ограничения на размер и глубину архива. Например, 90% 3G 1d.

  • replicate — репликация DVR. Можно указать порт в необязательном параметре port=1234.

  • copy — копирование данных по частям в другое место.

  • schedule — расписание записи в архив.

Опции для управления записью на диски:

  • keep — Flussonic пишет данные, но никогда не удаляет. Используйте эту опцию, когда нужно хранить весь архив.

  • readonly — Flussonic не пишет данные на этот диск, возможно только чтение. Используйте для:

    • жесткого диска с большим износом, писать на который ничего нельзя (в том числе удалять файлы и обновлять индекс), и нельзя копировать. Диск будет использоваться в режиме только чтение, пока данные на нем не устареют.
    • работоспособного диска, когда-то записанного в режиме keep, если нужно хранить данные.
  • abandon — Flussonic не будет больше записывать новые данные на этот диск. Когда данные устареют, он удалит их. Но обновляет индекс. Используйте эту опцию, когда нужно заменить диск, например, на более емкий.

  • migrate — используйте, если срочно нужно извлечь диск, но данные нельзя терять. Flussonic на лету сохранит данные в массиве и удалит их с диска. При этом запись архива не прекращается. Вы узнаете, что данные смигрировались, если больше нет обращений к этому диску. При удалении диска из массива не нужно перезагружать Flussonic.

  • rescue — экстренно копирует данные со старого диска, который может скоро стать неработоспособным. Данные, в отличие от migrate, не удаляются. Архив с диска продолжает читаться, но новые данные не пишутся.