Функциональные характеристики
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) без программного транскодирования.