Функциональные характеристики

Flussonic Iris — прошивка для IP-камер на базе SoC HiSilicon

Flussonic Iris — встраиваемое программное обеспечение для IP-камер. Прошивка работает на аппаратных платформах HiSilicon и обеспечивает захват изображения с матрицы, кодирование видео, передачу потоков и удалённое управление камерой.

1. Подключение к сенсорам на камере HiSilicon

Программное обеспечение взаимодействует с видеосенсором камеры через стек Media Process Platform (MPP) HiSilicon. При запуске загружается драйвер сенсора (библиотека libsns_*.so), соответствующий установленной матрице и модели камеры.

Цепочка обработки видеосигнала:

  • сенсор → интерфейс MIPI/LVDS;
  • модуль захвата видео (VI);
  • обработка изображения (ISP): экспозиция, баланс белого, автофокус;
  • масштабирование и предобработка (VPSS);
  • аппаратное кодирование H.264 / JPEG (VENC).

Поддерживаются сенсоры, используемые в серийных моделях камер на чипах HiSilicon 3518, 3516 и 3519 (в том числе OV9712, IMX122, IMX178, IMX274 и другие). Конкретный сенсор определяется моделью устройства при сборке прошивки.

2. Настройка

Конфигурация камеры хранится в файле /etc/iris/iris.conf в формате JSON. Настройки можно изменять через веб-интерфейс или HTTP API; часть параметров применяется без перезагрузки устройства.

Основные настраиваемые параметры:

  • Сеть — IP-адрес (DHCP или статический), шлюз, DNS;
  • Потоки — до трёх видеоканалов: основной H.264, субпоток, JPEG-снимки;
  • Видеокодек — H.264 CBR/VBR: битрейт, GOP, профиль (base/main);
  • Изображение — зеркалирование, переворот, экспозиция, цвет, резкость, ИК-фильтр;
  • Аудио — выбор кодека на канале (AAC, L16, G.711A или отключение);
  • RTSP — порт (по умолчанию 554), режим передачи RTP;
  • HTTP — порт веб-интерфейса и API (по умолчанию 80);
  • Пользователи — учётные записи и права доступа;
  • OSD — наложение текста на видеоизображение.

Управление камерой доступно через браузер по HTTP. Устройство анонсирует себя в локальной сети через mDNS.

3. Приём сжатого видео, отдача по RTSP

После аппаратного кодирования сжатые кадры H.264 и JPEG поступают во внутренний распределитель потоков, откуда доступны подписчикам: RTSP-сервер, HTTP-плеер, WebSocket, WebRTC и локальная запись.

Прошивка включает встроенный RTSP-сервер (RTSP/1.0). Адреса потоков:

  • rtsp://<IP>/PSIA/streaming/channels/1 — основной поток H.264;
  • rtsp://<IP>/PSIA/streaming/channels/2 — субпоток;
  • rtsp://<IP>/PSIA/streaming/channels/3 — JPEG-снимки.

Видео передаётся в RTP с кодеком H.264 (payload type 96). По умолчанию используется транспорт RTP поверх TCP (RTP/AVP/TCP); при включении соответствующей опции в конфигурации доступна передача по UDP.

Доступ к потокам защищён аутентификацией (HTTP Basic). Помимо RTSP, видео доступно по HTTP в форматах FLV, fMP4 и WebRTC.

4. HTTP API

Управление камерой и получение потоков реализованы через HTTP API, совместимый со стандартом PSIA. Запросы и ответы — в формате JSON.

Основные группы методов:

  • АутентификацияPOST /auth/login, сессионные cookie;
  • КонфигурацияGET/PUT /config, /PSIA/System/configurationData;
  • ПотокиGET/PUT /PSIA/Streaming/channels/{id}, снимки, fMP4, WebRTC;
  • Система — информация об устройстве, перезагрузка, сброс, обновление прошивки, журнал;
  • Сеть/PSIA/System/Network/interfaces;
  • Изображение — экспозиция, цвет, резкость, ИК-фильтр;
  • Пользователи/PSIA/Security/AAA/users;
  • PTZ — непрерывное управление поворотом камеры.

Права пользователей разграничены: администрирование, настройка видео, просмотр потоков, управление PTZ, обновление прошивки и другие.

5. Транскодирование PCM в AAC

Звук с микрофона камеры захватывается через аудиовход HiSilicon (модуль AI) в формате PCM: 8 кГц, 16 бит, моно. При выборе кодека AAC в конфигурации PCM-трафик программно кодируется в AAC перед передачей в RTSP-поток.

Параметры кодирования AAC:

  • частота дискретизации — 8 кГц;
  • битрейт — 16 кбит/с;
  • каналы — 1 (моно);
  • размер кадра — 1024 сэмпла.

Кодирование выполняется программным AAC-энкодером (VO AAC). Сжатые кадры передаются в RTP с профилем mpeg4-generic и включаются в RTSP-поток как отдельный аудиотрек (trackID=2).

Альтернативные режимы аудио: передача несжатого PCM (L16) или аппаратное кодирование G.711A (PCMA) без программного транскодирования.