Video Surveillance

H.264 и H.265 в мире IP-камер: почему одинаковая надпись на корпусе не означает одинаковое сжатие, одинаковую нагрузку и одинаковый архив

2026-04-06 21:00 Оборудование Программное обеспечение
На рынке видеонаблюдения есть одна старая и очень живучая иллюзия. Если на двух камерах написано H.264 или H.265, значит вести себя они должны примерно одинаково. Одинаково нагружать сервер, одинаково расходовать место в архиве, одинаково переживать сложные сцены, одинаково дружить с регистраторами, VMS, браузерами и мобильными клиентами. На бумаге идея звучит уютно. В жизни она работает примерно так же надежно, как обещание “я только быстро зайду и сразу выйду”.
Проблема не в том, что стандартов нет. Стандарты есть, и весьма серьезные. Проблема в том, что они в основном задают формат сжатого видеопотока, его синтаксис, правила разбора и декодирования. А вот единственного обязательного алгоритма кодирования они не задают. То есть стандарт подробно объясняет, каким должен быть результат и как его правильно читать, но не заставляет всех производителей готовить это блюдо по одному и тому же рецепту.
Именно поэтому две камеры с одной и той же надписью H.264 или H.265 могут выдавать весьма разные потоки. У них могут различаться структура кадров, политика распределения битрейта, глубина анализа движения, число опорных кадров, агрессивность сжатия, внутренняя предобработка, скрытые преднастройки и десятки других вещей, которые пользователь в веб-интерфейсе камеры либо не видит вовсе, либо видит под названиями вроде “Высокое качество”, “Умный кодек”, “Хранение”, “Баланс” и прочими вежливыми эвфемизмами.
Отсюда и растет тот самый зоопарк совместимости, который инженеры знают слишком хорошо. Одна камера “вроде бы H.265” прекрасно работает на объекте, другая тоже “вроде бы H.265”, а сервер вдруг начинает дышать через раз, архив раздувается, мобильный клиент запинается, а пользователь смотрит на все это с тем выражением лица, будто его обманули не только в магазине, но и в самой физике.

Что на самом деле задают H.264 и H.265

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

Почему камеры одного “кодека” кодируют по-разному

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

Почему старые и новые версии стандарта не отменяют друг друга

H.264 и H.265 не появились в один день и не застыли навсегда. Эти рекомендации развивались годами. Добавлялись новые профили, новые уровни, новые служебные поля, уточнения по совместимости, цвету, глубине представления, многовидовым режимам, служебным сообщениям и прочим деталям. Стандарт живет, меняется и дорабатывается.
Но камера на объекте живет по своим законам. Она может быть выпущена пять, семь или десять лет назад. Ее аппаратная часть давно фиксирована. Ее кодирующий тракт давно такой, каким его однажды сделал вендор. Она не превращается в современную только потому, что мир ушел дальше. Она продолжает честно работать в том подмножестве возможностей, которое в нее заложили изначально.
Поэтому на практике под “поддержкой H.264” или “поддержкой H.265” почти никогда не скрывается весь стандарт целиком. Обычно речь идет о вполне конкретном наборе: определенные профили, определенные уровни, определенная глубина цвета, определенный формат цветности, определенный набор инструментов кодирования, ограничения по буферам и скорости обработки, а также внутренние ограничения самого системного кристалла.
Старые камеры продолжают работать не потому, что стандарты не менялись, а потому, что массовые системы умеют жить с разными подмножествами этих стандартов. Но это не отменяет того факта, что более новые или более хитрые потоки могут оказываться тяжелее, капризнее и менее предсказуемыми для старого сервера, декодера или программного клиента.

Что означает "версия H.264" или "версия H.265" конкретной камеры

