Как сделать программу видеонаблюдения

В данной статье хотелось бы поделиться одним простым и доступным способом как мне удалось организовать видеонаблюдение за подъездом при помощи малинки и бытовой веб камеры. Думаю, у многих нынче в закромах завалялись уже не нужные вебки. Сужу по себе, раньше, в эпоху преобладания десктопов такая камера была вещью весьма необходимой для желающих показать себя собеседнику, а то и миру. Однако время идет, десктопы все больше заменяются ноутбуками, планшетами и телефонами, имеющими на борту свою камеру. Но зачем же добру лежать без дела?

История этого проекта началась с покупки Raspberry 3b+. После получения и первичной настройки сего чудо-девайса встал нетривиальный вопрос: «Хорошо, ну а дальше то что?». Ведь покупал я ее не с конкретной целью — а скорее как катализатор погружения в волшебный мир компьютерных технологий. Забегая вперед, скажу, что план оказался отличным и работает по сей день).

И вот пришла идея подключить к малинке валяющуюся без дела вебку Logitech C270. Далее следовал период гугления, проб и ошибок, который в итоге привел к тому, что я и собираюсь описать.

Домашнее видеонаблюдение с web камеры при помощи программы iSpy

Итак на выходе мы получаем:

  1. Видеонаблюдение за подъездом/двором, да чем угодно)
  2. При обнаружении движения в поле зрения камеры включается запись видео с дальнейшей автоматической пересылкой его в Telegram
  3. Возможность просмотра картинки камеры в реальном времени в любой точке мира, где есть интернет
  4. Опыт в общении с linux, хоть и не большой, но идеальный для первого знакомства, кроме того подкрепленный полезным и реально работающим сервисом, созданным своими руками 🙂

Предварительная настройка

Первоначальную настройку Raspberry Pi, заключающуюся в установке ОС и подключению к сети описывать пожалуй не стану, так как в сети достаточно туториалов по этой процедуре.

Я использую в качестве ОС Raspbian GNU/Linux 10 (buster), соответсвенно данный туториал будет гарантированно работать для данной версии ОС, однако, думаю и на других дистрибутивах на основе Debian все будет в порядке.

Нужно обратить внимание, что для данной модели камеры драйверы не потребовались. Убедиться, что устройство корректно распознано можно при помощи следующей команды:

ioctl: VIDIOC_ENUM_FMT Type: Video Capture [0]: ‘YUYV’ (YUYV 4:2:2) [1]: ‘MJPG’ (Motion-JPEG, compressed)

Камеры других моделей и производителей не проверял, но предполагаю, что аналогично заведется любая с протоколом Universal Plug and Play (UPnP) .

Для управления нашим серевером видеонаблюдения будем использовать пакет Motion — программа, которая отслеживает видеосигнал с одной или нескольких камер и способна определить, изменилась ли значительная часть изображения. Или, другими словами может обнаруживать движение. В случае обнаружения есть масса настроек что делать дальше.

Можно сделать фото или записать видео, сохранить его на диск (для Raspberry скорее всего SD карту), а далее, с помощью команд, указываемых в файле конфигурации проделать с полученным контентом практически все, что угодно. Также Motion содержит в себе возможность поднятия стрима с камеры, то-есть появляется возможность наблюдения за происходящим в поле зрения камеры удаленно. Вообще, конфигурационный файл Motion позволяет производить весьма шаирокую настройку. Среди прочего можно задавать параметры изображения (яркость, контрастность и т.д.), парметры обнаружения движения (также присутствут возможность указания зоны, где обнаружение производиться не будет), параметры фотографий и видео, включая формат итогового видео, его битрейт, кодек, которым оно кодируется. Далее следуют настройки стриминга видео, действия, выполняемые на этапах с момента обнаружения движения до сохранения файла с записью, специфические настройки для моторизированных камер, на них я подробно останавливаться не буду, так как в файле конфига содержаться вполне исчерпывающие комментарии по каждой опции на английском языке.

Как настроить приложение для камер видеонаблюдения iCSee Вся настройка Обновленного приложения

В конце конфигурационного файла, если камер больше чем 1 или же просто для удобства присутствует возможность настройки каждой камеры в отдельном файле. Не прописанные в нем опции берутся из общего конфига, прописанные в файле заменяют собой те, что указаны в главном конфиге. Так как у меня всего одна камера буду описывать настройку в главном конфиге.

Установка и настройка Motion

Для установки Motion пользуемся стандартным паттерном

