Обзор аппаратных кодеров

2017-10-29 23:10:00

Сегодня развитие компьютерной техники позволяет сделать практически любое устройство на базе ПК. Достаточно лишь добавить необходимые аппаратные и программные компоненты, которые помогут в реализации требуемого функционала. Если говорить об устройствах кодирования видео и аудио сигналов, достаточно установить плату захвата сигнала, необходимое программное обеспечение и дополнительные средства аппаратной обработки, например, видеокарту с поддержкой CUDA/NVENC или Intel Quick Sync, если мощности CPU недостаточно. Получится универсальное гибкое решение, конфигурация которого может быть легко изменена или дополнена в любой момент. Если же взглянуть с точки зрения возможных затрат и эргономики изделия, то, кроме универсальности, других реальных преимуществ у подобного подхода нет.

Рассмотрим типовую конфигурацию:

  • Процессор по производительности не хуже Intel Core i5/i7 (желательно также иметь встроенный адаптер с поддержкой Intel Quick Sync).
  • Объем памяти не менее 8 Гб (Стоит помнить, что помимо кодирования, часть ресурсов ПК будет выделена под обслуживание работы операционной системы).
  • Жесткий диск, желательно SSD для обеспечения быстрой перезагрузки в случае возникновения проблем или серьезного сбоя
  • Видеоадаптер с поддержкой CUDA/NVENC.
  • Система охлаждения.

В общей сложности подобная конфигурация будет стоить не менее 700-800 долларов США. И при этом размер такой станции, в лучшем случае будет mini ITX. Далее к этой сумме необходимо добавить стоимость платы захвата сигнала, что добавляет еще как минимум 200 долларов. Вполне возможно, что и за программное обеспечение также придется доплатить, если функционала стриминга в чистом виде недостаточно. Другими словами, для создания собственного решения для стриминга видео/аудио потока минимальные вложения составят порядка 1000 долларов. В целом, сумма небольшая, особенно если учесть гибкость такого решения и возможность модернизации. Однако, существует и ряд существенных недостатков, не позволяющих однозначно остановить свой выбор лишь на программных кодерах на базе ПК:

  • Размер. Как говорилось выше, это miniITX в лучшем случае.
  • Потребляемая мощность. Она составит ориентировочно 200 Вт, так как кроме процесса кодирования, система вынуждена обслуживать и сторонние процессы.
  • Отсутствие средств удаленного управления в большинстве случаев. Тут стоит сказать, что речь идет не об удаленном рабочем столе, а о возможности перенастройки параметров стриминга через веб-интерфейс, клиентское приложение, или команды SSH.
  • Отсутствие гарантии полной совместимости всех аппаратных и программных компонентов. Проблема может возникнуть не только на этапе сборки кодера, но и периодически или бессистемно возникать в процессе работы, что может приводить не только к ошибкам в кодируемом сигнале, но и к критическому сбою вплоть до полной неработоспособности системы.

Конечно на практике все не так страшно, так как современные рабочие станции и ПО в последнее время существенно повысили свой уровень отказоустойчивости. Но совсем не брать в расчет эти проблемы нельзя.

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

Безусловно, любой кодер всегда будет представлять собой систему, в которую встроен небольшой маломощный ПК под управлением Linux, который управляет процессами кодирования, но сам в просчете участия не принимает. Его операционная система ограничена по функционалу на столько, чтобы ее хватало на выполнение лишь требуемых задач и не более того. А сам процесс преобразования сигнала, его кодирования и обработки выполняют встроенные сопроцесоры, которые лишь получают управляющие команды.

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

Другими словами, по цене программного кодера можно получить аналогичный аппаратный, но более компактный, надежный и простой в обслуживании прибор.

Все предложения таких решений можно условно разделить на 3 основные группы:

  • Бюджетные кодеры в ценовом диапазоне 1000-3000 долларов США.
  • Дорогие устройства для построения отказоустойчивых систем в ценовом диапазоне от 5000 долларов за кодируемый канал.
  • Видеокамеры с поддержкой функции стриминга.

В рамках одной статьи в полной мере сложно описать все реальные возможности тех или иных устройств, поэтому обзор будет построен на кратком анализе основных возможностей, поддержке определенных технологий и области применения бюджетных кодеров (п.1). приборы с высокой стоимостью обладают несколько другим функционалом, а сравнение их с недорогим сегментом некорректно ввиду различных обстоятельств, помимо цены. IP-камеры также являются темой отдельного обзора.