В инженерной практике вопрос о версии кодека у камеры почти всегда надо переводить на человеческий язык. Не “какая версия H.265”, а “какие именно возможности и ограничения из экосистемы H.265 реально поддерживает эта камера”.
Смотреть нужно не на красивую надпись в паспорте, а на фактические свойства потока. Важны профиль, уровень, а для H.265 еще и уровень класса пропускной способности, глубина цвета, формат цветности, структура группы кадров, число опорных кадров, поведение битрейта, наличие или отсутствие B-кадров, режимы внутрикадрового и межкадрового предсказания, служебные поля, а также то, как все это реализовано на конкретном железе.
Именно поэтому одинаковая VMS сама по себе не гарантирует одинаковую производительность под разные камеры. Если раньше сервер спокойно работал с одним брендом, это не означает, что новый бренд с той же надписью H.264 или H.265 будет таким же легким. Постоянство программы видеонаблюдения в данном случае не спасает. Важен не только софт, а весь реальный профиль потока.

Почему профиль и уровень так важны

Профиль определяет, какие инструменты кодирования вообще допустимы в потоке. Уровень задает ограничения по размерам изображения, скорости обработки, буферам и другим ресурсам, которые декодер должен выдерживать. Для H.265 добавляется еще одна ось ограничений, связанная с допустимой производительностью потока.
С практической точки зрения это значит следующее. Профиль и уровень влияют не просто на надпись в заголовке потока. Они влияют на требования к декодеру, на допустимую сложность потока, на память, на скорость обработки и часто косвенно на выбор доступных инструментов кодирования.
Если камера выдает поток с более тяжелым набором возможностей, серверу, регистратору или клиенту может понадобиться больше ресурсов. Даже если разрешение кажется знакомым, а битрейт похожим. Не все различия лежат на поверхности.

Разрешение и частота кадров: самые заметные, но не единственные виновники

Разрешение и частота кадров влияют на нагрузку всегда, и спорить с этим бесполезно. Чем больше пикселей в каждом кадре и чем больше кадров в секунду надо обработать, тем больше данных нужно сжать, передать, записать, а потом декодировать.
Но здесь есть важная ловушка. Многие считают, что если разрешение и частота кадров одинаковые, то и нагрузка будет примерно одинаковой. Это неверно. Разрешение и частота кадров задают верхний слой задачи, но не описывают весь характер потока. Две камеры на 1920×1080 при 25 кадрах в секунду могут вести себя очень по-разному, если одна использует более агрессивные B-кадры, большее число опорных кадров, иной режим управления битрейтом и более сложный анализ движения.
То есть разрешение и частота кадров важны, но сами по себе картины не объясняют. Это только первая страница дела, а не весь том.

Битрейт и управление потоком: здесь решается судьба архива

Битрейт влияет на размер архива почти напрямую. Если поток действительно держится в постоянном режиме, то объем архива за сутки или месяц вычисляется довольно предсказуемо. Но реальная жизнь редко бывает такой аккуратной.
Существуют разные подходы к управлению потоком. Постоянный битрейт, переменный битрейт с ограничениями, более свободный переменный режим, режимы с постоянным уровнем квантования, режимы, ориентированные на постоянное визуальное качество, а также фирменные “умные” схемы производителей.
При постоянном битрейте архив относительно предсказуем. Но качество картинки начинает сильнее зависеть от сложности сцены. В спокойной обстановке изображение может быть хорошим, а в сложной и шумной сцене кодер начинает задыхаться и повышать потери.
При переменном битрейте или режимах, ориентированных на качество, ситуация иная. Кодер начинает расходовать биты в зависимости от содержания сцены. В тихом коридоре архив ведет себя скромно, ночью под дождем и со снегом из шумов он вдруг вспоминает, что диск не казенный, и начинает раздуваться.
Поэтому одинаковое значение “4 Мбит/с” в интерфейсе двух разных камер совсем не обязательно означает одинаковый реальный архив и одинаковое качество на сложной сцене. Очень многое зависит от того, как именно камера интерпретирует этот режим и какие внутренние ограничения применяет.

Буферы и ограничения уровня: скрытая бухгалтерия потока

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

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

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

B-кадры: главный друг архива и иногда враг простоты

B-кадры позволяют кодеру использовать информацию не только из прошлого, но и из других соседних кадров. Это очень сильный инструмент сжатия. При грамотной реализации он уменьшает размер потока без катастрофического падения качества.
Но B-кадры делают структуру потока сложнее. Их количество, глубина, иерархия, адаптивное включение и выбор в качестве опорных кадров сильно влияют на нагрузку кодера, память, задержку и совместимость.
Один производитель может по соображениям простоты и низкой задержки почти не использовать B-кадры. Другой, наоборот, будет активно на них опираться, чтобы экономить архив. В результате два потока при одном разрешении и одном формальном битрейте будут различаться по реальному поведению, качеству и удобству декодирования.
Именно здесь часто рождаются удивительные истории вроде “почему новая камера того же разрешения записывает меньше, но серверу от нее тяжелее”. Потому что экономия места и простота обработки не всегда идут рука об руку.

Опорные кадры: тихий параметр с громкими последствиями

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

Оценка движения: там, где камеры думают по-разному

Оценка движения, пожалуй, один из самых важных и самых скрытых источников различий между вендорами. Именно здесь кодер решает, как искать сходство между блоками в соседних кадрах, насколько широко искать, насколько глубоко уточнять положение, как далеко заглядывать в возможные смещения и сколько вычислений на это тратить.
Если оценка движения грубая, кодер работает быстрее и легче, но сжимает хуже. Если оценка движения тщательная, можно получить более компактный поток или лучшее качество при том же битрейте, но цена в вычислениях резко растет.
Для пользователя все это обычно упаковано в одну галку “качество” или “скорость”. На деле же внутри может меняться полмира. Именно поэтому две камеры с одинаковым номинальным битрейтом на одной и той же сцене могут давать разный архив и разную картинку. Одна действительно ищет движение, другая делает вид, что ищет, но торопится домой.

Разбиение изображения на блоки: особенно важная тема для H.265

В H.264 изображение разбивается на блоки по одной логике, в H.265 эта система стала заметно более гибкой и сложной. Там появилась более богатая иерархия крупных и мелких единиц кодирования и преобразования, с более глубоким выбором размеров и форм.
Это дало H.265 один из его главных козырей. Он может лучше подстраиваться под структуру изображения. Большие однородные области, мелкие детали, сложные границы, разные типы движения, все это можно описывать более гибко.
Но гибкость не дается даром. Чем больше вариантов разбиения анализирует кодер, тем тяжелее ему работать. Поэтому качество реализации H.265 у разных вендоров особенно сильно влияет на результат. Хорошая реализация получает серьезный выигрыш по сжатию. Плохая превращает современный кодек в тяжелый способ получить среднюю картинку.
Именно отсюда растет часть разочарований в духе “включили H.265, а чуда не случилось”. Чудо обычно не входит в комплект поставки.

Внутрикадровое и межкадровое предсказание: как кодер угадывает картинку

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

Преобразование и остаток: сердце потерь и компромиссов

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

Квантование: где и прячется основная "магия качества"

Квантование определяет, насколько грубо кодер будет отбрасывать тонкие различия в сигнале ради экономии битов. Чем сильнее квантование, тем меньше поток и архив, но тем больше потерь в деталях, текстурах, тенях и сложных участках изображения.
Здесь существует целый мир параметров. Базовый уровень квантования, допустимые пределы, отдельные смещения для разных типов кадров, адаптивное квантование, управление важностью участков изображения, решения с учетом зрительного восприятия, оптимизация с учетом искажений и стоимости в битах.
Именно на этой территории кодер решает, что считать важным, а что нет. Лицо человека в движении, шумный фон, листья на ветру, номер машины, ночной асфальт, пересвеченное небо, лампа в кадре, текстура одежды, все это может оцениваться по-разному.
В результате одна камера при том же битрейте даст более “чистую” картинку, но с убитыми мелкими фактурами, другая сохранит фактуру, но раздует поток, третья начнет прыгать по качеству от сцены к сцене. И все три будут утверждать, что они очень старались.

Энтропийное кодирование: скучное название, очень важный эффект