После установки в директории /etc/motion появляется файл motion.conf, который и является главным конфигурационным файлом. Его мы и будем сейчас редактировать

Вносим изменения в следующие строки:

# Включаем опцию, которая понадобиться для автозагрузки Motion при включении или перезагрузке start_motion_daemon=yes # Выставляем максимальное разрешение, которая поддерживает камера. width 1280 height 720 # Указываем частоту смены кадров. framerate 10 # Указываем количество пикселей, смена состояния которых активирует датчик движения threshold 1000 # Значение ниже указывает на минимальное количество кадров, # при котором делается вывод о наличие движения minimum_motion_frames 3 # Значение, указывающее максимальное количество кадров, при отсутвтии изменений # на которых делается вывод о прекращении движения event_gap 10 # Указываем максимальную продолжительность одного видеофайла, по истечении которой # при продолжении движения создается следующий видеофайл max_movie_time 20 # Если фотографии не нужны — отключаем их output_pictures off # Прописываем параметры видеофайлов. Подробно расписывать каждый не буду, скажу только, # что, это оптимальный набор для возможности загрузки в Telegram и проигрывания в нем ffmpeg_output_movies on ffmpeg_output_debug_movies off ffmpeg_timelapse 0 ffmpeg_bps 400000 ffmpeg_variable_bitrate 0 ffmpeg_video_codec mp4 ffmpeg_duplicate_frames true # Выделять движущийся объект на видео locate_motion_mode on # Стиль выделения: красный квадрат. По подсказкам в конфиге можно выбрать другой цвет или фигуру locate_motion_style redbox # Указываем директорию, куда motion будет складывать отснятое. Директорию по умолчанию, # где лежат конфиги указывать не рекомендую в связи с необходимостью автоудаленя старых # видео (про это будет дальше) target_dir /var/lib/motion # Далее следуют настройки потоковой передачи видео. Порт не обязательно 90, желательно нестандартный stream_port 90 stream_quality 100 stream_maxrate 20 stream_localhost off stream_limit 0 # Требовать авторизацию для доступа к потоку вещания (если не требуется указываем 0) stream_auth_method 1 stream_authentication login:password # Указываем, что сделать с видео (послать в Telegram, указывая эту строку я немного # забегаю вперед для того, чтобы вам не пришлось повторно возвращаться в этот файл) on_movie_end /usr/local/bin/tg_video.sh Username %f

Жмем сочетание клавиш ctrl + o для сохранения, ctrl + x для выхода из текстового редактора

Собственно, на этом настройка Motion завершена.

Теперь внесем некоторые дополнительные настройки, необходимые для корректной работы.

По мере работы видеосервера видеофайлы будут накапливаться на карте памяти, пока не исчерпается свободное место. Чтобы этого не допустить организуем автоматическое удаление файлов, созданных более одного дня назад:

Запускам настройку планировщика событий crone:

Добавляем в него следующую строку (Если нужно удалять файлы старше более двух дней меняем цифру после mtime соответственно на +2 и т.д.):

0 1 * * * find /var/lib/motion -mtime +1 -exec rm <> ;

Жмем сочетание клавиш ctrl + o для сохранения, ctrl + x для выхода из текстового редактора

Пришло время установить и настроить Telegram

Установка и настройка Telegram

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

Обновляем пакеты, и устанавливаем необходимые для работы Telegram CLI:

sudo apt update

sudo apt upgrade

sudo apt install -y libreadline-dev libconfig-dev libssl-dev sudo apt install -y lua5.2 liblua5.2-dev

sudo apt install -y libevent-dev libjansson-dev libpython-dev libssl1.0-dev

make git

Скачиваем Telegram CLI

cd ~

git clone —recursive https://github.com/kenorb-contrib/tg.git

Чтобы заставить CLI Telegram скомпилироваться на Raspberry Pi, нам сначала нужно изменить один из файлов исходного кода:

Нажимаем CTRL + W для поиска, затем вводим BN2ull и жмем ENTER. Попадаем к следующему блоку кода:

static unsigned long long BN2ull (TGLC_bn *b) < if (sizeof (unsigned long) == 8) < return TGLC_bn_get_word (b); >else if (sizeof (unsigned long long) == 8) < assert (0); // As long as nobody ever uses this code, assume it is broken. unsigned long long tmp; /* Here be dragons, but it should be okay due to be64toh */ TGLC_bn_bn2bin (b, (unsigned char *) return be64toh (tmp); >else < assert (0); >>

Читайте также:
Что выведет следующая программа a 1 2 3 none print len a