Бюджетные кодеры.

Этот сегмент на рынке представлен просто невероятно огромным количеством продукции, начиная от изделий известных брендов типа Matrox или AJA и заканчивая дешевыми китайскими производителями, реальная работа которых вызывает большие сомнения. Отдельно стоит упомянуть и о российском производителе, компании StramLabs, их решения при относительно низкой стоимости имеют неплохой функционал.

Теперь рассмотрим конфигурацию типового бюджетного ПК-кодера на примере Matrox Monarch.

Продукт представляет собой одноплатный компьютер, оснащенный процессором со встроенным ядром кодирования видео и аудио данных, набором схем памяти, модулем Flash памяти, а также HDMI и аудио преобразователем. Используемый процессор TMS320DM8148 (ARM Cortex A8 Core) работает на частоте 1 ГГц, имеет 512 кб кэш L2, а также поддерживает аппаратное кодирование для h.264, MPEG2, MPEG4, SP/ASP, JPEG/MJPEG. На плате установлены 4 модуля памяти SKhynix h5tq2g63dfr объемом 2 Гб DDR3, а также модуль NAND Flash 29F4G16ABADA объемом 16 Гб. В качестве операционной системы присутствует ОС Linux. Так как наличие графического интерфейса и реализация полноценной работы не требуются, а наиболее ресурсоемкий процесс (процесс кодирования) поддерживается на аппаратном уровне, ПК представляет собой отличное решение, позволяющее при минимальных энергозатратах получить результат, сравнимый с ПК уровня Core i5/i7.

В общем, устройство простое, требующее минимального обслуживания и потребляющее незначительное количество энергии. Проблема только одна: установить причину неисправности и починить его вне сервисного центра или специализированной мастерской практически нереально.

Кодеры компании StreamLabs.

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

Четырехканальный IP-видеосервер WaveServer 3554.

Продукт предназначен для одновременного кодирования четырех видеосигналов стандартного (SD) разрешения с аналоговых камер в IP потоки в стандарте ONVIF v2.2. Для каждого канала поддерживается максимальная частота 25 кадров в секунду. Питание устройства осуществляется от постоянного тока 12-48 V или по технологии PоE.

Наличие дополнительного процессора позволяет скодеру WaveServer 3554 встраивать различную видеоаналитику непосредственно в устройство. Данный прибор поддерживает: детектор движения, распознавание автомобильных номеров и выделение лиц.

Настройка осуществляется через встроенный web-интерфейс, либо через ONVIF совместимое программное обеспечение. Кодирование осуществляется с помощью встроенного компрессора Stretch 7120 и поддерживает форматы MJPEG и H.264. С помощью встроенного интерфейса RS-485 устройство позволят управлять поворотными механизмами и поворотными камерами в стандартах Pelco-D, Pelco-P. Поддерживаются TP/RTCP, RTSP протоколы стриминга.

Одноканальный IP-видеосервер WaveServer VCL-SDI MINI

Устройство представляет собой одноканальную систему кодирования SD/HD/3G-SDI сигнала с вложенным или аналоговым звуком с поддержкой видео сигнала вплоть до 1080p@60 с поддержкой компрессии H.264 или MJPEG и передачей сигнала по RTP/RTSP протоколу. Параметры сигнала на входе определяются автоматически, а стриминг начинается при наличии сигнала на входном интерфейсе. Управление также осуществляется через веб-интерфейс или с помощью ONVIF совместимые приложения. Но, в отличии от предыдущей модели, отсутствует поддержка управления PTZ-камерами, а также детектор движения и распознавание элементов изображения. Это кодер в чистом виде с поддержкой PoE или питанием от внешнего источника.

Одноканальный IP-видеосервер WaveServer DVI-IP Pro

Кодер является аналогом модели WaveServer VCL-SDI MINI по функциональным параметрам, поддерживает цифровой проходной (By-Pass) видеосигнал DVI-D на входе, а также аналоговый аудиосигнал. Благодаря поддержке различных форматов к устройству можно подключить как видеокамеры с различным разрешением, так и различные приборы типа медицинского осциллографа, либо видеовыхода ПК.

