Разработка мобильного приложения для умного дома (безопасность/камеры)

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Разработка мобильного приложения для умного дома (безопасность/камеры)
Сложная
от 2 недель до 3 месяцев
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    760
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    646
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1056
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    878
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    450

Разработка мобильного приложения для умного дома (безопасность/камеры)

Видеонаблюдение в мобильном приложении — технически самая тяжёлая часть умного дома. Стриминг с камер, motion detection уведомления, просмотр архива, P2P-соединение без выделенного IP — каждый пункт несёт нетривиальные решения.

Видеострим: протоколы и задержки

Три основных протокола для IP-камер:

RTSP — стандарт для большинства NVR/DVR и IP-камер (Hikvision, Dahua, Reolink, Amcrest). Низкая задержка (300–800ms), но нет нативной поддержки в браузерах и требует TCP/UDP сокетов. На Flutter: flutter_vlc_player (libVLC под капотом) или media_kit — оба умеют RTSP. На React Native: react-native-vlc-media-player.

HLS (HTTP Live Streaming) — работает везде, задержка 3–15 секунд. Сервер (FFmpeg, MediaMTX) берёт RTSP-поток камеры и отдаёт HLS. Для архива — идеально, для live-просмотра с мониторинга — приемлемо, для двусторонней связи — нет.

WebRTC — минимальная задержка (< 500ms), P2P без сервера-посредника. Используем для intercom и baby monitor сценариев. На Flutter: flutter_webrtc. На React Native: react-native-webrtc. Требует STUN/TURN серверы для NAT traversal — coturn как self-hosted TURN или Twilio/Cloudflare TURN.

Для большинства home security приложений: WebRTC для live + HLS для архива.

P2P и NAT traversal

Пользователь смотрит камеру дома, находясь в роуминге. Камера за NAT роутера без белого IP. Варианты:

UPnP/Port Forwarding — пользователь должен сам настроить — нереалистично для потребительского продукта.

TURN relay — все данные идут через relay-сервер. Работает всегда, но сервер стоит денег и добавляет задержку.

Hole punching (ICE через STUN) — прямое P2P соединение через обмен внешними IP/портами. Работает в ~75–85% случаев с Symmetric NAT. coturn как STUN: бесплатно, deploy на VPS.

Туннели (WireGuard, ZeroTier, Tailscale) — устройства в домашней сети подключены к VPN-мешу. Мобильное приложение подключается к тому же мешу. Tailscale SDK для мобильных есть официальный. Самый надёжный вариант, требует настройки на стороне роутера/сервера.

Реальный проект: квартирный домофон-камера на Raspberry Pi + WebRTC + coturn. Hole punching работал в 80% случаев, для остальных TURN relay. Средняя задержка видео в P2P режиме — 180–250ms. Этого достаточно для домофона.

Motion Detection уведомления

Камера детектирует движение → уведомление на телефон → пользователь смотрит запись.

Детекция на уровне камеры: большинство IP-камер отправляют HTTP webhook или MQTT при срабатывании. Принимаем на бэкенде → FCM/APNs push с content-available: 1 (iOS silent push для фоновой обработки).

На iOS: UNNotificationServiceExtension для добавления превью-изображения к уведомлению. Камера вместе с webhook отправляет URL снимка — extension скачивает и прикрепляет к notification. Пользователь видит уведомление с картинкой прямо из шторки.

На Android: BigPictureStyle notification через Firebase Messaging. Изображение скачиваем в NotificationCompat.BigPictureStyle builder.

Детекция движения через ML на мобильном клиенте (фоновая обработка кадров) — убивает батарею. Не делаем это на телефоне.

Запись и архив

Локальная запись на SD-карту камеры → просмотр через архив в приложении. NVR API (Hikvision ISAPI, Blue Iris API) для навигации по записям.

Timeline архива — горизонтальная полоса времени с метками движения. На Flutter: кастомный CustomPainter с Canvas.drawRect для каждого сегмента. Зум жестом (pinch-to-zoom) изменяет временной масштаб.

Облачное хранение: загружаем фрагменты движения на S3/GCS. Нарезка через FFmpeg на сервере по сигналам webhook. Хранение 7–30 дней с TTL-политикой.

Типичные ошибки

Использование Image.network для обновления MJPEG-снапшотов каждую секунду — каждое обновление пересоздаёт виджет, флиммер в UI. Используем кастомный ImageStream с кэшем или правильный MJPEG-плеер.

Не думать об фоновом режиме: на iOS PiP (Picture-in-Picture) для видеопотока требует AVPlayerViewController или явной поддержки через AVFoundation. flutter_vlc_player поддерживает PiP начиная с версии 7.x.

Сроки

Одна камера, RTSP/HLS просмотр, motion уведомления — 5–7 недель. Мультикамерный вид, P2P/WebRTC, архив с timeline, двусторонняя связь — 3–5 месяцев. Стоимость зависит от типов камер и требований к облачному хранению.