Меню

Tv motion detect настройка контроля тв



Ещё один блог сисадмина

воскресенье, 9 октября 2016 г.

Хакинг TV Motion Detector VG

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

Для начала несколько слов о самой программе. Программа предназначена для мониторинга аналоговых телеканалов и, насколько я могу судить, довольно популярна у операторов кабельного телевидения. Программа поочерёдно переключает каналы на ТВ-тюнере и проверяет, есть ли на канале звук, двигается ли изображение. Программа умеет вызывать другие программы в случае если проблема была только что обнаружена, обнаружена повторно или произошло восстановление вещания. Подробнее о TV Motion Detector VG можно почитать на официальном сайте. Ещё один немаловажный момент — программа бесплатная. Пусть это будет ещё одним аргументом в пользу того, что эта заметка написана не за деньги и не является скрытой рекламой 🙂

TV Motion Detector VG использует файл scanfreq.txt со списком частот каналов и файл channels.sqlite со списком каналов в таблице channels, журналом событий в таблице log и списком запланированных задач в таблице scheduler. Имеется база данных, в которой инженеры головной станции поддерживают актуальный список каналов с их номерами, частотами и названиями. Специальная самописная программа запрашивает список каналов из базы данных, наполняемой инженерами головной станции, формирует эти два файла и через Zabbix API создаёт нужные элементы данных и триггеры для каждого канала. В сформированном файле channels.sqlite в таблице scheduler создаются записи, которые предписывают каждый час вызывать bat-файл, который завершает TV Motion Detector VG, вызывает программу, обновляющую Zabbix и эти два файла, а потом запускает TV Motion Detector VG снова. В таблице channels из файла channels.sqlite для каждого канала указываются скрипты, которые надо вызывать в случае проблем на канале, в случае продолжающихся проблем и в случае восстановления канала. В качестве таких скриптов используется утилита zabbix_sender. Программа TV Motion Detector VG прописана в автозагрузку Windows. В Zabbix кроме состояния каналов контролируется ещё и момент, когда в последний раз приходили данные от TV Motion Detector VG. Таким образом получаем практически полностью автономно работающую систему из трёх звеньев — базы каналов, TV Motion Detector VG и Zabbix.

Ручное вмешательство бывает нужно, если компьютер с TV Motion Detector VG был перезагружен. В этом случае в Zabbix срабатывает триггер о том, что давно не поступали данные из TV Motion Detector VG. Дежурный инженер заходит на компьютер с Windows по RDP, TV Motion Detector VG автоматически запускается, а дежурный инженер отсоединяется от сеанса. Дальше всё продолжает работать.

Бывает, что требуется ручное вмешательство другого рода. Если в частотном плане появляются новые частоты или пропадают старые, то TV Motion Detector VG (или драйвер ТВ-тюнера) сходит с ума и реально настраивается не на те каналы, которые соответствуют частоте канала в таблице channels из файла channels.sqlite. В таком случае помогает простое лечение — нажать кнопку Scan, дождаться окончания сканирования, после чего можно обновить файлы channels.sqlite, scanfreq.txt и запустить TV Motion Detector VG снова.

Вмешательства такого рода требуются довольно редко. А вот следующий недостаток изрядно подрывает всю кропотливо выстроенную систему.


Если приглядеться, то в нижней строчке под списком каналов программы можно увидеть текст «count: 50». Дело в том, что после перезапуска программа считает, что есть только 50 каналов. Только по ним она и проходится циклически, оставляя за пределами контроля ещё 11 каналов. Если вручную потянуть линейку прокрутки в списке каналов до конца, то программа отображает остальные каналы и после этого уже начинает проходиться циклически по каждому из 61 каналов. Но, напомню, программа в описанной выше схеме перезапускается каждый час. Поэтому ручное вмешательство не годится.

Первым делом я подумал, что программа при запуске выполняет SQL-запрос на получение списка каналов с ограничением LIMIT 50. Я открыл EXE-файл в шестнадцатеричном редакторе и нашёл все запросы SELECT. Был среди них такой запрос «SELECT COUNT(inc) as countinc, MAX(number) as maxnumber FROM channels;». Я проверил, что он возвращает и убедился, что обнаруживается ровно 61 канал.

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

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

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

