Розробка мобільного додатку для відеоспостереження (IP-камери)

Неправильний вибір протоколу відеопотоку може призвести до розсинхронізації звуку, високого трафіку та непрацюючих сповіщень. Ми розробляємо мобільні застосунки для відеоспостереження, інтегруючи IP-камери через RTSP, ONVIF та інші протоколи. Наша команда реалізує проєкт під ключ — від аудиту та вибору стеку до впровадження та подальшої підтримки.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Розробка мобільного додатку для відеоспостереження (IP-камери)

Інтеграція з пристроями (BLE, NFC, IoT, HomeKit)Складнийвід 2 тижнів до 3 місяців
Часті запитання

При розробці мобільного додатку для відеоспостереження під IP-камери ключова проблема — вибір протоколу відеопотоку: RTSP для локальних, HLS/DASH для хмарних, WebRTC для мінімальної затримки. Неправильний вибір призводить до розсинхронізації звуку, високого споживання трафіку або несправних push-сповіщень. Ми розберемо кожен протокол і покажемо, як їх реалізувати на iOS та Android, включаючи motion detection та запис відео.

Мобільний додаток для відеоспостереження — це складна інтеграція мережевих протоколів, камер та мобільних можливостей. Від коректного налаштування RTSP-потоків залежить, чи побачить користувач зображення в реальному часі. Наша команда має 10+ років досвіду в цій області та понад 40 реалізованих проєктів. Стек технологій включає ExoPlayer, VLCKit, FFmpegKit, а також інтеграцію ONVIF та власні рішення для виявлення камер. Замовте консультацію, щоб отримати рішення під ваші камери.

Як вибрати протокол для відеопотоку?

Протокол Затримка Підтримка на мобільних Застосування
RTSP <1 с ExoPlayer (Android), VLCKit/iOS Локальні камери
HLS 5-30 с Нативний AVPlayer Хмарні камери
WebRTC <500 мс Бібліотеки WebRTC Потрібна мінімальна затримка

Для локальних камер найчастіше вибираємо RTSP — він дає низьку затримку та сумісність з більшістю камер. Але його реалізація на мобільних потребує додаткових бібліотек.

RTSP: декодування відео на мобільному

RTSP-потік з камери — це H.264/H.265 відео, загорнуте в RTP-пакети. Нативного RTSP-плеєра ні в iOS, ні в Android немає. Варіанти:

Android: ExoPlayer з розширенням extension-rtsp (починаючи з Media3 1.0). До цього — тільки VLC for Android SDK (libvlc-android). ExoPlayer Media3 з RTSP працює коректно для більшості камер на H.264, але на H.265 з деякими RTSP-серверами дає SOURCE_ERROR через нестандартні SDP-атрибути.

iOS: AVPlayer не підтримує RTSP. Шляхи: VLCKit (працює, але бінарник ~20 МБ), FFmpegKit з нативною компіляцією FFmpeg (важче, але максимально гнучко), або власний RTSP-клієнт на RTP/UDP через Network.framework. Останній варіант трудомісткий, але дає повний контроль над буферизацією та затримкою.

Бібліотека Платформа Підтримка RTSP Розмір Ліцензія
ExoPlayer Media3 Android Так (розширення) ~2 МБ Apache 2.0
VLCKit iOS Так ~20 МБ LGPL
FFmpegKit iOS/Android Так (збірка) ~30 МБ LGPL/GPL

Чому ONVIF — стандарт для IP-камер?

ONVIF — міжнародний стандарт для IP-камер (Hikvision, Dahua, Axis, Reolink). Профіль S визначає GetStreamUri, GetSnapshotUri, PTZ-керування. WS-Discovery для виявлення пристроїв в локальній мережі. Згідно з ONVIF Profile S, GetStreamUri повертає RTSP URL для кожної камери.

Приклад WS-Discovery на Android (Kotlin)
// Android: WS-Discovery multicast class ONVIFDiscovery {
    private val MULTICAST_ADDRESS = "239.255.255.250"
    private val MULTICAST_PORT = 3702

    suspend fun discoverDevices(timeout: Long = 3000): List<ONVIFDevice> {
        val socket = MulticastSocket(MULTICAST_PORT)
        socket.joinGroup(InetAddress.getByName(MULTICAST_ADDRESS))
        socket.soTimeout = timeout.toInt()

        val probeMessage = buildWSDiscoveryProbe()
        val packet = DatagramPacket(
            probeMessage.toByteArray(),
            probeMessage.length,
            InetAddress.getByName(MULTICAST_ADDRESS),
            MULTICAST_PORT
        )
        socket.send(packet)

        val devices = mutableListOf<ONVIFDevice>()
        val buffer = ByteArray(4096)

        try {
            while (true) {
                val response = DatagramPacket(buffer, buffer.size)
                socket.receive(response)
                parseWSDiscoveryResponse(String(response.data, 0, response.length))
                    ?.let { devices.add(it) }
            }
        } catch (e: SocketTimeoutException) {
            /* нормальне завершення */
        }

        socket.close()
        return devices
    }
}