Эта часть редко обсуждается вне профессиональной среды, но она заметно влияет на эффективность упаковки потока. В H.264 выбор метода энтропийного кодирования имел важное значение для компромисса между степенью сжатия и вычислительной сложностью. В H.265 эта область стала еще более серьезной по внутренней логике.
Смысл прост. Даже если все решения по предсказанию и квантованию уже приняты, получившиеся данные еще надо упаковать в битовый поток максимально разумно. Более эффективная упаковка почти всегда означает меньший размер потока, но требует более сложной обработки.
Пользователь обычно этого не видит. Но сервер, декодер и архив вполне себе ощущают.

Внутренние фильтры: почему картинка может стать лучше или хуже уже после кодирования

И H.264, и H.265 используют внутренние фильтры, которые применяются в процессе восстановления изображения и влияют на дальнейшее предсказание. В H.264 это прежде всего фильтр сглаживания границ блоков. В H.265 к нему добавляются более современные механизмы обработки.
Эти фильтры влияют и на визуальную картинку, и на эффективность кодирования. Если их отключать или ослаблять, можно немного облегчить вычисления, но получить более грубое изображение и иногда худшее сжатие. Если использовать их полноценно, изображение часто выигрывает, но растет вычислительная цена.
То есть даже параметры, которые на вид “про качество картинки”, на самом деле часто затрагивают и архив, и производительность.

Взвешенное предсказание, пропуски, слияние: мелочи, которые на деле вовсе не мелочи

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

Параллельная обработка и реальная производительность

Производительность камеры и производительность сервера зависят не только от того, что кодируется, но и от того, как организована обработка. Разделение на участки, многопоточная работа, особенности внутренней очереди, способы распараллеливания анализа и поиска движения, это все влияет на то, сколько ресурсов требуется для достижения того же результата.
Один производитель может выбрать более грубую, но быструю схему, чтобы камера уверенно работала в реальном времени на слабом железе. Другой будет использовать более богатую логику ради качества, но потребует более серьезного системного кристалла. Третий пойдет на компромисс и включит более сложные режимы только при определенных условиях.
Для пользователя итог обычно выглядит просто: одна камера “легкая”, другая “тяжелая”. Но за этой простотой стоит очень разная внутренняя архитектура.

Преднастройки и фирменные режимы: место, где маркетинг встречается с инженерией

Одна из самых недооцененных проблем рынка в том, что пользователь редко управляет отдельными техническими параметрами напрямую. Вместо этого он видит преднастройки. “Высокое качество”. “Низкая задержка”. “Экономия места”. “Умное кодирование”. “Режим сцены”. “Ночной приоритет”. И так далее.
За одной такой кнопкой могут одновременно меняться длина группы кадров, число B-кадров, число опорных кадров, глубина предварительного анализа, параметры квантования, фильтры, стратегия распределения битрейта, поведение на смене сцены, агрессивность пропуска, уровень шумоподавления и еще немало других вещей.
Поэтому когда камера обещает “умный кодек”, это не обязательно ложь. Просто это слишком широкое обещание. Под ним может скрываться как действительно полезный набор эвристик, так и набор решений, которые экономят архив в основном за счет того, что аккуратно съедают детали, а пользователь замечает это чуть позже, когда уже нужно разглядеть номер, лицо или мелкую сцену конфликта.

Служебные поля и метаданные: не главный фактор размера, но важный фактор совместимости

Помимо собственно изображения поток содержит служебную информацию. Параметры цвета, диапазоны, аспект, дополнительные сообщения, метаданные отображения, иногда сведения, которые нужны для дополнительных возможностей.
Обычно эти элементы не делают архив радикально больше. Но для совместимости и корректного воспроизведения они бывают очень важны. Именно здесь старый клиент может внезапно повести себя странно с новым потоком. Формально поток правильный, но практическая совместимость оказывается неидеальной.
Так рождаются любимые истории интеграторов: “вроде все по стандарту, а на объекте опять сюрприз”.

Что сильнее всего влияет на размер архива