В этом блоке кода мы хотим найти и заменить два вхождения assert(0), как показано ниже.

Жмем сочетание клавиш ctrl + o для сохранения, ctrl + x для выхода из текстового редактора

Теперь можем скомпилировать наш Telegram

На этом этапе нам понадобится учетная запись, зарегистрированная на отдельный телефонный номер, которая и будет присылать видео в чат в вашем основном аккаунте. Соответственно, понадобится первоначально на смартфоне создать новую учетную запись телеграм. Кроме того, для возможности бесперебойной отправки сообщений через Telegram CLI необходимо добавить вашу основную учетную запись в контакты той, которая будет работать на малинке.

Когда все описанные подготовительные процедуры завершены можно приступать к авторизации через коммандную строку.

Телеграм запросит ваш телефонный номер в формате +(код страны)ХХХХХХХ, вводим, жмем ENTER и все, ваш телеграм готов отправлять сообщения (и не только) через коммандную строку.

Сообщение можно отправить при помощи следующей команды:

Username, напоминаю, должен содержаться в списке контактов. Проверить его наличие можно командой:

Для отправки видео существует похожая команда:

msg_video Username путь к файлу видео

Убедившись, что все работает и сообщения уходят и приходят к адресату, создадим небольшой bash скрипт для обращения к телеграму напрямую из командной строки, без необходимости запускать его коммандный интерфейс. Покидаем интерфейс телеграма при помощи сочетаня клавиш ctrl + c и приступаем к созданию bash скрипта:

В появившемся окне вводим следующий код:

#!/bin/bash tgpath=/home/pi/tg cd $ (sleep 3; echo «send_video $1 $2»; echo «safe_quit») | $/bin/telegram-cli -k tg-server.pub -W

Сохраняем файл при помощи ctrl + o и выходим ctrl + c. Теперь нам нужно дать права на выполнение нашего скрипта:

sudo chmod -R 0655 /usr/local/bin/tg_video.sh

Как это работает: помните, мы прописывали в файле конфигурации motion.conf строку, которая выполняется при окончании записи видеофайла?

on_movie_end /usr/local/bin/tg_video.sh Username %f

То-есть, при окончании записи видеофайла motion помещает его в переменную f и вызывает скрипт для отправки видео в telegram, передавая ему 2 параметра: Username (в нашем случае это контакт в телеграме, которому мы присылаем видео) и %f — сам файл.

На этом настройка отправки видео в телеграм завершена, можно запускать motion:

Убедиться, что он работает можно командой

Как только движение будет зафиксировано — в telegram начнут прилетать такие видео. Что удобно, в нем можно настроить их автопроигрывание прямо в окне — не нужно загружать, сохранять и т.д.

Немного про онлайн стриминг

В принципе, внутри локальной сети видеопоток с камеры можно смотреть просто введя в адресную строку браузера ip адрес, присовенный малинке и через двоеточие порт, который мы указали в файле конфигурации.

192.168.0.106 — это адрес Raspberry, присвоенный ей моим роутером. Для того, чтобы он оставался все время одним и тем же необходимо установить привязку ip адреса к mac адресу на вашем роутере. После чего, вводим в браузере:

Появится запрос на ввод логина и пароля если вы указывали необходимость авторизации, а затем можно будет наблюдать видеопоток:

Камеру я разместил на глазке входной двери, предварительно вытащив ее из корпуса для того, чтобы объектив мог войти дальше в отверстие глазка, закрепив ее двухсторонним скотчем и прикрыв небольшим пластиковым коробком. Но тут универсальных советов нет, можно включать фантазию по полной программе)

Если вы счастливый обладатель реального ip — адреса то можно пробросить порты в роутере и наблюдать за происходящим уже из любой точки интернета, введя в адресную строку браузера уже ваш реальный ip и порт. Напрмер:

Для просмотра вводим в браузере:

Лично у себя я организовал все несколько иначе: малинка постоянно подключена по VPN к облачному серверу с реальным IP адресов. Стрим по локальному VPN IP адресу приходит в Motion, установленный на облачном сервере при помощи пункта motion.conf

Соответвенно в глобальный интернет стримит уже такой своеобразный «прокси» motion.

Вот собственно и все, надеюсь эта статья будет полезной в практическом плане и вдохновит на дальнейшее познание и разработку чего-нибудь нового 🙂

  • raspberry
  • raspberrypi
  • motion
  • telegram
  • telegrambot
  • video streaming
  • cctv
  • видеонаблюдение
  • видеонаблюдение онлайн
  • видеонаблюдение для linux
  • Настройка Linux
  • Видеотехника
  • DIY или Сделай сам

Источник: habr.com

Домашнее видеонаблюдение на Raspberry Pi

А также рабочее видеонаблюдение, уличное видеонаблюдение, офисное видеонаблюдение и гаражное видеонаблюдение.

Допустим, настало время озаботиться безопасностью и поставить дома камеры. Можно купить специальные камеры, модуль захвата видео и потратить на это много денег. А можно взять модуль Raspberry Pi с родной камерой, потратить в 10 раз меньше и получить то же самое. Ну, похожее.

Как будет работать

Мозгом нашей системы станет компьютер Raspberry Pi. Это одноплатный компьютер, на котором можно запустить полноценную операционную систему вроде Linux.

К компьютеру мы подключим камеру: у Pi есть собственный порт для неё, но можно также использовать веб-камеры с USB. Это будут наши глаза.

На Raspberry Pi мы поставим специальную операционную систему, заточенную под видеонаблюдение. Её интерфейс будет доступен через веб: можно вбить в браузере адрес нашей Raspberry Pi и получить доступ к камерам.

Операционка будет смотреть на камеры. Когда зафиксируется движение, она сфотографирует его и куда-нибудь отправит или сохранит на карточку.

Что понадобится

Плата Raspberry Pi. Лучше всего взять третью или четвёртую версию. Если всё равно, где покупать — начните с Алиэкспресса. Когда освоитесь, то найдёте магазин по душе.

Камера. Для простоты будем использовать официальную камеру Raspberry Pi NoIR v2. Она плохо снимает в темноте, но для начала нам этого хватит. Хотите ночную съёмку — выбирайте IR-версию и не забудьте про инфракрасную подсветку. Подставка для камеры — дело вкуса, можно с ней, можно без неё.

На работу она не повлияет, но устанавливать камеру будет удобнее.

Прошивка. Чтобы превратить Raspberry Pi в сервер видеонаблюдения, используем motionEyeOS. Это специальная версия операционной системы на базе Linux, где уже есть всё, что требуется для работы с камерой. Заходим на страницу проекта, выбираем нужное устройство и качаем. Устанавливать будем на следующем этапе.

Программа для прошивки. Etcher — просто и понятно. Скачиваете программу себе на компьютер и через неё заливаете файлы на карточку. Если перекинуть их просто так, ничего не получится.

Карта microSD и адаптер. Простая карточка на гигабайт или больше. Адаптер нужен для того, чтобы залить на флешку нужные файлы. Если у вас на компьютере или ноутбуке уже есть адаптер, используйте его.

Источник питания. Чтобы напряжение не проседало и всё работало стабильно, берите отдельный блок питания. У некоторых система работает от зарядки для мобильника, но тут уже на свой страх и риск.

Подготавливаем флешку

Домашнее видеонаблюдение на Raspberry Pi

  1. Устанавливаем Etcher на компьютер и запускаем программу.
  2. Вставляем флешку в кардридер и подключаем его. Если кардридер встроен в компьютер — просто вставляем флешку.
  3. В Etcher выбираем прошивку, которую будем устанавливать, выбираем диск для записи — нашу флешку — и нажимаем кнопку Flash.
  4. Ждём, пока запись закончится, и достаём флешку.

Иногда попадаются бракованные или старые флешки с битыми элементами памяти, поэтому в этом случае просто замените её на другую.

Настраиваем Wi-Fi

В современных Raspberry Pi есть разъём для подключения локальной сети, но мы ради интереса попробуем работать по Wi-Fi.

На прошлом шаге после прошивки программа сама отключила флешку, поэтому, скорее всего, компьютер её уже не видит. Вытаскиваем, снова вставляем и создаём на ней файл

— он отвечает за настройку беспроводной сети на устройстве.

Этот файл нам нужно сохранить в UNIX-формате. Для этого можно использовать любой продвинутый текстовый редактор. У нас Sublime Text, поэтому мы заходим в настройки

Sublime Text → Preferences → Settings

и добавляем такую строчку:

Домашнее видеонаблюдение на Raspberry Pi

«default_line_ending»: «unix»,

Сохраняем настройки, а потом тем же Sublime Text открываем наш файл wpa_supplicant.conf и пишем:

Читайте также:
Браузер сам открывается и устанавливает программы

country=ru
update_config=1
ctrlinterface=/var/run/wpasupplicant
network=
scan_ssid=
ssid
>

Здесь нужно поменять MyNetworkSSID на название вашей сети, а YourPassword — на пароль для подключения к ней. Сохраняем и закрываем.

Запуск и настройка

  1. Соединить камеру и сам модуль Raspberry Pi специальным шлейфом (идёт вместе с камерой).
  2. Вставить карточку в Raspberry Pi.
  3. Подсоединить питание и включить блок в розетку.

После того, как это будет сделано, ждём 3–5 минут, пока загрузится система. В это время скачиваем сканер IP-адресов, чтобы найти айпи, который будет у нашей камеры после запуска. Мы используем Angry IP Scanner, но это дело привычки.

Как только система загрузилась и сканер нашёл наш модуль в сети — вбиваем его адрес в строку браузера и вводим логин admin. Пароля нет, поэтому первое, что нужно сделать после входа, — поменять пароль на свой.

После этого запускается рабочий стол с камерами, и мы видим картинку с нашим домом. Это значит, что мы всё сделали правильно и собрали свой сервер видеонаблюдения на Raspberry Pi.

Что дальше

У вас есть веб-интерфейс операционной системы. Копаемся в меню и всё настраиваем. Например:

  • организовать запись видео по расписанию или по движению;
  • сменить IP на статичный, чтобы не искать его каждый раз;
  • cделать так, чтобы вам приходило письмо, когда кто-то проходит перед камерой;
  • добавить несколько камер;
  • поискать в интернете интеграцию motionEyeOS с Телеграмом и сделать собственного бота, который присылает вам фотографии с камер.

Получите ИТ-профессию

В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.

Источник: thecode.media

Как сделать из Android-смартфона IP-камеру?

Как сделать из Android-смартфона IP-камеру?

Для этого потребуется сам гаджет, специальный софт и интернет-подключение по Wi-Fi, желательно с выделенным, так называемым белым IP-адресом.

erid: LjN8KXX2o
ООО «ИТ Медиа»

С каждым годом «умные» технологии, в том числе системы видеонаблюдения и видеоаналитики, все сильнее проникают в нашу повседневную жизнь. С помощью средств видеофиксации автоматически выписываются штрафы за нарушения ПДД, разыскиваются люди и автомобили, раскрываются серьезные преступления.

Не так уж давно диковинкой считались обычные видеодомофоны, и вдруг мы чрезвычайно быстро оказались в реальности, где общественный метрополитен в буквальном смысле узнает своего пассажира — с помощью системы биометрической идентификации и оплаты проезда Face Pay. Популярностью пользуются системы для домашнего и офисного наблюдения, видеоняни и т. п. В то же время не у всех есть возможность установить полноценную систему видеонаблюдения и подключить к ней хорошие IP-камеры. При этом в некоторых случаях потребности пользователя умещаются в рамки минимальных возможностей самых простых устройств данной категории. Для простых случаев может пригодиться вариант с превращением старого или резервного смартфона в IP-видеокамеру: для этого потребуется сам гаджет, специальный софт и интернет-подключение по Wi-Fi, желательно с выделенным, так называемым белым IP-адресом. Мы рассмотрим процесс трансформации в IP-камеру обычного Android-смартфона, но при использовании другого ПО то же самое можно повторить на iPhone или ноутбуке с веб-камерой.

База

Как сделать из Android-смартфона IP-камеру?. Рис. 1

Для начала необходимо найти залежавшийся (или не очень) смартфон, затем под его технические характеристики выбрать специальную программу, с помощью которой он сможет выполнять функции IP-камеры. Большинство приложений для Android в этом сегменте появилось довольно давно и способно запускаться даже на весьма стареньких аппаратах. С другой стороны, любая работа с видеоконтентом, а тем более видеостримингом требует существенных вычислительных ресурсов, поэтому в конечном счете понять, подходит ли именно ваше устройство под эти задачи, удастся только на практике.
Приложений для реализации телефоном функций IP-камеры существует немало: Alfred (Alfred Systems Inc.), SafeCam (TrackView), DroidCam (Dev47Apss), IP Webcam (Pavel Khlebovich) и другие. С помощью этих программ можно передавать видео- и аудиопотоки, фиксируемые отдельными камерами смартфона, на другие удаленные устройства, включая стационарные компьютеры и мобильные гаджеты.

Одну часть параметром можно настроить только на устройстве, превращенном в IP-камеру, а другую — лишь на принимающем устройстве. На смартфоне, который будет выступать в качестве источника сигнала, обязательно нужно установить программу, которая, по сути, превратит его в мини-сервер, транслирующий AV-данные и предоставляющий доступ к управлению нюансами этой передачи.