Потом я сделал перерыв на обед. Пока шёл в столовую, подумал что свойства компонентов на форме могут оказаться прописаны в ресурсах Windows, вшитых в EXE-файл. Когда вернулся с обеда, решил проверить это предположение. В прошлом я доставал из EXE- и DLL-файлов встроенные в них пиктограммы, курсоры и картинки с помощью программы ResEdit. Скачал программу с официальной страницы. Из всех ресурсов наиболее многообещающим выглядел ресурс с именем TFORMMAIN. Но ResEdit отображал этот ресурс как блок двоичных данных.

Читайте также:  Тв таблица для настройки камер

Интересующий меня ресурс начинался с сигнатуры TPF0. Я поискал в интернете и понял, что это формы Delphi. В проекте Delphi у файлов этих форм бывает расширение DFM. Решил поискать, чем можно открыть такой файл на просмотр и редактирование. Вышел на программу ResourceHacker, которую можно скачать на странице разработчика — Ангуса Джонсона. Скачал программу и открыл интересующий меня ресурс на просмотр и редактирование. Стал изучать, какие компоненты присутствуют на форме и какие их свойства можно было бы поправить.

В процессе изучения, сопровождавшегося поиском в интернете, понял, что программа для доступа к SQLite использует компоненты AnyDAC Дмитрия Арефьева. К сожалению, документацию на AnyDAC найти в Интернете мне не удалось. Дело в том, что AnyDAC была продана фирме Embarcadero и превратилась в FireDAC. Удалось найти документацию только на библиотеку FireDAC. Оставалась слабая надежда на то, что библиотека изменилась не очень сильно и опции из FireDAC подойдут для AnyDAC.

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

Верное направление для поисков было нащупано в ветке форума на www.sql.ru, где обсуждался FireDAC. Список всех возможных значений нашёлся в статье документации FireDAC.Stan.Option.TFDFetchOptions.RecordCountMode. На каком-то этапе я попробовал вставить в описание объекта ADTableChannels после 1738 строчки декомпилированного ресурса TFORMMAIN свойство FetchOptions.RecordCountMode = cmTotal:

Затем скомпилировал изменения нажав на зелёный треугольник и перезаписал файл EXE. Когда запустил программу, то увидел в строчке count вожделенное значение 61. Оставалось убедиться, что после 50 канала программа переключится на 51 канал и дойдёт до конца списка. Всё сработало, как надо:

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

P.S. Несколько замечаний о законности описанной выше модификации программы.

УК РФ, Статья 272. Неправомерный доступ к компьютерной информации.

(в ред. Федерального закона от 07.12.2011 N 420-ФЗ)

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

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

Однако, в комментариях к УК РФ имеются следующие оговорки:

1. Модификация информации — внесение изменений в компьютерную информацию (в том числе изменение её параметров) без согласия её законного обладателя. Действующим законодатесльством разрешены следующие виды легальной модификации программ, баз данных лицами, правомерно владеющими этой информацией: а) модификация в виде исправления явных ошибок; б) модификация в виде внесения изменений в программы, базы данных для их функционирования на технических средствах пользователя; в) модификация в виде частной декомпиляции программы для достижения способности к взаимодействию с другими программами.

Источник — книга «Комментарий к Уголовному кодексу Российской Федерации (постатейный), Том 2» под редакцией Бриллиантова А.В. Глава 28. Преступления в сфере компьютерной информации. Статья 272. Неправомерный доступ к компьютерной информации

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

Источник

Настройка видеонаблюдения XM

