Flussonic DVR компонент

Экономить десятки тысяч $ на масштабировании, получать запись онлайн трансляции сразу после ее окончания, моментально находить события с тысяч видеокамер.

DVR – Digital Video Recording – представляет собой запись потока на цифровой носитель для последующего использования. На деле, это то, что позволяет вещать вечерние национальные новости именно в 21:00 для всех часовых зон, ставить на паузу прямую трансляцию полуфинала лиги чемпионов или моментально находить интересующее событие с тысяч камер наблюдения.

DVR во Flussonic Media Server: о глубине хранения, вариативности настроек и экономии места на диске

DVR представляет собой бесконечную ленту, на которую поток записывается ровно в том виде, в котором он проходит. “Ровно в том виде” означает, что если исходный поток состоит из нескольких видео-дорожек (с разным битрейтом) и нескольких аудио-дорожек (с разными языками) – то все они, как есть, складываются в архив.

Конечно же, бесконечная лента, в реальности, не может быть бесконечной – нас ограничивают политика правообладателя, размер памяти и прочие ресурсные ограничения. Поэтому, в рекордере есть настройки по глубине хранения. К примеру, можно настроить запись архива глубиной 8 дней. Это будет означать, что на 8 дней назад от текущего момента будет сохранен весь видеопоток. По мере того, как фрагментам этого видеопотока будет исполняться больше 8 дней, они будут удаляться. Этот 8-дневный промежуток с видеопотоком и его метаданными называется DVR-окном.

Выше мы рассмотрели вариант ограничения записи архива по глубине хранения. Кроме этого, есть возможность записывать поток с ограничением по объему хранения. Скажем, у вас есть диск размером в 15 ТБ, и вы хотите записывать на него не более 10 ТБ. В этом случае в настройках Flussonic выставляется глубина записи, равная 10 ТБ. И все, что будет выходить за эти 10 ТБ – система будет удалять (начиная с самых старых записей). Таким образом, место на диске будет иметь постоянную величину. А вот глубина архива будет варьироваться в зависимости от свойств потока (от битрейта).

Также, есть возможность ограничивать запись внутри суточного окна до отдельных временных промежутков. Скажем, абоненту актуально вести запись с камер видеонаблюдения круглосуточно на выходных, а на буднях – только ночью. В настройках следует просто установить расписание записи. Экономя, тем самым, место на диске в разы.

Рассмотрим сценарии использования технологии DVR.

Сценарии для IPTV OTT

Абонент покупает и устанавливает приставку, и, через интернет, получает сервис телевидения. Теперь он смотрит ТВ-каналы в реальном времени и использует, сам того не зная, возможности технологии DVR.

Catch up

Эфирная сетка всегда привязана к реальному времени. Когда-то мы спешили к телевизору, боясь пропустить начало сериала, а поход в ванную комнату обуславливался наличием рекламных пауз.

Теперь все иначе – не нужно подстраивать личное расписание под расписание эфиров. Опоздали и не посмотрели новую серию любимого сериала? Футбольный матч идет ночью, а утром нужно рано вставать? Catch up позволяет вернуться к любимой программе и посмотреть ее в удобное время.

IPTV OTT

Фактически, сервис catch up предоставляется на основе технологии DVR – начиная с какого-то времени в прошлом, абонент, по запросу, получает доступ к части архива.

Timeshift

Timeshift – это технология доступа к архиву со сдвигом потока во времени. Ее применяют, когда абоненты находятся в разных часовых поясах.

Скажем, у вас есть эфирная сетка на регион А. Она вещается с одним временем. Часом позже, ровно то же самое повторяется из архива для следующего часового пояса (пусть это будет регион В). Получается, что абоненты региона A видят прямой эфир. Абоненты в регионе В – ту же запись, но со сдвигом в один час, и так далее. То есть поток был создан 1 раз, записан, а затем роздан много раз с помощью timeshift. При этом, все перечисленные регионы получили именно live поток.

Lock, или запись по требованию

Некоторые провайдеры предлагают абонентам за дополнительные деньги услугу записи по требованию (сервисная опция nPVR). Что это значит? Человек может записать фильм (или передачу, выпуск и т.д.) и положить его в архив (скажем, на 2-3 месяца), чтобы потом пересмотреть. Такая функциональность во Flussonic Media Server называется Lock. Рассмотрим чуть подробнее.

Допустим, что окно, в течение которого провайдер хранит трансляции в архиве равно 6 дням. Что делает lock – по требованию, он “замораживает” некий фрагмент в DVR из этого окна, ставя запрет на удаление. Выбранный фрагмент (фильм, передача и т.д.) будет храниться столько долго, сколько абонент будет за него платить оператору связи.

DVR

Таким образом, у провайдера есть постоянно обновляемая лента. Он может использовать Lock: за отдельную плату “заморозить” ее часть для отдельного зрителя. (Сохранить фрагмент архива возможно, в том числе, и для всех абонентов сразу).

IPTV OTT. Как рассчитать размер хранилища для архива

Начнем с главного – размер хранилища будет сильно зависеть от той модели отказоустойчивости, которую необходимо реализовать. Возьмем модель кросс-репликации Flussonic. За счет удвоения хранилища, мы можем восстанавливать утерянные данные, если один из серверов отказал. При восстановлении этого сервера, система копирует на него те части архива, которые он пропустил, будучи в офлайне. При этом, другой сервер находился в онлайне, и все это время обеспечивал проигрывание и запись потоков.

Таким образом, кросс-репликация позволяет получить достаточно отказоустойчивую систему. И это нужно учитывать при расчетах.

Калькулятор расчета DVR

Чтобы рассчитать размер DVR хранилища, потребуется:

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

Считаем mbr профиль телеканала

MBR профиль – это характеристика потока на выходе (output), который вы собираетесь записать в архив. Каждый телеканал определяется (в контексте расчета) значениями параметров всех видео и аудиодорожек.

Параметры видеодорожки: разрешение и битрейт
Параметр аудиодорожки: битрейт.

Камеры

Если в качестве значения входного (input) параметра bitrate, у вас, скажем, 3 000 кбит/c – то, чтобы записать эту дорожку, на каждую секунду видео потребуется 3 000 кбит. Сумма bitrate аудио и видео дорожек одного телеканала в выходном потоке и будет являться количеством места на диске, которое необходимо для хранения 1 секунды вещания телеканала.

Считаем место на диске для хранения телеканалов одного типа на всю глубину архива

Теперь, сумма bitrate, полученная выше, умножается на глубину архива (в секундах). То есть, 3 000 кбит/с на, предположим, 8 дней (или 691 200 секунд). Если каналов с таким mbr профилем всего, скажем, 10, то место на диске для хранения 10 телеканалов на глубину архива 8 дней составит 691 200 * 10 * 3000 / 8 / 1024 / 1024/ 1024 ≈ 2,41 ТБ

Инструкция к калькулятору DVR

Чтобы рассчитать размер хранилища для архива, можно воспользоваться калькулятором ниже.

  • Заполните колонку TV Programs актуальными значениями количества программ в сервисе.
  • Заполните профили транскодирования по каждому типу TV program.
  • Вставьте значения в колонку Archive depth (глубина архива в днях).
Input TV Programs Output, MBR Profiles per input Archive depth, days Archive inbound, Mbps Archive, write on disk, MB/s Archive diskspace, TB
Profile 4320p 2160p 1080p 720p 576p 480p 320p 144p
Bitrate, kbps
UHD 4320p (8K)
2160p (4K)
2000p
HD 1080p
1080i
720i
SD 576i
480i

Выжать больше. Как Flussonic двукратно срезает затраты на масштабировании в IPTV OTT

Что происходит с “бесконечной” лентой во время эфира? DVR записывает новые сегменты видео. Одновременно, ему нужно удалять старые сегменты. И, при этом, к нему приходит куча запросов на просмотр абсолютно разных сегментов в разных местах этой ленты.

Поэтому, как только спрос на ТВ-услуги увеличивается, провайдеры неизбежно залезают в “бутылочное горлышко” DVRа. Причем, общее количество абонентов может и не вырасти – достаточно будет просто увеличения доли тех, кто смотрит именно из архива. Имеющийся сервер уже не будет выносить такой нагрузки, и о предоставлении качественного сервиса без залипания экрана можно забыть.

Существует 3 варианта конфигурирования серверов (Flussonic может поддерживать их все).

Сервер без кэширования.

Получает поток → Записывает на HDD → Проигрывает клиентам

Если услугами оператора пользуется абонентов 500, то этот вариант вполне подойдет. Если же оператор предоставляет масштабный сервис, то неизбежна перегрузка жестких дисков из-за большой нагрузки на дисковую подсистему (так как HDD диски – медленные сами по себе). Итог – пользователи очень медленно забирают архив, на экране – торможение и артефакты .

кэширования

Сервер с кэшированием

Получает поток → Записывает на HDD → Кэширует горячие сегменты на SSD → Проигрывает клиентам холодные сегменты с HDD, горячие – с SSD

Быстрые SSD диски стягивают популярные сегменты архива. Таким образом, эти популярные сегменты отдаются абонентам из кэша, нагрузка на дисковую подсистему распределяется. (Отметим, что речь идет именно об отдельных сегментах – в кэше не хранится, скажем, запись одного полного дня. Почему это важно, мы разберем чуть ниже).

Однако, масштабируя сервис при инфраструктуре с кэшированием, провайдеру может понадобиться от 1 и более новых серверов, каждый стоимостью около 10 000 $. (Плюс, не стоит забывать, что придется докупать еще и дисковые системы на кэш-сервера).

Для тех, кому не очень хочется вытаскивать сразу тысяч двадцать из оборота, мы рекомендуем вариант 3.

Сервер для холодного контента + сервер/а для горячего контента

Схема 1 (параллельно):

Сервер холодного контента (8 дн.):
Получает поток → Записывает на HDD → Проигрывает клиентам холодный контент
Сервер горячего контента (1 д.):
Получает поток → Записывает на SSD → Проигрывает клиентам горячий контент
Схема 2 (последовательно):
Сервер холодного контента (8 дн.):
Получает поток → Записывает на HDD → Проигрывает live-трансляцию и холодный архив на сервера горячего контента
Сервера горячего контента (1 д.):

Получает поток → Записывает на SSD → Проигрывает клиентам горячий контент с локального SSD, холодный контент – с сервера холодного контента

Камеры

По статистике, популярность архива – около 20%. Именно столько пользователей, от общего количества просмотров, обращается к архиву. Из них, процентов 50 приходится на глубину 1-го дня. Проще говоря – в основном, люди возвращаются к вчерашнему эфиру.

Таким образом, архив с глубиной последних суток с горячим и популярным контентом можно сложить на SSD (они в 10 раз быстрее, соответственно, могут обслужить в 10 раз больше пользователей). А глубокий архив – на HDD. Его смотрит меньшее количество людей (соответственно, идет меньшая нагрузка), поэтому его можно отдавать с медленных дисков. В конечном счете, общая нагрузка на сервера оптимизируется.

На самом деле, наиболее интересный экономический эффект от использования Flussonic DVR в варианте 3 достигается за счет неравномерного распределения нагрузки внутри суток (тех самых, с “вчерашним” эфиром). Люди больше смотрят телевизор вечером и ночью – на период где-то с 17 до 23 часов приходится до 60% суточной нагрузки. Выходит, на дополнительный сервер можно записывать всего 5 часов, вместо 24.

Говоря о показателях, опытным путем мы высчитали и сравнили egress rate при масштабировании с кэшированием (вариант 2) и при использовании разных серверов для холодного и горячего контента (вариант 3.2). Egress rate вырос с 1,2 до 3,4. То есть почти в 3 раза!

DVR в Flussonic специально спроектирован для работы с большими массивами потоковых данных. Собственная технология записи RAID-0 ловко распределяет нагрузку на дисковую подсистему. Благодаря этому, Flussonic DVR легко принимает, записывает, стирает и, одновременно, отдает тысячи разнообразных видеопотоков.

Сценарии Live Streaming + Video on Demand

Live Streaming и VоD представляют собой два состыкованных сценария, имеющих между собой переход. В контексте этого сценария, Flussonic позволяет вести онлайн трансляцию мероприятия и гарантированно получать запись сразу после ее окончания.

Сначала мы показываем живое событие в прямом эфире, записывая его в архив (live streaming). Как только оно закончилось – файл с записанным роликом экспортируется в МР4 (это и есть тот самый переход). После чего, файл можно обработать и организовать возможность просмотра по запросу (Video on Demand).

Note: Video on Demand – система доступа к видео, работает по принципу доставки контента по запросу

Rewind для онлайн конференций

Офлайн не дает нам возможности быстренько перемотать и просмотреть начало мероприятия, на которое немного опоздал. Но онлайн все меняет.

Rewind представляет собой первый сценарий использования DVR во Flussonic в контексте Live Streaming. Он позволяет осуществить перемотку live-события до того момента в прошлом, когда оно началось. Вспомним прямые трансляции на YouTube – такие видео всегда открываются в точке “now”. От этой точки “now” мы имеем возможность отмотать в прошлое на любую глубину до точки начала этой прямой трансляции.

Live Streaming

Представим, что некий стрим (допустим, бесплатный часовой онлайн-вебинар) начался в 09:00. Сейчас на часах 10:00, и вебинар еще не кончился (иными словами – это все еще live). Когда мы открываем трансляцию, она открывается в моменте “now” – то есть в 10:00. Внутри этого образовавшегося окна (с 09:00 до 10:00) мы имеем возможность делать перемотку назад-вперед, ставить на паузу и пересматривать сколько угодно раз.

Подводя итог – с помощью DVR осуществляется запись живой трансляции без ограничения на глубину архива (так как все live-cобытия достаточно короткие). Сценарий rewind позволяет пользователю обращаться в архив (DVR) за сегментами видео, пока прямая трансляция не кончилась.

Экспорт архива трансляции в виде мр4-файла

Вернемся к примеру с YouTube. Прямая трансляция кончилась, а мы все еще хотим, чтобы люди находили и смотрели видеозапись. Как мы разбирали выше, во время самой онлайн-конференции живые записи хранятся на DVR, и зрителю доступен сценарий “rewind”. Можно было бы и дальше, после завершения лайва, организовывать просмотры из DVR. Но это не совсем удобно, и вот почему.

Архив – одна цельная, “бесконечная” лента. Внутри нее невозможно работать в отдельным фрагментом. Нельзя изменить (например, добавить бегущую строку или логотип), транскодировать в несколько качеств, переместить. Для совершения любой постобработки Flussonic сначала выгружает “бесконечную ленту” в мр4 – чтобы получить файлы, имеющие начало и конец.

DVR во Flussonic устроен таким образом, что, в отличие от других технологий, экспорт происходит за несколько минут, без применения каких -либо дополнительных инструментов. Не нужно “вручную” скачивать всю ленту, искать нужный сегмент, вырезать и выгружать его. На таймлайне просто выбирается нужный отрезок, и программа кладет его как vod-файл в указанное место.

Хранение файлов и организация просмотров по запросу

После выгрузки, обработанные файлы отправляются на хранение локально или в облако: на S3, ftp, http, Swift и проч. С Flussonic можно настроить VOD-вещание из любого хранилища, после чего видео будет доступно в любое время неограниченному количеству пользователей.

Flussonic обладает широкой функциональностью: мультикаталоговая раздача, мультиязыковой стриминг, включение субтитров, адаптивный стриминг (для обеспечения комфортного просмотра пользователям, подключенным к интернету на разных скоростях), проигрывание файлов по протоколам HLS, HDS, RTMP, MSS. А с встроенным полноценным менеджером файлов удобно настраивать вещание, загружать и просматривать файлы.

CCTV. Вечное хранение и моментальный поиск событий с тысяч камер наблюдения

DVR в видеонаблюдении использовали до того, как это стало мейнстримом. Это именно то направление, где впервые применили технологию долговременного хранения видеозаписей.

Передача большого количество кадров в секунду, как в OTT, здесь уже не так интересна. Особенно, если мы снимаем ночью какую-нибудь парковку. (Здесь, наоборот, целесообразнее выставить в настройках камеры запись 3-х кадров в секунду, вместо 25, и сэкономить место на диске почти десятикратно). Что действительно важно в сервисе видеонаблюдения – так это запись в архив с большого количества источников и моментальный доступ к видеоданным по событиям и меткам движения.