На принимающих устройствах иногда требуется установить специальную клиентскую программу. В иных случаях достаточно обычного интернет-браузера, благодаря которому пользователь удаленно подключается к веб-серверу, запущенному на смартфоне, а все управление осуществляется непосредственно через веб-интерфейс.

Большинство подобных программ по умолчанию записывает видео локально на встроенное ПЗУ (постоянное запоминающее устройство) смартфона, но, за редкими исключениями, в ПО также предусмотрена работа с некоторыми облачными сервисами для хранения данных. С помощью дополнительных функций можно научить смартфон реагировать на движения в определенной области фиксируемого камерой пространства и включать видеозапись только в моменты обнаружения движения.

В качестве триггера записи могут выступить и громкие звуки, выходящие за пределы привычного фонового шума. Однако в обоих случаях задержка между регистрацией события-триггера и включением записи, скорее всего, будет составлять 2–3 с и даже больше, особенно если речь идет о гаджете со слабой производительностью.

В теории IP-камеры, собранные на базе обычных смартфонов, можно использовать как для постоянной видеофиксации происходящего, так и для онлайн-наблюдения без записи, просто подключаясь к устройству в нужные моменты времени. В последнем случае можно включать и выключать запись по желанию. Обычно видео записывается до тех пор, пока на смартфоне или в облаке есть свободное место, однако допустимо отдельно настроить длину регистрируемых видеофрагментов и минимальный остаток места в хранилище, при котором начнется перезапись. Постоянную видеофиксацию в режиме IP-камеры выдержит далеко не каждый смартфон, поэтому лучше настроить гаджет на автозапись определенных событий.

На примере IP Webcam

Рассмотрим возможности и базовые настройки одного из наиболее известных бесплатных Android-приложений в этой категории — IP Webcam. После установки серверной части IP Webcam на устройство, которое решено сделать узлом системы видеонаблюдения, открываем приложение и оказываемся в большом меню настроек.

В самом его низу имеется кнопка «Запустить и начать трансляцию», по нажатию которой даже без предварительных настроек программа, скорее всего, успешно запустит Android Webcam Server. В некоторых случаях, когда нужно максимально быстро получить доступ к потоковому изображению с камеры, это рабочий вариант.

Если речь идет о более долговременных кейсах, лучше разобраться в настройках внимательнее. Первым пунктом идет раздел «Расширения», где можно устанавливать и настраивать различные дополнения — обычно это небольшие скрипты, с помощью которых происходит автоматизированная активация определенных настроек.

Как сделать из Android-смартфона IP-камеру?. Рис. 2Как сделать из Android-смартфона IP-камеру?. Рис. 3
Далее в меню следуют «Настройки соединения» — один из самых важных пунктов. Во-первых, это установка логина и пароля для вещания в локальной сети. Помимо этих данных здесь также можно выбрать предпочитаемое семейство IP-адресов (IPv4 или IPv6), установить нужный порт для HTTP и RTSP — по умолчанию это порт 8080 (один для обоих протоколов).

В этом же меню находится чекбокс для активации режима публичной камеры. Отдельное подменю предназначено для управления поддержкой протокола ONVIF (Open Network Video Interface Forum) — оно лаконично и состоит из «вкл/выкл».

Благодаря поддержке ONVIF IP-камеру на базе смартфона можно сделать частью более крупной сети видеонаблюдения, в которой совместно работают IP-камеры, NVR-видеорегистраторы и ПО производителей, поддержавших стандарт (спойлер — их большинство). Для работы по этому протоколу со смартфоном под управлением IP Webcam может подойти свободно распространяемое ПО — ONVIF Device Manager.

Нужно отметить, что протокол ONVIF предоставляет широкие возможности по управлению IP-видеокамерами и работой с данными, поступающими от них. Как сделать из Android-смартфона IP-камеру?. Рис. 4Как сделать из Android-смартфона IP-камеру?. Рис. 5
Что касается упомянутого протокола RTSP (Real Time Streaming Protocol), никаких дополнительных настроек для него нет, поскольку трансляция и управление видеопотоком осуществляются с помощью минимального набора внутренних команд: в подавляющем большинстве случаев речь идет лишь о возможности просматривать соответствующий поток видео- и аудиоданных. Как сделать из Android-смартфона IP-камеру?. Рис. 6
Его поддержка удобна тем, что AV-поток со смартфона, работающего с RTSP, о легко просматривать во многих современных медиапроигрывателях на ПК — например, VLC media player, Media Player Classic, Windows Media Player и других. Это универсальный протокол, не требовательный к совместимости по версиям и поддерживаемый большинством устройств из категории видеонаблюдения.

Читайте также:
Написать программу которая проверяет является ли четным введенное пользователем число

Все сказанное в первую очередь касалось вещания в пределах локальной сети. Если необходимо следить за трансляцией извне, то для этого существует несколько способов реализации. Для начала необходимо узнать, как именно вы выходите в Сеть — через серый IP-адрес и NAT (в большинстве случаев) или напрямую, когда роутеру выделен так называемый белый, или внешний, IP-адрес.

Для того чтобы устройства из вашей локальной сети были доступны для подключения извне, у роутера должен быть именно белый IP-адрес, как у всех публичных серверов и сайтов в Сети. Обычно интернет-провайдеры предоставляют белые IP-адреса за дополнительную плату в несколько сотен рублей в месяц. Как сделать из Android-смартфона IP-камеру?. Рис. 7
При использовании такого адреса достаточно пробросить тот порт, на котором работает IP Webcam, в Интернет. В результате форвардинга нужных портов к смартфону, выполняющему роль IP-камеры, можно подключаться по внешнему (публичному, белому) IP-адресу роутера. Узнать свой IP-адрес можно в панели управления роутером в разделе WAN.

Уточнить диапазоны серых IP-адресов, которые используются только внутри локальных сетей, то есть не маршрутизируются в Интернете, можно через любой удобный поисковик. В любом случае, если возникнут какие-то сложности с этим вопросом, смело обращайтесь в техподдержку вашего провайдера, подскажут.

