Видеосервер

ВИДЕОСЕРВЕР

Как выбрать тачку? Подбор видеосервера для системы видеонаблюдения чем-то напоминает выбор автомобиля.

Если хотите кратко, читайте только фразы, выделенные жирным шрифтом, таких всего несколько.

Чудес не бывает! Также как умные мысли невозможны без головы, так и самая умная программа не будет работать без компьютера. Но мы больше не будем умничать, а наоборот предложим не заморачиваться с модными сегодня калькуляторами при выборе видеосерверов для систем видеонаблюдения.

Форма запроса на расчет Видеосервера

Заполнение всяческих полей чаще только перегружает разум пользователя и, честно скажем мы, не отображает реальных показателей получаемой эффективности. Да, они научны, но поверьте – бессмысленны.

ТТХ Лады и Мерседеса по большей части ничем не отличаются: у обоих автомобилей, как ни странно не смотря на огромную разницу в цене, одинаковое количество колес, посадочных мест, рулей, дверей, окон, тормозных колодок,… даже почти одинаковая предельная скорость. Разница в мощности? Давайте сравним Камаз с Мерсом. Если вы будете ориентироваться на мощность, то выберете Камаз?

Мы, люди из Спецлаб, всю жизнь проведшие среди компьютеров, скажем для кого-то крамольную вещь: как с выбором автомобилей, разница в видеосерверах ощущается лишь в комфортности. Одна и та же программа видеонаблюдения будет работать и на слабом ПК, и на мощном. До дома вы можете с одинаковым результатом добраться и на Ладе, и на Мерседесе.

Есть лишь субъективно сравнимые показатели, по которым можно догадаться, что человек, пересевшей с Мерседеса на Ладу может и повеситься. Всё тоже самое применимо к компьютерам для видеосерверов. Поэтому, чтобы не было негативных эмоций, мы рекомендуем ПК такой «проходимости», при котором наши пользователи чувствуют себя усреднено комфортно. Но любой комфорт – дело индивидуально-субъективное. Поэтому, если у вас или у вашего клиента чувствуются завышенные ожидания, то сразу стоит присмотреться к тачкам посерьезнее.

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

Хотя…, всё зависит от требуемого уровня комфорта. Если вы готовы мириться с периодическими ложняками тревог, берите усредненный вариант видеосервера. И большинство клиентов так и поступает - более того, большинство клиентов потом и не высказывает каких-то недовольств. Но, если вы – перфекционист, готовьте деньги для более мощного «двигателя».

Нам постоянно приходится учитывать психологию покупателя, который в начале заявляет, что ему нужно всё самое лучшее, а после объявления цены на оборудование, уходит в некий свой внутренний компромисс. Мы все сами покупатели по жизни, поэтому хорошо понимаем эту дилемму. И, если заметили, все наши статьи вымучены на реальных взаимоотношениях с людьми. Мы, конечно, могли бы, как другие, давать вам только технические термины и наплевательски отказываться от любых рекламаций, если вы какую-то цифру не так указали в таблице выбора, но это не наш метод, нам бы хотелось сделать вас счастливыми. Ну, или как минимум, чтобы не было эффекта обманутых ожиданий.

Фабула этого повествования в том, что все потребительские характеристики ПК для видеонаблюдения – ерунда, есть только одна важная характеристика – уровень комфорта. И, когда мы говорим про IP-видеосервера, то его определяет всего два показателя: мощность процессора с количеством ядер и мощность с количеством видеокарт. Ищем в Интернете таблицу превосходства для них – и выбираем себе тачку!

Можно не читать до, можно не читать после, весь смысл статьи в предыдущем абзаце. Но мы упростим жизнь и поищем эти таблицы за вас. Хотя сначала побрюзжим над тем, что наши коллеги, некоторые и, причем, самые раскрученные компании в области видеонаблюдения, вообще не указывают в своих навороченных калькуляторах подбора оборудования видеокарты. Тупо ставят видеосервера со встроенными видеоадаптерами. Ну, это дикость какая-то! Вся сегодняшняя видеоаналитика активно использует технологию CUDA, и такое явление говорит лишь об отсутствие продвинутого ИИ. И мы уже писали, что сервера для видеонаблюдения не надо путать с сетевыми серверами, у них разные, почти противоположные задачи. Сеть – это вообще сама по себе медленная субстанция, и при этом не сильно зависит от мощности процессоров, по сравнению со скоростными вычислениями графики в видеопотоках. Давайте говорить о серверах для видеонаблюдения!   

В качестве нижнего уровня комфортности мы взяли 157 строку этой таблицы, на которой находится Intel Core I7-9750H.

forma-videoserver157.jpg

Посмотреть весь список таблицы процессоров

Повторимся, что наше ПО будет работать и на процессорах, находящихся в 2 раза ниже его производительности, например в качестве «писалки-смотрелки». Но кого мы обманываем? – Вы купили аналитическую систему  безопасности GOAL не для того, чтобы так тупо её использовать. Если от китайских и очень раскрученных российских систем вы пришли в Спецлаб, вам явно захочется увидеть «космос», самые передовые решения в области искусственного интеллекта. И не только видеть, но и получать отдачу от вложенных средств.  

Как и автомобильный, комфорт в безопасности требует высокотехнологичных комплектующих. Для вычленения полезных событий из многочисленных потоков видео, для качественной фильтрации всевозможных помех, создания видеороликов для отправки к вам на телефон, поддержки протоколов облачного хранения…, - все интеллектуальные и люксовые возможности системы видеонаблюдения GOALcity понемножку откусывают ресурсы от процессора. Не говоря уже о том, что максимальные мощности тратятся на распаковку кодека H.264.

По сути, при стандартных методах программирования, не будь у программистов Спецлаб огромного опыта, данное ПО вообще бы не смогло завестись на сегодняшних видеосерверах. Но каждая строчка программного кода GOALcity глубоко оптимизирована и задействует даже редко используемые возможности компьютерных комплектующих. В этой связи мы рекомендуем выбирать железо с технологиями  DXVA2, D3D11VA, NVIDIA CUVID (она же NVDEC). Под эти аппаратные мощности написана специальная оптимизация для распаковки H.264/265. Чей-то мы опять сказали? – Это была минута рекламы, почти под любые комплектующие Спецлаб делает оптимизацию, поэтому не парьтесь.

На всякий случай напомним, что распаковка для записи не нужна – пишется как есть, она используется для просмотра, а также для анализа и экспорта в облачные хранилища – мы должны вырезать нужный участок видео в максимальном качестве и снова его запаковать в уже новом потребительском виде. И еще раз настоятельно скажем, что всегда есть смысл брать ip-камеры с кодеком MJPEG, который еще остался в обиходе, на его обработку уходит значительно меньше ресурсов. Заодно рекомендуем ознакомиться с тем, как выбирать IP-камеры?

Мы по-прежнему сообщаем, что читать нужно только то, что выделено жирным шрифтом – остальное беллетристика.

Итак, мы определились с начальным уровнем процессора для бесплатной версии GOALcity на 4 IP-камеры. И, как вы догадались, нам надо выбрать процессор для вашего количества видеокамер. Если мы используем вторые уменьшенные потоки для анализа и просмотра D1 (в другом случае лучше обращаться в ТП), то одно ядро процессора мы рекомендуем рассчитывать на не более чем 3 IP-камеры. Смотрим, сколько ядер у процессора, и умножаем на 3 – столько камер он тянет в нашем нижнем уровне комфорта. Смотрим на таблицу и замечаем, что этот же процессор  Intel Core i7-9750H имеет 6 ядер. Соответственно, на него можно повесить 18 ip-камер. Вроде, достаточно просто.

При этом разрешающие величины самих камер не имеют значения. 2 мегапикселя или их сто – мы всегда распаковываем лишь второй поток в качестве D1 (0,3 Mpx). Иногда на отображение берем 0,9 или 1 Mpx, в этом случае на каждое ядро – по 2 IP-камеры. Для тех, кто еще не знает, основной поток просто пишется на диск, поэтому мы не тратим на него ресурсы CPU. Это не значит, что просмотр будет такой убогий, для полноэкранного режима мы тоже оставили запас.

В том случае, когда мы работаем с основным потоком IP-камер не только по записи, но и по постоянному просмотру с анализом, то одно ядро нужно рассчитывать на одну камеру разрешением не более 4 Mpx. Что делать, если оно больше? – Брать более мощный процессор, и здесь лучше обратиться за рекомендацией в Техподдержку Спецлаб. Тоже самое нужно сказать про камеры реального времени, например HD-SDI. Но всё это редкие сборки, как правило под крупные проекты, поэтому мы не будем углубляться в эту тему в этой статье.

Здесь нельзя не остановиться подробно на том, какой процессор нужен тем, кого интересует идентификация лиц? Как известно, этот алгоритм Спецлаб поставляет бесплатно, данная технология имеет мега популярность, поэтому мы честно скажем (и не говорите, что вам не говорили – извините за тавтологию), что без мощной железяки он не даст приятного уровня комфорта. Здесь он легко измеряется в том, сколько времени вы готовы потратить на ожидание от СКУД, когда откроется дверь после попадания вашего личика в камеру?

И опять же, Идентификация лиц будет работать на любом процессоре. Только вот скорость распознавания и сравнения с базами лиц прямо и полностью пропорциональна мощности CPU. Для серьезных DATA-центров при большом числе видеоканалов мы применяем фермы из видеокарт, но в стандартной реализации то время, которое тратится на обработку одного и того же лица зависит лишь от мощности и скорости ОДНОГО ЯДРА проца. Именно ядра. Количеством ядер эту скорость не увеличить – только мощностью!

А вот количество одновременно распознаваемых лиц можно и нужно увеличивать количеством ядер. Если в кадре теоретически может оказаться более одного человека – и всех их нужно быстро опознать, то на данную камеру надо настраивать специальную установку в меню Идентификация лиц.

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

face-detection

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

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

Теперь об интеллектуальностях. Старая, но эффективная технология – видеосемантика - будет нормально работать без каких-либо дополнений на уже озвученном уровне CPU. Это чистая математика, которая за много лет супер оптимизирована Спецлабом. Но дополнительные затраты проца могут уходить на сервисные функции: подготовка событийных роликов для отправки на видеотелефон и в облачные сервисы. Также наши пользователи любят развернуть Архив событий в полные экраны и наглядно анализировать информацию.


В этом случае происходит проигрывание сотен роликов одновременно, что конечно удобно, но требует дополнительных ресурсов на расжатие видеокодеков. Если их будет не хватать, периодически вы начнете встречаться с часиками ожидания. Заранее предсказать, насколько лично вам будет комфортно, мы не можем, но советуем, как минимум, одно ядро оставлять под эту Оперативную панель и на подготовку данных для различных облачных решений. (Напомним, что под все аналитические сюжеты неплохо бы иметь и отдельный физический диск.)

На этом можно было и закончить тему процессоров, но стоит мельком сказать о тех клиентах, которые планируют активно работать с основными видеоархивами – они требуют серьезных ресурсов для распаковки H.264/265 кодека. И в этом случае комфортность будут определять те скорости, с которыми осуществляются поиск заданных данных, вывод многомегапиксельных кадров, ускоренные перемотки, особенно, при одновременном просмотре сразу большого числа камер. 

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

Запустите на своем компьютере любой киношный ролик в 4К – что вы почувствуете? А попробуйте сразу 10! Чудес не бывает, если ваше железо не может с достойной скоростью отобразить обычное кино, то в системе GOALcity вы найдете улучшение лишь в 4 раза, и лишь потому, что программный код Спецлаб использует достаточно малоизвестные возможности ПК. Поэтому: не хотите копаться в камерах по очереди, а видеть всё сразу, готовьте по одному ядру на каждые 4 камеры одновременного просмотра видеоархива

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

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

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

А теперь самое жестокое. Для не просто умных функций, а интеллектуальных, требуются не столько CPU, сколько видеокарты. Дело в том, что распознавание образов базируется не столько на мощностях, сколько на количестве одновременно исполняемых операций. Там тысячи потоков, и, если их пустить через основной процессор, какой бы мощный он ни был, то они умрут в очередях. А на видеокартах содержится очень много, пусть и маломощных, процессоров, которые и позволяют нейронным сетям эффективно справляться со своими задачами. При этом мы не задействуем CPU, что тоже очень и очень гут.

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

Интеллектуальное видеонаблюдение подразумевает два уровня комфорта:

1.   Фильтрация всевозможных помех путем четкого распознавания, что в кадре есть или отсутствуют полезные цели.

2.  Не только распознавание наличия конкретных целей, но и анализ всех их действий. Такая концепция в тысячи раз сокращает человеческое участие, позволяя выдавать тревоги согласно построенной модели угроз.

Во всех случаях мы рекомендуем хорошую видеокарту, т.к. еще встанет вопрос количества каналов. Для удобства в качестве нижнего уровня комфортности мы выбрали 14-ую строчку рейтинга видеоадаптеров за 2019 год - NVIDIA GeForce GTX 1660 Ti.

forma-videoserver14.jpg

Посмотреть весь список таблицы видеокарт

Каждая такая карточка потянет 8 IP-камер для фильтрации помех или 4 - для полного анализа интересуемых объектов в режиме второго потока. Соответственно, если видеокамер больше, надо поставить больше таких видеоадаптеров. Иногда мы собираем вот такие фермы для интеллектуального видео.


И снова оговоримся, даже 92 строчка этой таблицы подойдет для работы нейросетей GOALcity, но при этом скорость распознавания будет меньше, конкретное поведение быстродвижущихся объектов будет неинформативно. Вы потеряете в качестве поиска по большим массивам данных, получите лишние помехи, потратите больше времени на работу с ключевой информацией. В этой статье мы не будем останавливаться на том огромном прогрессе, который дается теперь уже реально интеллектуальным видеонаблюдением, иначе она никогда не кончится.

Скажем несколько слов про дисковые накопители для видеосервера. Здесь важны больше не их характеристики (хотя скорость при многопоточной записи – качество хорошее), мы порекомендуем все-таки их количество - для интеллектуального видеонаблюдения требуется не менее трех жестких дисков:

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

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

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

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

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

Объем аналитического диска зависит от аппетита. Для визуализации подойдет и любой – лишь бы он был отдельный физический. А вот для хранения и поиска на длинную ретроспективу ограничений мы ставить не будем. Там где период перезаписи основного архива составляет 2 недели, событийный архив может выдерживать от 2 месяцев – и, в зависимости от настроек, даже до 2 лет. А проработанную информацию можно хранить вечно, чего нет в циклически перезаписываемом основной архиве.

Но формально и даже практически всё будет работать и на одном диске. Вернее, для конфигураций до 10 стандартных IP-камер и нет смысла городить тройной дисковый массив. Если конечно Вы – не любитель тачек премиального уровня комфорта.