Недавно я рассказывал о комплекте видеонаблюдения с четырьмя камерами, подключаемыми единственным проводом к регистратору ( https://ammo1.livejournal.com/1170220.html ).
Для того, чтобы такой комплект мог поставить себе каждый, я решил написать пошаговую инструкцию по настройке.

Хоть эта инструкция и для конкретного комплекта видеонаблюдения, подавляющее большинство китайских систем настраиваются так же, ведь все они работают на платформе XM.

Есть три способа настройки регистратора:

• подключив к нему мышь и монитор или телевизор;
• через Internet Explorer с плагином ActiveX;
• через программу CMS или VMS.

Проще всего пойти по первому пути, подключив к регистратору монитор или телевизор через разъём HDMI или VGA и мышку к любому USB-порту.

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

Когда загрузка завершится, картинка сменится вот такой.

Щёлкаем правой кнопкой мышки и выбираем «Main Menu».

Появляется поле ввода пароля. Пароль пока пустой, нажимаем OK.

В новых версиях прошивок использовать пустой пароль запрещено, появляется окно с предупреждающей надписью, жмём ОК.

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

Пароль мышкой вводить неудобно, поэтому придумываем и вводим максимально короткий пароль из трёх цифр и одной буквы (важно его не забыть, восстанавливать будет непросто). Вводим свежепридуманный пароль повторно и нажимаем Next. Теперь от нас требуют ввести два контрольных вопроса (отказаться от этого невозможно).

Выбираем первый и последний вопрос. Ответы можно вводить любые (главное, их помнить). Можно даже ввести оба ответа «12345», но тогда любой «хакер Вася» сможет взломать вашу систему. Записываем вопросы и ответы на бумажку и не теряем её. Нажимаем ОК.

Ура! Мы попали в главное меню.

Нажимаем левой кнопкой мыши на зелёный квадрат «Date Time». Меняем часовой пояс на «[UTC+03.00]Baghdad,Kuwait,Moscow» (или ваш пояс), меняем формат даты на «DD MM YYYYY». Нажимаем ОК.

Нажимаем синий квадрат «Record Conf.». Меняем «Channel» на «All». Меняем Lengh с 60 на 1. Убираем галку «Regular». Нажимаем ОК. На этом шаге мы выключаем непрерывную запись, оставляя только запись по движению и по тревоге (если запись будет непрерывной, искать какие-либо события на записи становится крайне затруднительно, кроме того диска будет хватать на очень небольшое время записи).

Читайте также:  Установка и настройка спутниковой антенны триколор тв на спутник

Нажимаем на красный квадрат «Network». Меняем адрес регистратора на тот, который будет легко запомнить, например 192.168.1.150. Проверяем, что в квадратике DHCP Enablе нет галочки. Нажимаем ОК.

Теперь пора подключать камеры. Щёлкаем правой кнопкой мышки два раза, выбираем в появившемся меню «Logout» и там «Shutdown».

Выключаем регистратор, подключаем камеры, включаем регистратор. Скорее всего через пару минут картинки с камер появятся на экране.

Если камеры новые и были подключены к питанию менее 24 часов, у них включён режим AutoIP, который пытается присвоить камерам адреса сразу за регистратором. В идеале, если мы назначили регистратору адрес 192.168.1.150, камеры займут адреса 192.168.1.151, 152, 153, 154 и автоматически подключатся к регистратору.

Теперь очень важно установить пароли на камерах. Каждая камера это такое же облачное устройство, как и регистратор, и если не настроить для них пароли, любой желающий сможет смотреть картинку с ваших камер.

Запускаем на компьютере программу VMS (на всякий случай, вот её установочный файл: https://yadi.sk/d/VDRubwgc3f3uow ). В появившемся мастере автодобавления устройств нажимаем «ОК» и потом «Да».

Видим вот такую картинку. Здесь регистратор, четыре камеры и ещё какое-то устройство в домашней сети, которое нам не нужно. Убираем снизу галку «После авторизации менять IP адрес автоматически» и нажимаем сверху на кнопку с домиком «Главная».

Нажимаем «Конфиг.устр-ва», выбираем слева первую камеру и нажимаем «User Manager». Щёлкаем в «admin» и нажимаем «Modify Password».

Дважды вводим новый пароль. Для камер вполне достаточно пароля из четырёх случайных цифр (разных и не идущих подряд).

Устанавливаем пароли для трёх оставшихся камер (пароли можно делать одинаковые, а то запутаетесь).
Не забудьте пароли! При таком методе их установки восстановить их не получится (если пароли камер задаются через IE, там ещё вводятся ответы на вопросы восстановления).

Возвращаемся к регистратору. Если камеры успешно подключились, видим вот такую картинку.

Щёлкаем правой кнопкой мышки, выбираем «Channel Set», вводим пароль и видим вот такую таблицу.

Если в нижней части окна нет четырёх добавленных камер или они добавились не в той последовательности, нажимаем Search для поиска камер и добавляем их, как надо.
Щёлкаем двойным кликом в каждую из четырёх строк камер и вводим пароли.

Как только правильные пароли от камер будут введены, на фоне появятся изображения с камер. Нажимаем Apply и Exit.

Камеры и регистратор настроены, пора ставить приложение. Устанавливаем из PlayMarket приложение XMEYE, создаём аккаунт. Убеждаемся, что смартфон подключён к Wi-Fi той же локальной сети, что и регистратор, заходим в список устройств и нажимаем «+» в правом верхнем углу. Нажимаем «Поиск». В списке появится регистратор и все камеры.

Можно добавить один лишь регистратор (даём ему произвольное имя и правильно вводим пароль), а можно добавить и камеры, тогда живое видео с них можно будет смотреть «в обход» регистратора.

При желании можно сменить язык интерфейса регистратора на русский (System — General — Language), но многие термины по-английски звучат понятней. К примеру распознавание человека в английском интерфейсе «Human Detect», а в русском «гуманно выявлять». 🙂

В этом комплекте у камер детекция движения, распознавание человека в кадре и распознавание лиц включено по умолчанию. При настройке других систем могут попасться камеры, у которых детекция по умолчанию выключена. Чтобы её включить, на регистраторе заходим в главное меню — Alarm — Intelligent Alarm (у простых регистраторов этот пункт будет называться Motion Detect). Здесь у каждого канала должны стоять галки «Enable» и «Human Detect» (если есть).

Возможно понадобится также настроить режим разрешения камер: Main Menu — System — Encode.

По умолчанию регистратор работает в четырёхканальном режиме. Если к нему будут подключаться дополнительные камеры, можно перевести его в восьмиканальный режим: Main Menu — System — Digital — ChannelType.

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

Надеюсь, эта инструкция будет хорошим подспорьем для тех, кто самостоятельно настраивает своё первое видеонаблюдение.

Источник

Видеонаблюдение в Linux с помощью Motion

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

Видеонаблюдение в Linux

Программа Motion доступна для всех известных мне дистрибутивов Linux. Название говорит само за себя; кроме передачи движения, Motion может определять движение в определенной области кадра, отправлять сообщение при обнаружении активности в этой облас­ти, делать снимки, транслировать изображение по сети.

Motion ис­поведует в настройке Linux­way, конфигурационный файл хорошо комментирован, и если у вас нет проблем с английским (достаточ­но даже начального уровня), то понять смысл опций для вас не со­ставит труда.

Установка Motion

Итак, перейдем к установке. Вводим команду:

Вам предложено будет вместе с основной утилитой установить несколько зависимостей. Соглашайтесь.

После скачивания и установки система попробует запустить Motion, но вы увидите сообщение:

То есть режим демона отключен. Включаем:

Меняем в конце единственной строки “no” на “yes”.

Но это еще не всё, теперь тот же режим надо включить в другом файле:

Меняем снова на “on” и запускаем Motion с конфигурационным файлом по умолчанию:

Проверьте, стартовал ли сервис:

Всё в порядке. Есть желание посмотреть на сырые данные, которые камера отправляет на микро-НТТР-сервер? Тогда наберите из сессии SSH:

8081 — порт HTTP-микросервера по умолчанию, изначально доступен только локально (только с localhost), это мы потом поправим. Будьте готовы, что в окно терминала повалятся кракозябры, и корректно закрыть терминал не получится.

Откройте другой терминал и снимите процесс, который вы обнаружили на предыдущем шаге:

Это было маленькое отступление, почти шутка. Зато вы теперь знаете, что с помощью telnet можно проверять активность сервисов на внешних портах localhost.

Читайте также:  Опенбокс х800 настройка каналов 2017г

Настройка Motion «под себя»

Итак, где всё это веселое хозяйство, вы уже знаете: в /etc/motion/ motion.conf. Параметров много, но не очень. Файл являет собой шедевр конфигурационного файла — комментарии исчерпывающие, краткие и понятные.

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

Видеоустройство. Благо, в 99 % случаев это оно и есть, так что оставляем как есть.

Порт встроенного web-сервера. Можно менять по желанию, только не попадите на какой-нибудь существующий порт, занятый нужной службой (типа 22, 23, 80, 143 и подобных).

Доступ к камере только с localhost; если стоит “on”, камера не будет видна из сети.

Ширина картинки; для случая нашей камеры, максимум — 640.

Аналогично — высота, максимум — 480.

Количество кадров в секунду. Сами решайте; для нашего случая 2 в секунду самое то.

Можно повернуть изображение на заданное количество градусов (если камера прикреплена подуглом).# Threshold for number of changed pixels in an image that # triggers motion detection (default: 1500) threshold 1500

Этот параметр можно охарактеризовать как чувствительность при определении движения. Чем меньше значение, тем чувствительнее детектор.

Уровень шума. Позволяет игнорировать шум, создаваемый камерой. Установите оптимальное значение для своей камеры;меня устроило по умолчанию.

Позволяет следит только за определенной областью.

  • 1 — левый верхний угол,
  • 2 — верхняя средняя часть, …,
  • 5 — центр, …,
  • 9 — правый нижний угол.

Если область не определена, то слежение происходит по всему экрану.

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

Позволяет рисовать рамку вокруг движущегося объекта. Интересная опция, попробуйте.

Рисуем ли текст на кадре; если да — то где и в каком формате.

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

Далее для краткости опишу сразу всю секцию:

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

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

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

Закрываем, перезапускаем motion: service motion restart

Заходим из локальной сети через браузер на IP-адрес сервера (на порт 8081, если вы его не изменяли) — например, так: http://192.168.0.30:8081/.

И наслаждаемся картинкой. Обратите внимание на нижний правый угол картинки — там стоят дата и время, ровно так, как мы задали в файле /etc/motion/motion.conf.

Но наслаждаемся недолго — вы же не будете открывать одно окно браузера для панели управления, а второе — для камеры? Сейчас очень модно стало слово «дашборд [dashboard]», означающее «приборная панель». Так вот, сведем на один дашборд кнопки и картинку.

Откройте файл, который выводит кнопки и индикаторы. У меня их несколько; обкатываю на index-test.php, потом переношу удавшиеся изменения в index.php.

В конец текста, после закрывающей скобки ?> (конец php) и перед тегом , добавьте строку:

Перезагрузите web-страницу — внизу, после кнопок, должна появиться область видеокамеры. Место width=“25%” делает окно видеопотока в 25 % от обшей ширины окна браузера; можете менять это число так, как вам нравится.

Ну что, всё? Можно праздновать победу? Ан нет. Давайте поразмышляем, что будет, если вы захотите «пробросить» порт web-сервера наружу, в Интернет. Сейчас я не про безопасность, а про то, что отобразится на дашборде. Ваш браузер будет искать адрес 192.168.0.30 в своей локальной сети. И точно не найдет открытый порт8081с видеопотоком.

Поэтому надо найти способ сделать так, чтобы браузер знал точный адрес хоста, на котором расположен ваш ПД. Положим, вы сделаете выход в Интернет через хост 111.222.333.444; тогда надо пробросить порт 8081 на этом хосте на внутренний IP-адрес 192.168.0.30 на тот же порт. И, убрав предыдущее изменение, добавить строку:

Успех? Попробуйте зайти из локальной сети. В случае удачи вы всё же увидите окно камеры. Но если вы используете динамический DNS, или неправильно прописали правила iptables на сервере, то вы не увидите ничего.

А нет ли способа узнать, на какой адрес мы стучимся? Пусть хост сообщит браузеру, какой его настоящий IP-адрес в данный момент. Тогда при доступе из локальной сети это будет 192.168.0.30, при доступе извне —тот IP-адрес, через который вы входите на свой дашборд.

Такой способ есть, для этого в php есть массив переменных $_SERVER. Он содержит информацию о заголовках, путях и местоположении скриптов. Записи в этом массиве создаются web-сервером. Для начала мы воспользуемся только одной переменной.

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

А в том месте, где вам надо вывести область камеры (опять-таки внутри кода php), расположите две строки:

Нужно ли комментировать этот великолепный прием, позволяющий независимо от протокола (HTTP или HTTPS) иметь верный IP-адрес сервера? Думаю, что не стоит.

В результате вы должны получить нечто, похожее на это:

Видеонаблюдение в Linux

Моя собака тоже решила принять участие в написании статьи про видеонаблюдение в Linux, а заодно показать себя. Если честно, она просто пытается достать печенье.

Небольшое замечание: с этого момента учитывайте загрузку командного контроллера. Одновременные запись информации на медленную карту памяти и вещание в дашборд могут перегрузить процессор. Если это станет критичным, отключите запись на диск (что там писать?). Достаточно будет закомментировать строку:

в конфигурационном файле, и motion перестанет записывать, тем самым вполовину разгрузив процессор.

Ну что, теперь вполне можно показать первое приближение ПД кому-нибудь из домашних? Особенно если у вас наличествует смартфон с большим экраном, который можно использовать как пульт.

А в следующей статье про видеонаблюдение в Linux, вас снова ждет интересное продолжение, пока!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector