Производительность

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

Мы провели ряд тестов, специально выбрав для них относительно скромное аппаратное обеспечение, чтобы показать, сколько видеоканалов может быть обслужено системой, использующей Viinex, — компьютерами на базе Intel x86 и ARM. Ниже представлены цифры, резюмирующие эти тесты. Цифры даны в предположении, что средний битрейт одного видеоканала составляет 2 МБит/с, что примерно соответствует реальности для типичной 2-мегапиксельной камеры, установленной для наблюдения за сценой с умеренной активностью (количеством движения в кадре), и кодирующей видео с такими настройками, чтобы изображение получалось приемлемого качества.

Intel X64

На низкопроизводительном энергосберегающем процессоре Intel, таком как Core i3 с индексом U, двухъядерным, работающим на частоте 2 ГГц, Viinex использует около 2% времени однго ядра процессора на каждый принимаемый и записываемый видеоканал. Вдобавок, 1% времени однго ядра процессора уходит на выдачу потока видео одному удаленному клиенту — будь то живое видео или записанный ранее видеоархив. Таким образом, на компьютере с процессором, сравнимым с указанным выше, система, использующая Viinex, может записывать и раздавать для отображения видеоданные от не менее чем 50 видеокамер. Для компьютера на базе 4-ядерного Intel Core i5 это число будет вдвое выше.

ARM

Для системы на базе ARM для демонстрации используется общеизвестная платформа Raspberry Pi, ее второе поколение (выпуск начат в 2015 году). Это SoC с 4-ядерным процессором Cortex A7, работающим на частоте 900MHz. Интерфейс Ethernet на этй плате реализован через шину USB, что важно в данном тесте: задача, решаемая Viinex, существенно зависит от производительности сетевого ввода-вывода. При работе на этом одноплатном компьютере, Viinex расходует 4% процессорного времени на каждый видеоканал, который принимается от видеокамер и записывается, и дополнительно 2% процессорного времени на каждый видеопоток, раздаваемый удаленному клиенту. Отметим, что указанные здесь проценты относятся к процессору/устройству в целом, — не к отдельному ядру. Таким образом, на Raspberry Pi 2 с помощью программного обеспечения Viinex оказывается возможным обработать — записать и раздать видеопотоки для просмотра — около 12 видеокамер.