Skip to content

vladpen/cams

Repository files navigation

Cams

Cams

Простое мобильное приложение под Android для воспроизведения RTSP потоков с IP камер.

Особенности:

  • Просмотр RTSP потоков c любых IP камер, включая H.265+.
  • Одновременный просмотр нескольких потоков.
  • Двадцатикратное увеличение изображения.
  • Поддержка двухканальных камер.
  • Просмотр видеозаписей или изображений по протоколу SFTP.
  • Возможность настройки оповещений о срабатывании детектора движения камеры.
  • Высокая скорость подключения.
  • Предельная простота навигации и управления.
  • Максимальная безопасность и конфиденциальность данных.
  • Переключение протокола TCP/UDP. Эта опция важна при просмотре камер через интернет, где UDP может не поддерживаться или работать плохо.

Main screen  Edit screen  Files screen  Video screen

Приложение написано для совместного использования с сервером python-rtsp-server, но прекрасно работает автономно благодаря возможности подключения к любым IP камерам, а также видеорегистраторам, поддерживающим SFTP.

Воспроизводит большинство типов видеопотоков (не только RTSP). На снимке экрана выше показано изображение с реальной видеокамеры и три тестовых ролика в режиме "Группа".

ВАЖНО. Приложение ориентировано на безопасность и приватность данных, поэтому не собирает и не обрабатывает никакую информацию о пользователе. Данные не отправляются ни на какие сервера, включая техническую инфраструктуру Google и "облачные" хранилища производителей камер.

Установка

APK файл можно собрать самостоятельно, скачать с Github, установить с помощью F-Droid или RuStore. Поддерживается архитектура ARM-64 (используется в большинстве современных мобильных телефонов), ARM, x86-64 и x86.

Настройка

Для подключения к видеокамере нужно ввести в поле "Адрес" ее URL, указанный производителем. Обычно он выглядит так:

[rtsp://][<пользователь>:<пароль>@]<IP>[:<порт>][/<путь>]

Параметры в квадратных скобках необязательны (зависит от настроек камеры).

Для двухканальных камер дополнительно можно указать адрес второго канала. Нпример, для камер Hikvision и их производных путь будет иметь такой вид:

ISAPI/Streaming/Channels/<номер канала>

Тогда первый канал (высокого разрешения) будет иметь номер 101, а второй (низкого разрешения) — 102.

Каналы низкого разрешения можно использовать для ускорения загрузки изображения, для экономии трафика и для снижения нагрузки на процессор устройства. Это особенно удобно для просмотра группы камер при низкой скорости соединения. При воспроизведении каналы можно переключать кнопкой К1/К2 в нижнем правом углу экрана. На экранах групп камер по умолчанию используется K2.

Также для снижения нагрузки воспроизведение камер, выходящих за границы экрана при увеличении изображения, приостанавливается.

Адрес SFTP сервера или видеорегистратора выглядит так:

[sftp://]<пользователь>:<пароль>@<IP>[:<порт>][/<путь>]

ВНИМАНИЕ! Настоятельно не рекомендуется использовать данные доступа администратора. Для SFTP сервера лучше создать chroot, например, как описано тут.

Совет: в названии камеры можно использовать эмодзи в качестве иконки. Например, на снимках экрана выше использованы иконки из стандартного набора мобильного телефона.

Оповещение о движении

Опционально приложение может уведомлять о срабатывании детектора движения камер. Оповещение срабатывает в момент появления нового изображения с камеры в указанной папке SFTP сервера. Для работы этой функции требуется настроить камеры и сервер хранения полученных изображений. Подробно эти настройки описаны в параллельном проекте Cams-PWA.

Подробное обсуждение приложения: habr.com/ru/post/654915 и сервера: habr.com/ru/post/597363.

Get it on Github Get it on F-Droid

  Доступно в RuStore

Copyright (c) 2022-2024 vladpen under MIT license. Use it with absolutely no warranty.