Для отримання RTSP URL: SOAP-запит GetStreamUri з авторизацією WS-Security (Digest auth). Бібліотека onvif4java спрощує, але часто відстає від актуальних прошивок камер — простіше написати SOAP-клієнт на Retrofit з кастомним конвертером.

Багатокамерний перегляд

Сітка з 4 або 9 камер одночасно — важке завдання. Кожен RTSP-потік потребує окремого декодера. На Android з 9 камерами Full HD ризикуємо вичерпати апаратні декодери (їх зазвичай 4-8 на чипі); решта йдуть на програмний декодер з просіданням FPS до 5-10 кадрів.

Рішення: для сітки використовуємо MJPEG-знімки через ONVIF GetSnapshotUri з оновленням раз на 2-3 секунди замість повного відеопотоку. Повний RTSP вмикаємо лише при тапі на камеру — режим повного екрану. Це компроміс між навантаженням та інформативністю.

Запис та історія: локальне та хмарне зберігання

Запис кліпів з камери на телефон: завантажуємо через ONVIF GetRecordings або ISAPI (Hikvision). Локально зберігаємо в MediaStore (Android 10+) або Photos Library (iOS). Для хмарних камер — прямі посилання на MP4 з хмари виробника.

Motion detection: або апаратний (в самій камері, події приходять через ONVIF Event Service), або програмний на мобільному через порівняння кадрів по YUV різниці між попереднім та поточним. Апаратний надійніший — менше хибних спрацьовувань.

Що входить в розробку

  • Аналіз модельного ряду камер та ONVIF-сумісності
  • Вибір протоколу та налаштування RTSP-потоків
  • Розробка багатокамерної сітки з MJPEG-знімками
  • Інтеграція запису та motion detection
  • Публікація в App Store та Google Play
  • Технічна документація та навчання співробітників
  • Підтримка після релізу (опціонально)

Покроковий процес реалізації RTSP-перегляду

  1. Перевіряємо, які протоколи підтримують ваші камери (RTSP, ONVIF, HLS).
  2. Вибираємо плеєр: для Android — ExoPlayer з RTSP-розширенням, для iOS — VLCKit або FFmpegKit.
  3. Налаштовуємо буферизацію з мінімальною затримкою (ціль — не більше 500 мс).
  4. Тестуємо на різних камерах та при різних умовах мережі.
  5. Для багатокамерних режимів впроваджуємо MJPEG-знімки для економії ресурсів.

Терміни розробки

Розробка мобільного додатку з RTSP-переглядом однієї камери та базовим ONVIF-керуванням: 4-5 тижнів. Багатокамерна система з WS-Discovery, PTZ-керуванням, історією записів та push-алертами по motion: 8-12 тижнів. Вартість розраховується індивідуально після аналізу модельного ряду камер та вимог до зберігання. Економія часу на розробку з використанням готових бібліотек складає до 40% порівняно зі створенням власного RTSP-клієнта. Отримайте консультацію по вашому проєкту — оцінимо терміни та вартість.

Наш досвід в розробці додатків для відеоспостереження — понад 10 років та більше 40 успішних проєктів для камер Hikvision, Dahua, Axis, Reolink. Гарантуємо відповідність App Store Review Guidelines (Section 4.2/5.1) та безпеку даних.

Наші компетенції:

Останні роботи

  • Розробка мобільного додатка для компанії FEEDME
    Розробка мобільного додатка для компанії FEEDME
    1010
  • Розробка мобільного додатку для компанії XOOMER
    Розробка мобільного додатку для компанії XOOMER
    903
  • Розробка мобільного додатку для компанії RHL
    Розробка мобільного додатку для компанії RHL
    1332
  • Розробка мобільного додатку для компанії ZIPPY
    Розробка мобільного додатку для компанії ZIPPY
    1180
  • Розробка мобільного додатку для компанії Affhome
    Розробка мобільного додатку для компанії Affhome
    1107
  • Розробка мобільного додатку для компанії FLAVORS
    Розробка мобільного додатку для компанії FLAVORS
    714