Если убрать экзотику и оставить главных подозреваемых, то на архив сильнее всего влияют разрешение, частота кадров, режим управления битрейтом, реальная сложность сцены, длина группы кадров, наличие и политика B-кадров, число опорных кадров, сила квантования, адаптивные механизмы перераспределения качества, качество оценки движения, внутренние фильтры, шумоподавление до кодирования и фирменные преднастройки производителя.
Проще говоря, архив определяется не одной строкой “кодек H.265”, а целой экосистемой решений. И именно поэтому замена камеры на “такую же по характеристикам” иногда меняет реальную емкость хранения куда заметнее, чем хотелось бы.

Что сильнее всего влияет на нагрузку сервера, клиента и декодера

На производительность приемной стороны особенно влияют профиль, уровень, глубина цвета, формат цветности, разрешение, частота кадров, число опорных кадров, структура группы кадров, наличие B-кадров, ограничения буфера и общий характер битового потока.
Важно понимать простую вещь. Декодер нагружает не только число пикселей, но и свойства самого потока. Два потока одинакового разрешения могут быть разной сложности для обработки. Поэтому при расчете сервера нельзя ориентироваться только на количество камер и мегапиксели. Нужно смотреть на реальные потоки.
Это и есть тот инженерный момент, который часто упускают в разговорах уровня “ну раньше же работало”. Раньше работал не абстрактный H.264. Раньше работал конкретный набор конкретных потоков.

Почему в веб-интерфейсе камеры видно лишь малую часть реальности

Потому что если показать пользователю все, камера рискует стать учебным курсом по теории сжатия, а не прибором. Производители вынуждены упрощать интерфейс. Они оставляют наверху только самые понятные параметры: разрешение, частоту кадров, битрейт, иногда профиль, иногда интервал ключевых кадров, иногда переключатель “умного” режима.
Все остальное прячется внутри. И зачастую даже показываемые пользователю параметры называются не так, как они существуют в инженерной реальности. Вместо точного названия пользователь видит удобное маркетинговое. Вместо группы реальных решений ему дают один переключатель. Вместо десятка внутренних переменных он получает фразу “Баланс качества и емкости”.
Это не обязательно плохо. Но именно из-за этого многие конечные пользователи недоумевают. На камере написано одно и то же, в интерфейсе вроде бы выставлены те же цифры, а результат на объекте совсем другой. И это не магия, а просто сложная инженерия, аккуратно завернутая в дружелюбные кнопки.

Что это означает для проектирования систем видеонаблюдения

Главный практический вывод очень прост. При проектировании и модернизации системы нельзя опираться только на бренд, только на надпись H.264 или H.265 и только на несколько видимых параметров в веб-интерфейсе.
Нужно оценивать реальный профиль потока. С каким профилем и уровнем идет видео. Какая глубина цвета. Какая структура кадров. Какой реальный средний и пиковый битрейт. Есть ли B-кадры. Сколько опорных кадров используется. Как поток ведет себя днем и ночью. Как реагирует на шум, дождь, движение листвы, транспорт, сложный свет. Что делает “умный кодек”. Что делает шумоподавление. Как это декодируется на сервере, на мобильном клиенте, в архиве, в браузере и при аналитике.
Если этого не делать, то замена камер превращается в лотерею. Иногда приятную, иногда дорогую, а иногда в очень поучительную. Причем урок обычно оплачивается дисками, процессором и нервами.

Итог

H.264 и H.265 не являются одним единственным алгоритмом кодирования с фиксированным и одинаковым поведением у всех производителей. Это семейства форматов сжатого потока и правил декодирования, внутри которых допускается большой набор инструментов, ограничений и способов реализации кодера.
Именно поэтому две камеры с одинаковой надписью на корпусе могут по-разному сжимать изображение, по-разному расходовать место в архиве, по-разному нагружать сервер и по-разному вести себя в реальной системе видеонаблюдения. Постоянство программного обеспечения само по себе здесь не спасает. Оценивать нужно не мифический “тот же кодек”, а фактические параметры потока и реальное поведение конкретной камеры.