Представленные выше кодеры отечественного производителя (Streamlabs) являются очень неплохим и бюджетным решением как добавления сигнала классических видеокамер в IP-среду передачи данных, так и для приема и кодирования данных, получаемых от специфического медицинского и компьютерного оборудования. Неплохое решение при стоимости 55 тысяч рублей за прибор. Но устройства не имеют ни возможности удаленного управления, ни записи видеосигнала на внешний носитель, ни системы резервирования.

Кодеры компании Matrox.

Данный бренд представляет две линейки продуктов, которые можно условно разделить на устройства для стриминга в интернет и на устройства передачи видео и аудио данных по IP-сетям.

Подразделение Matrox Video продвигает серию Monarch, тогда как Matrox Graphics в качестве аппаратных решений предлагает пользователю Maevex.

Производитель однозначно разделяет эти направления, однако, например, Matrox Monarch HD и Matrox Maevex являются в основе одним и тем же устройством с различной прошивкой. При этом кодеры от Matrox Video, как это ни странно, менее надежны, более чувствительны к входящему сигналу, менее отказоустойчивы и имеют ряд других недостатков.

Matrox Monarch серия.

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

По сравнению с продуктами StreamLabs принципиальным отличием данных кодеров является наличие API. Управление реализовано через HTTP протокол. Достаточно перейти по ссылке, чтобы выполнить стар стриминга/записи или другие базовые функции. На первый взгляд, это не очень нужные возможности, так как есть простой и понятный веб-интерфейс. Но с другой стороны с помощью данного способа управления устройство легко встраивается в различные системы автоматизации, при этом нет необходимости в использовании специфичных протоколов или технологий. Есть официально поддерживаемая интеграция с контроллерами Crestron 2 и 3 серии. Реализована поддержка разрешения вплоть до 1080p60, а также аналогового или цифрового вложенного (embedded) звука.

Стоит отдельно отметить поддержку одновременно стриминга и записи сигнала при поддержке довольно высокого битрейта в сохраняемом файле (до 30 Мбит/сек с компрессией h.264). При этом совсем не обязательно писать и генерировать Live-поток с одинаковыми параметрами, битрейт может отличаться, а сами процессы запускаться независимо друг от друга либо по http команде, либо через веб-интерфейс, или по нажатию соответствующих кнопок на лицевой панели устройств. Запись сигнала осуществляется на карту SD, накопители USB-Flash (в том числе на внешние жесткие диски), а также в сетевые папки или NAS хранилище.

Matrox Monarch HD.

Это самый первый IP-кодер компании Matrox. Его первые модели были весьма нестабильны, постоянно зависали, а генерируемый поток содержал ошибки, которые не всегда позволяли корректно принимать поток декодирующими устройствами.

Со временем прибор был существенно доработан, его стабильность повысилась.

Что касается поддерживаемых стандартов, то Matrox Monarch HD поддерживает компрессию h.264/AAC с изменением битрейта вплоть до 20 Мбит/сек для стриминга и до 30 Мбит/сек для записи. Для стриминга поддерживаются протоколы RTMP/RTSP, поток может быть передан на медиа серверы Wowza, Adobe Media Server, видео хостинги типа YouTube, Vimeo и другие. Запись может осуществляться как на внутреннее USB/SD хранилище, так и в сетевую папку в MP4 или MOV контейнер.

Практика использования устройства показала, что при стабильном входном сигнале оно способно работать в режиме 24/7. Но при наличии ошибок во входном сигнале или нестабильном сетевом соединении сбои в работе могут привести к критическим последствиям, вплоть до необходимости сброса настроек до заводских.

Стоимость составляет порядка 1200 долларов США. Другими словами, мы получаем неплохой кодер, по характеристикам не хуже решения, собранного на базе ПК. При этом присутствует возможность удаленного управления, а также возможность интеграции прибора в сложную автоматизированную систему.

Еще одним существенным преимуществом является пассивная система охлаждения, чего нет в HDX и LCS.

Matrox Monarch HDX.

Если верить тому, что пишет об устройстве производитель, то это 2-х канальное устройство, позволяющее одновременно обрабатывать сигналы с HDMI и SDI входов. На практике это не так. Прибор работает лишь с одним из сигналов. А поддержка 2-х каналов в реальности представляет собой генерацию 2-х независимых потоков от HDMI или SDI источника. Переключение между сигналами в реальном времени отсутствует, стриминг сначала необходимо остановить, изменить источник, а затем запустить вновь.

По всем остальным характеристикам кодер повторяет возможности Matrox Monarch HD. Но стоит отметить, что разработчики сделали действительно новый прибор, который обладает значительно более высокой стабильностью, более устойчив к ошибкам во входном сигнале, более устойчив к сбоям в сети и в состоянии продолжать работу без перезагрузки при возникновении проблем, что проверено многократными тестами. Отсутствие сигнала на входе или изменение характеристик не приводит зависанию.

Еще одной интересной особенностью является возможность управления несколькими приборами через единый веб-интерфейс. Пользователь добавляет адреса до 4-х дополнительных кодеров, после чего может одновременно передавать команды на запись/стриминг.

Порядок стоимости составляет 1400 долларов США, что представляет собой вполне разумную цену за стабильное отказоустойчивое устройство, позволяющее генерировать 2 потока, пусть и от одного источника.

Matrox Monarch LCS.

Данный прибор является действительно 2-х канальным, в отличии от модели HDX. Пользователь может работать с ними как с независимыми кодерами, осуществляя запись/стриминг.

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

С технической точки зрения, данный продукт представляется наиболее интересным в линейке Monarch. Это и многоканальный режим работы (в отличии от HDX, действительно двухканальный), и поддержка функционала видеомикшера, а также все преимущества, которые доступны в предыдущих моделях при сохранении относительно компактных размеров. Правда стоимость решения совсем не бюджетная и составляет порядка 3000 долларов США.

Matrox Maevex серия

Другое подразделение компании Matrox, Matrox Graphics, занимается решениями для создания видеостен и мультиэкранных процессоров. Из всей продуктовой линейки для данного обзора представляют интерес кодеры серии 5100(HD) и серия 6100 (4K/UHD) устройства.

Matrox Maevex 5100.

Решение состоит кодера , который позволяет передавать сигнал вплоть 1080p60 видео со звуком по стандартной IP сети, и необязательного декодера. Maevex Encoder производит захват видео и аудио от компьютера или другого медиа источника и раздаёт сигналы на любые внешние устройства или декодеры Maevex.

Поддерживается компрессия H.264/Mpeg4 Part 10 (AVC) для видеосигнала с максимальным битрейтом 25 Мбит/сек, компрессия AAC-LC для аудио с максимальным битрейтом 256 кбит/сек. Средства настройки параметров потока позволяют регулировать CBR/VBR, настраивать размер структуры GOP (Group of Pictures). Стриминг осуществляется по протоколам RTP/RTSP/RTCP внутри UDP.

К сожалению, устройства серии 5100 не поддерживают управление через веб-интерфейс, для настойки требуется установить Windows-совместимое программное обеспечение, Matrox PowerStream, позволяющее осуществлять удалённый контроль и управление топологией всей сети Maevex. Установленное приложение поддерживает множество функций, таких как обнаружение устройств, настройка стриминга, управление, выбор пары кодер-декодер. Интересной является также и функция передачи команд RS-232 в составе того же потока, что позволит не просто осуществить доставку видео и аудио сигналов до устройства воспроизведения, но и управлять, например, промышленными LCD-дисплеями. Цена кодера составляет ориентировочно 1200 долларов, декодера примерно 600 долларов.

Matrox Maevex 6100.

Это четырехканальный кодер с поддержкой разрешения вплоть до 4K/UHD. Битрейт на каждый канал достигает максимального значения 120 Мбит/сек с поддержкой кодирования H.264/MPEG-4 Part 10 (AVC) для видео, и 576 кбит/сек MPEG-4 AAC-LC/HEv1/HEv2 для аудио. Отдельно стоит отметить возможность обработки изображения с поддержкой эффектов PiP, PbP, масштабирование. Есть поддержка записи сигнала с сохранением в формат mp4 на сетевые ресурсы. В качестве протоколов стриминга теперь доступны как стандартные RTP/RTSP/RTCP, так и HTTP/HTTPS over TCP UPnP, MPEG2.TS over UDP, RTMP.

Устройство имеет два сетевых интерфейса, один из которых поддерживает только стриминг потока, тогда как другой, помимо стриминга, поддерживает управление. Это очень правильное и удобное решение, так как позволяет разделить сети управления и сети для передачи видеоданных. Безусловно, кодер Maevex 6100 совместим с декодером серии 5100, если конечно разрешение входного потока не превышает 1920*1080 пикселей.

Стоимость данного продукта непонятна, в открытом доступе данной информации нет. Но ожидается порядок 1000-1500 долларов США за канал кодирования, иначе «бюджетным» назвать его будет сложно.

Кодер AJA HELO.

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

Итак, в первую очередь в глаза бросается поддержка максимального разрешения. Оно составляет 2048х1080p. Параметр выше, чем у конкурента, однако есть и небольшое ограничение: поддерживается оно только для SDI входа и аппаратно уменьшается до 1080p с применением эффекта Center Cut. Тип компрессии тот же, H.264/MPEG-4, те же и поддерживаемые профили (Baseline, Main, High), а вот битрейт составляет уже 20 Мбит/сек как для стриминга, так и для записи. Тогда как даже Matrox Monarch HD поддерживает до 30 Мбит/сек. Для звука стандартно поддерживается AAC-LC до 256 кбит/сек. С протоколами стриминга на стороне HELO преимущество, так как помимо RTSP/RTMP добавлена поддержка RTP/UDP (Unicast, Multi Unicast), а этого очень не хватает в продуктах компании Matrox.

Запись в файл также поддерживается, это и запись на SD/USB-флеш носитель, и запись в сетевой ресурс. Но для USB тут есть поддержка стандарта USB 3.0. Преимущество скорее маркетинговое, нежели реально нужное, так как писать с битрейтом 20 Мбит/сек можно и на низкоскоростной носитель информации.

Управление осуществляется через веб-интерфейс, а также имеется Mini USB слот для настроек и обновления прошивки. Также имеется набор средств для разработчика REST API. Но вот отдельно стоит выделить такую удобную функцию, как встроенный планировщик задач и поддержку ICS-календарей. Это очень удобно, так как позволяет не просто работать с расписанием, но и верстать его через внешние системы, а также синхронизировать работу устройства с функционированием внешней системы автоматизации без необходимости производить разработку внешних решений и модулей. Это является значительным преимуществом в сравнении с конкурентами от Matrox.

Средняя стоимость продукта на рынке составляет 1500 долларов США.

Подводя итог.

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

А теперь в качестве обобщения объединим в сравнительную таблицу устройства, описанные в данной обзорной статье, которые представляются наиболее важными в данном ценовом сегменте.

StreamLabs Matrox Video Matrox Graphics AJA
WaveServer 3554 WaveServer VCL-SDI MINI WaveServer DVI-IP Pro Monarch HD/td> Monarch NDX Monarch LCS Maevex 5100 Maevex 6100 HELO
Количество и тип входного сигнала 4 SD аналоговых сигнала 1 3G-SDI вход 1 DVI/HDMI вход 1 HDMI вход 1 3G-SDI вход, 1 HDMI вход 1 3G-SDI вход, 1 HDMI вход 1 HDMI/DVI вход, 1 VGA вход (1080р) 4 HDMI входа (4K/UHD) 1 3G-SDI вход, 1 HDMI вход
Протоколы стриминга RTP/RTSP RTP/RTSP RTP/RTSP RTMP/RTSP RTMP/RTSP RTMP/RTSP RTP/RTSP RTP/RTSP, RTMP, HTTP RTP/RTSP, RTMP, UDP
Видео компрессия h.264/MPEG4, MJPEG h.264/MPEG4, MJPEG h.264/MPEG4, MJPEG h.264/MPEG4 h.264/MPEG4 h.264/MPEG4 h.264/MPEG4 h.264/MPEG4 h.264/MPEG4
Аудио компрессия AAC-LC AAC-LC AAC-LC AAC-LC AAC-LC AAC-LC AAC-LC AAC-LC AAC-LC
Возможность записи Нет Нет Нет Да Да Да Да Да Да
Управление Веб-интерфейс, ONVIF-клиент Веб-интерфейс, ONVIF-клиент Веб-интерфейс, ONVIF-клиент Веб-интерфейс Веб-интерфейс Веб-интерфейс Matrox PowerStream Matrox PowerStream Веб-интерфейс, Mini USB
Наличие API Нет Нет Нет Да Да Да Да Да Да
Электропитание PoE, внешний блок питания PoE, внешний блок питания PoE, внешний блок питания Внешний блок питания Внешний блок питания Внешний блок питания Внешний блок питания Внешний блок питания Внешний блок питания
Стоимость, доллары США 900 900 900 1 200 1 400 3 000 1 200 10 000 1 500