Запись и просмотр видео в реальном времени без ограничения на объём архива


На сегодняшний день существует две модели видеонаблюдения в контексте DVR. Первая – модель быстрого реагирования. Она предполагает работу с живым видео в реальном времени. Отдельный человек наблюдает за происходящим на мониторе и может включить кнопку выезда группы захвата, в зависимости от того, что происходит в кадре. Эту функцию также может выполнять система видеоаналитики, которая распознает саботаж, пожар, наводнение, грабеж и проч.

Хранение информации с привязкой к временным меткам (детектор движения в кадре)

Рассмотрим вторую модель реагирования на событие. Ключевой ее особенностью является хранение в архиве в отдельной дорожке информации о происходящем в кадре. Здесь, в DVR с камер записывается все подряд, а глубина хранения может доходить до нескольких месяцев.

Вернемся к примеру с парковкой. Владелец оставил машину на парковке и уехал в отпуск. Вернувшись через 3 недели, авто он не обнаружил. Понятно, что в данном случае ему хотелось бы увидеть запись с моментом, когда его машина уехала.

детектор движения

В архиве может храниться следующая информация: движение в кадре, номерные знаки (при наличии распознавания номеров), лица (распознанные лица привязываются к базам данных с фамилиями, адресами и т.д.). Flussonic распознает то, что находится в кадре, привязывает к событиям временные метки и записывает все это в виде дополнительных информационных меток в архив. Поиск осуществляется именно по этим меткам и их данным – и вот мы уже за пару секунд владелец авто находит момент в прошлом, когда машина с нужным гос. номером (или его фрагментом) проехала под шлагбаумом и выехала с территории.

Где еще может использоваться такая модель видеонаблюдения? От расследований инцидентов в уголовно-правовой сфере до домашнего видеонаблюдения. Если у пользователя, например, есть задача увидеть все моменты, когда кто-то заходил в дверь, – он может это сделать практически моментально с мобильного телефона.

Как хранить архив с тысяч IP-камер

Хранить записи с тысячи камер наблюдения – не то же самое, что хранить архив пары сотен телеканалов. К тому же, в данном случае, хранить нужно действительно долго. В некоторых странах, вообще, закон обязывает хранить определенные видеозаписи не менее 3-х лет. А в США, например, записи судебных заседаний хранятся около 10 лет.

В контексте видеонаблюдения не используют облачные блочные хранилища типа S3, потому что это попросту дорого. Записи видеонаблюдения хранят на физическом сервере.

Однако, у хранения на жестком диске есть очевидный недостаток – в случае поломки диска, все данные будут утеряны. Поэтому мы разработали технологию Flussonic Raid, которая представляет собой механизм объединения дисков в массив. Ключевая особенность, отличающая Flussonic RAID от других похожих решений – оператор не потеряет весь архив в случае сбоя в работе одного из дисков. К тому же, отсутствует необходимость в покупке дорогого аппаратного RAID-контроллера. Flussonic сам следит за состоянием дисков и равномерно распределяет данные по ним.

Вместо заключения

Полный видеотракт, над которым работает Flussonic, представляет собой:

  • захват видео
  • транскодирование (включая распаковку входного протокола)
  • сохранение в архив (как раз-таки здесь мы сохраняем в DVR уже подготовленные к вещанию потоки. По сути, мы можем прямо отсюда отдавать видео зрителям через интернет, но – помним о “бутылочном горлышке”)
  • доставка видео (рестримеры и стримеры, приспособленные к большому числу проигрываний для любого количества зрителей)

Требования к ресурсам в контексте DVR:

  • Память
  • CPU (нагрузка стремится к нулю, так как, при использовании Flussonic DVR компонента, сложных вычислений от системы не требуется)
  • Пропускная способность сети (нужно принять живые сигналы во время лайва, и нужно сразу отдать их зрителю)
  • Disk I/O (дисковые системы, которые нужны для увеличения мощности на EDGE-серверах). По стратегии, которую рекомендуем мы, чтобы масштабировать ТВ-сервис в 2 раза, достаточно докупить дисковых систем. Это обойдется в ¼ от цены архива. Напомним, что при схеме расширения с кэшированием, провайдер заплатит сразу 2 цены, вместо ¼.