Проброс портов обычно осуществляется через меню с названием Forwarding (или что-то похожее) в настройках роутера — это несложно. Если вы не меняли порт сервера IP Webcam по умолчанию (8080), порт проброшен, а на роутере настроен выход в Сеть через внешний IP-адрес, то для подключения к IP Webcam извне вместо локального адреса (например, http://168.1.22:8080), достаточно ввести в браузере http://ваш_внешний_IP:8080.

После внесения нужных настроек желательно проверить реальную доступность IP Webcam из внешней сети. Для этого стоит попробовать подключиться к веб-интерфейсу IP Webcam через браузер смартфона, используя мобильное интернет-соединение. При попытке зайти на внешний адрес IP Webcam из той же локальной сети, из которой проброшен порт, возможны ошибки соединения.

Также следует проверить доступность IP Webcam извне с помощью бесплатных онлайн-инструментов: необходимо будет ввести IP-адрес и номер порта. Как сделать из Android-смартфона IP-камеру?. Рис. 8
Как сделать из Android-смартфона IP-камеру?. Рис. 9
Если у вас серый IP-адрес и нет желания платить за белый, то можно попробовать организовать доступ с помощью связки из инструментов VPN (Virtual Private Network), RDP (Remote Desktop Protocol) и/или VNC (Virtual Network Computing). Это отдельная непростая тема, которой в случае выбора данного пути придется уделить много времени. Попробуйте изучить программы Aspia, Chrome Remote Desktop, RustDesk, MeshCentral.

Возможно, что-то из этого подойдет в вашем конкретном случае. Также имеет смысл поискать решения по организации удаленного управления ПК, в описании которых изначально сделан акцент на беспроблемный обход сетевых ограничений в виде NAT и других.

Еще один вариант организации работы, который IP Webcam предлагает по умолчанию, — подключение с использованием стороннего сервиса и его приложения Ivideon. Соответствующие настройки находятся в меню «Вещание через Интернет», а чтобы ими воспользоваться — придется регистрироваться в сервисе и разбираться с нюансами работы через него (тарифы и прочее).

Как сделать из Android-смартфона IP-камеру?. Рис. 10Как сделать из Android-смартфона IP-камеру?. Рис. 11
Как сделать из Android-смартфона IP-камеру?. Рис. 12
В подразделе «Настройки видео» можно выбрать порядок использования камер, отдельно задать разрешения для видео и фото, выбрать режим фокусировки и вспышки, настроить баланс белого, определиться с размером видеофрагмента, битрейтами для аудио и видео, выбрать кодеки. В подразделе «Эффекты» большая часть пунктов связана с детальной настройкой наложения даты и времени на фото и видео: можно выбрать размер пикселей текста, их цвет, расположение данных на экране и формат представления данных. Также в этом разделе активируется режим улучшения записи в ночное время. Как сделать из Android-смартфона IP-камеру?. Рис. 13
Подраздел «Управление питанием» посвящен всему, что связано с рациональной эксплуатацией аккумулятора: когда выключать экран смартфона и его камеры, если они не используются. Кстати, учтите, что в случае отключения камер из-за их неактивности, функция определения движения перестанет работать. Как сделать из Android-смартфона IP-камеру?.</p><p> Рис. 14Как сделать из Android-смартфона IP-камеру?. Рис. 15
Ее, в свою очередь, можно настроить в подразделе «Датчики движения и звука»: чувствительность датчиков, таймауты, активация записи видео при регистрации триггерных событий, длительность записи подобных видео (по умолчанию — 30 с). Также в настройках можно включить запись данных с любых других сенсоров смартфона: информация об их работе может быть выведена на специальную страницу в веб-интерфейсе приложения. В общем и целом, пул настроек IP Webcam один из самых объемных среди программ этой категории, и в других приложениях будет плюс-минус тот же набор. Проблемы, возникающие при работе с этим ПО, также очень похожие, а потому перейдем к ним.

Проблемы

Первым делом следует сделать акцент на проблемах с питанием. Если смартфон достаточно стар и на нем не меняли аккумулятор, то про автономную работу IP-камеры на его базе дольше получаса стоит забыть. Предполагается, что смартфон постоянно подключен к электросети либо хотя бы к приличному по объему внешнему аккумулятору.

Нужно отметить, что если аккумулятор в смартфоне совсем плох, то даже при подключении к внешнему источнику питания скорость его разряда при нагрузке в процессе видеонаблюдения может быть выше, чем скорость подзарядки, — результат предсказуем, он разрядится в ноль и выключится. В таком случае поможет только смена аккумулятора. Следующая проблема — безопасность эксплуатации.

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

Кроме того, предстоит всерьез озаботиться защитой того места, где будет располагаться гаджет. Слабая начинка телефона (процессор, память и т. д.) могут приводить к нестабильной работе ПО, зависаниям, обрывам при трансляции потока и, опять же, к чрезмерному перегреву, предвестнику аварийных отключений или спонтанных перезагрузок.

Смартфон, предназначенный для таких целей, должен быть достаточно мощным, чтобы выдерживать соответствующую нагрузку. Давать советы по конкретным спецификациям бессмысленно, так как первым претендентом на роль смартфона, заменяющего IP-камеру, станет тот, что уже есть под рукой: быстрее проверить его возможности на практике.

Сбои в работе ПО также могут возникнуть из-за непонимания пользователями глубинной настройки функций энергосбережения смартфонов. По умолчанию современные смартфоны настроены на оптимальное энергопотребление, которое каждый производитель понимает очень по-своему. Чаще всего это выражается в том, что ОС вмешивается в работу постоянно запущенных программ, может частично или даже полностью отключать их функции, основываясь на собственном понимании «правильной» работы фоновых процессов. Если вдруг у вас «беспричинно» обрывается запись, программа внезапно переходит в неактивный (спящий) режим или происходят другие странности в работе ПО, рекомендую разобраться в настройках энергосбережения — есть вероятность, что проблема кроется именно там.

Итоги

Как сделать из Android-смартфона IP-камеру?. Рис. 16

Существует ряд очевидных проблем, из-за которых IP-камеры на базе смартфонов в ближайшее время не смогут полноценно конкурировать со специализированными гаджетами. Например, с момента, как срабатывает программный датчик определения движения в поле зрения камеры смартфона, до начала записи проходит не меньше двух-трех секунд: в экстренной ситуации объект, выступивший триггером записи, за это время может просто исчезнуть из обзора камеры.
На мой взгляд, трансформация старого смартфона в IP-камеру может иметь смысл в нескольких сценариях. Если вдруг внезапно понадобилась возможность трансляции того, что «видит» смартфон куда-то еще: например, в рамках другой видеоконференции.

Полагаю, что при здравом подходе такую IP-видеокамеру можно использовать даже в долгосрочных кейсах — главное, не активировать режим постоянной видеозаписи/перезаписи, а остановиться на включении/выключении записи по запросу, либо в случае срабатывания триггеров (движение, звук). Для работы в режиме постоянной записи происходящего подобный инструмент не предназначен. Если есть потребность в постоянной видеофиксации, лучше озаботиться профессиональными решениями. Если же нужен относительно простой и удобный инструмент для видеонаблюдения по запросу и/или записи видео при срабатывании датчиков, то вариант с IP-камерой на базе смартфона представляется вполне рабочим.

Источник: www.it-world.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru