Работающие с кодеком h.264 IP-камеры могут иметь несколько режимов кодирования видеоизображения, вследствие чего размеры исходящих потоков могут сильно варьироваться и оказывать серьёзное влияние на работу видеокомплекса в целом. В статье разъясняется смысл работы наиболее распространённых режимов (CBR и VBR в разных модификациях), даются выводы по их применимости и советы проектировщикам.
Подпишитесь, чтобы быть в курсе новых технологий видеонаблюдения.Подпишись на канал
Позволим себе смелое утверждение: IP-камера, извлечённая из коробки, являет собой полуфабрикат, непригодный для немедленного использования. В том смысле, что после физического подключения камеры почти всегда приходится заходить в ее веб-интерфейс и изменять установленные «по умолчанию» параметры под условия конкретной задачи и требования технического задания (ТЗ).
Проблема может быть в том, что в ТЗ не всегда в явном виде указано, что и как должно быть задано в параметрах камеры. Некоторые функции и параметры IP-камер могут быть не критичны и не иметь большого значения, но некоторые неявно вытекают из общих требований к системе и собственного опыта инсталлятора.
К числу таких неявных параметров относится режим кодирования, влияющий на размер потока. В общем случае IP-камера охранного видеонаблюдения с поддержкой MPEG4/H.264 имеет два режима кодирования: CBR и VBR. О них и поговорим.
Переменный? Постоянный? Или дефолтный?
На первый взгляд всё просто: в камере есть «дефолтные» настройки видеопотоков, отталкиваясь от которых проектировщик рассчитывает проект, инсталлятор этот проект исполняет.
Сложности начинаются сразу же - какого именно размера поток выдаёт камера «из коробки»? Достаточно ли его, чтобы обеспечить приемлемое качество изображения? Что значит «переменный», как он меняется и когда? Вкратце мы уже говорили об этом в статье «Проблематика рынка современных IP-камер». Теперь рассмотрим режимы кодирования внимательнее.
Кодирование в режиме CBR
CBR (сокращение от «constant bit rate», в переводе - «постоянный поток данных», он же «сибиэр», он же «констант бит рэйт», он же «постоянный битрэйт») – означает, что камера выдаёт видеопоток одной и той же не зависящей от других параметров величины (по факту может колебаться в пределах ±10%). Эта величина определяется в настройках камеры. По умолчанию разные производители для различных линеек камер ограничивают поток для CBR в районе 2-х, 3-х, 4-х Мбит/с.
Очевидно, удобен CBR тем, что под него легко посчитать требуемое дисковое пространство и подобрать коммутаторы. Подвох в том, что 10 к/с со средним размером кадра в 100 КБайт и 25 к/с со средним размером 40 Кбайт в итоге дают один и тот же поток. Какой вариант больше устроит? Меньшая скорость с лучшим качеством или среднее качество «живого видео»? А по какому варианту станет работать камера? Чтобы получить ответы, нужно обратить внимание на связанную с режимом CBR опцию задания пользователем приоритета (Priority). В итоге получим следующие сценарии работы:
- приоритет скорости (speed или rate)
В этом случае при усложнении картинки (прошли люди, проехал автомобиль, появились помехи или шумы из-за снижения освещенности) камера будет стараться сохранять заданную скорость и при достижении потоком заданной величины - увеличивать степень сжатия изображения с одновременным ухудшением качества. Ухудшение может оказаться весьма серьёзным, вплоть до грубых артефактов и полной неразборчивости картинки. - приоритет качества (quality)
Теперь при усложнении картинки камера будет стремиться сохранять заданное качество изображения, а количество кадров в секунду при этом может уменьшаться (чтобы не выйти за заданный размер CBR). Визуально напоминает работу аналоговой камеры в режиме накопления кадров. Очевидный минус - риск пропустить что-то важное из-за понизившегося FPS. - приоритет одинаков (none)
Означает, что одинаково важны как скорость, так и качество – и тогда при достижении заданного порога передачи данных ухудшаться будут оба параметра.
Тогда результат трудно предсказуем: потеряем мы в скорости, или в качестве.
Как видно, приходится идти на жертвы. Или не идти? А если поставить большой размер потока? Избыточный, с запасом - к примеру, поставить сразу 10 Мбит/с. Но следствием будет неоправданно большая стоимость сетевого оборудования (линии связи, высокопроизводительные коммутаторы) и высокая стоимость видеосерверов с большими дисковыми хранилищами.
Замечание:
Режим CBR снижает максимальную нагрузку на сеть, но не снижает нагрузку на ЦП видеосервера, т.к. количество требуемых для работы видеоаналитики опорных кадров не изменяется. Настройки опорных кадров и настройки CBR/VBR в камерах не зависят друг от друга. Это важное замечание к расчёту видеосервера, которое многие производители серверов не учитывают. В калькуляторе расчёта серверов для систем IP-видеонаблюдения на нашем сайте рассмотренная выше особенность учтена.
Кодирование в режиме VBR
VBR (означает «variable bit rate», в переводе - «переменный поток данных», он же «вибиэр», он же «вариэйбл бит рэйт») – другой подход к формированию выходного потока. Работает так: в меню камеры задаётся конкретное значение качества изображения (степень сжатия), после чего поток генерируется «как есть», размером пропорционально сложности изображения. Хорошая освещённость, малое движение, неподвижная камера – и исходящий поток не превышает мегабит-другой. Если же ситуация начнёт меняться (пошли люди, поехали машины, замигали фонари или даже шум подрос из-за снижения освещённости) – видеопоток увеличится пропорционально, без «резки» скорости или качества. Однако, здесь другие сложности: VBR по определению по размеру вещь переменная и теоретически неограниченная (зависит только от производительности «начинки» камеры). Если камера является управляемой (т.н. PTZ), то при повороте или зуммировании поток возрастает в разы или даже на порядки. Возможные грустные последствия:
- перегрузка сетевых соединений и/или коммутаторов, что влечёт за собой застывание картинки, пропуски кадров и т.п.;
- перегрузка видеосерверов (вплоть до зависаний), из-за чего данные могут остаться незаписанными, а видеоаналитика - вообще перестать работать;
- система всё-таки справляется, но глубина архива уменьшается.
Во избежание значительных перегрузок многие производители наделили VBR настройкой, ограничивающей максимальный размер потока (кратко говоря, «ограничение сверху»). Это даст гарантию, что поток не вырастет выше определённой величины, и именно от этой величины надо будет исходить при расчёте трафика. Рассчитывать же архивы следует исходя из среднего значения потока. Конкретную максимальную и среднюю величину можно определить либо калькуляторами производителей камер, имитирующими наблюдение обстановки, либо опытным путём. Или можно обратиться в компанию Видеомакс, инженерный состав которой располагает обширным опытом работы с IP-наблюдением и охотно поможет с оценкой трафика и расчётом пропускной способности сети, в зависимости от наблюдаемой сцены и задачи.
Развитие технологии VBR. Zipstream, H.264+, Smart stream, Smart Coding и иже с ними
Ряд производителей совершенствует реализацию режима VBR в своих камерах, вырабатывая на его основе собственные «фирменные» технологии снижения трафика. Кратко эти технологии можно охарактеризовать как «очень умный VBR». Суть их всех в том, что автоматика камеры выделяет в пределах одного и того же кадра статичные и динамичные участки, производит их раздельное сжатие, а также «на лету» корректирует параметры потока в целом: меняет частоту опорных кадров, кол-во FPS и т.д. и т.п. У поворотных управляемых камер при этом учитывается наличие/отсутствие движения самой камеры (поворот, зум). Цель: максимально снизить поток без ущерба требуемой задаче, а она в 99% случаев - качественная фиксация и детализация движущихся объектов.
Реальная эффективность таких технологий зависит от интенсивности движения в поле зрения камеры, о чём мы рассказывали в нашем видеоролике:
Подпишитесь, чтобы быть в курсе новых технологий видеонаблюдения.Подпишись на канал
Так что же выбрать: CBR или VBR?
CBR можно рекомендовать, прежде всего, при необходимости уложиться в твёрдо заданную и при том невысокую пропускную способность линии связи (когда перегружать канал нельзя ни в коем случае). Нередко применяется при работе в общей сети заказчика. Кроме того, CBR подходит для наблюдения мало изменяющихся объектов (например, помещение, одинаково освещённое днём-ночью-летом-зимой с одной и той же обстановкой в поле зрения камеры), особенно, если какое-нибудь конкретное ПО больше «любит» CBR и работает наиболее стабильно при использовании именно этого режима. И такое ПО действительно существует!
VBR с ограничением «сверху» (особенно «продвинутые» его варианты типа Zipstream) - естественный выбор для задач наблюдения, не привязанных жёстко к пропускным способностям IP-каналов. Позволяет получить качественное изображение с заданным темпом, вне зависимости от условий эксплуатации.
Это общие рекомендации, а частности мы свели в таблицу сравнения:
CBR | VBR | |
---|---|---|
Когда лучше использовать | Ограничения пропускной способности линии связи. | Универсальный выбор; требуется качество жёстко заданного уровня. |
Расчёт сети | Исходя от заданного размера потока. | Исходя от заданного ограничения «сверху» (должно поддерживаться камерой!). |
Расчёт архива | Исходя от заданного размера потока. | Исходя от среднего значения, получаемого опытным путем, либо на калькуляторах производителей для заданной сцены |
Условия падения качества | Задан приоритет скорости; недостаточен установленный размер потока | Малый размер ограничения «сверху» |
Условия падения скорости | Задан приоритет качества; недостаточен установленный размер потока | Малый размер ограничения «сверху» |
Риск сокращения глубины архива | Отсутствует. | Высок, если среднее значение определено неверно. |
Риск перегрузки сети | Отсутствует. | Высок, если ограничение «сверху» не задано. |
Важно!
Функции ограничения VBR-потока и установки приоритета есть не у всех камер. Об этом следующий раздел. Дополнение: богатая практика инженеров «Видеомакс» показывает, что в большом количестве задач и наблюдаемых сцен переход от использования CBR к VBR увеличивает глубину архива. Казалось бы, как так? Дело в том, что бо́льшие расходы дискового пространства при всплесках потока в VBR более чем компенсируются расходами малыми, когда наблюдаемая обстановка «успокаивается», и VBR-поток зачастую становится чуть ли не меньше самого маленького значения CBR, которое можно выставить в камере.
Где это в камерах?
Непростой и мало кем освещаемый момент: у разных производителей интерфейс и возможности настроек режимов потоков реализованы очень по-разному. Бывает, что общепринятые термины CBR и VBR вообще отсутствуют! В таких случаях следует ориентироваться на слова «constant», «fixed», «maximum», «bit rate», «encoder», «quality» и на окна ввода значений размеров потока. Далее – примеры реализации. Возможно, вы узнаете знакомые вам интерфейсы и поймете, что означают эти все настройки.
Здесь, если «галочка» у «enable» отсутствует, то камера работает в режиме VBR. Если «галочка» установлена, то камера работает в CBR с указанным размером потока. Функции ограничения потока «сверху» для VBR и функции задания приоритета «скорость или качество» у данной камеры нет.
В этой камере «Fixed quality» означает выбор режима VBR. Функций ограничения потока «сверху» для VBR и задания приоритета для CBR у данной камеры тоже нет.
Здесь есть всё: и «Constant...», и «Variable...», и приоритет выбрать можно, и ограничения. Даже пределы качества для CBR можно задавать. Думаем, многие узнали интерфейс настройки одного из лидеров в производстве камер для IP-видеонаблюдения.
В данном случае, CBR обозначен как «Constant Bitrate Control», VBR - как «Variable Bitrate Control». Ограничить VBR «сверху» можно через параметр «Enable Rate Limit». Выбора приоритета «скорость или качество» нет.
У этой камеры выбор режима CBR/VBR находится в строке «Encoder Mode». Виден ограничитель («Maximum Bitrate»), но возможности его изменить нет. Зато есть «комбинированный» CVBR. По сути тот же VBR, но с ограничением не только «сверху» («Maximum Bitrate»), но ещё и «снизу» («Bitrate»). Функции выбора приоритета «скорость или качество» опять нет.
Вердикт: в плане выбора и настраиваемости CBR/VBR «не все йогурты одинаково полезны» :)
Внимание
При подключении к IP-видеокамере ПО видеонаблюдения может менять её настройки потоков, в т. ч. и уже заданные пользователем под собственные нужды, что чревато увеличением размера потока или ухудшением качества. Проверяйте результирующий поток и получаемое изображение по факту подключения к ПО видеонаблюдения. Для этого есть различные методы, и один из них - вывести настройки оверлеем на изображении камеры.
Резюме
Мы рассмотрели один из факторов, оказывающий существенное влияние на эффективность и стабильность работы систем IP-видеонаблюдения, и достаточно важный для проектировщиков таких систем. Один из серьёзных этапов проектирования системы IP-видеонаблюдения - расчёт станционного оборудования: видеосервера и рабочего места оператора. Тему влияния различных параметров на расчёт мы изучаем уже довольно давно, и все эти исследования находят отражение в калькуляторе серверов. На сегодняшний день мы утверждаем - наш калькулятор видеосерверов учитывает все возможные особенности, которые накладывают режимы кодирования, выбранное ПО, тип сжатия и т.п. Причём, как в части формирования архива, так и нагрузки на процессор сервера.
Специалисты компании Видеомакс готовы провести аудит вашего проекта и дать консультации при выборе проектных решений для создания лучших систем видеонаблюдения. Вы получите проработанное и протестированное решение своей задачи. Вы можете рассчитывать на любую помощь: выбор камер, определение тактики охраны, расчёт ЛВС, выбор станционного оборудования и программного обеспечения системы видеонаблюдения. Получить консультацию можно по телефону 8 800 302-55-46. Проект для проведения аудита следует отправлять на email: info@videomax.ru