4138

Отправляем снимок с веб-камеры в Telegram при обнаружении движения

На работе возникла идея фиксировать всех кто входит к нам в кабинет до начала и после окончания рабочего дня.


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

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


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


В итоге я это реализовал и решил написать инструкцию для тех кто тоже хочет подобное.


Сразу обозначим два момента:

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

Если у вас и камера и серверная часть будет на одном компьютере или камера изначально сетевая - можно обойтись без пунктов  1 и 2, а сразу перейти к пункту 3.

2. Подразумевается что у вас уже есть свой бот для Telegram, если нет, то вот инструкция:  шаг 1 и 2


Итак, собственно сама инструкция:


1. Подключаем к компьютеру веб-камеру.

2. Устанавливаем на комп YawCam и настраиваем YawCam так:

Отправляем снимок с веб-камеры в Telegram при обнаружении движения Telegram, Telegram бот, Камера, Слежка, Датчик движения, Оповещение, Длиннопост
Отправляем снимок с веб-камеры в Telegram при обнаружении движения Telegram, Telegram бот, Камера, Слежка, Датчик движения, Оповещение, Длиннопост
Теперь камера ведет трансляцию в потоке MJPEG, далее нужно настроить сервер на котором его будем принимать и обрабатывать дальше.


3. Ставим на другой компьютер/сервер iSpy, добавляем камеру в качестве источника указываем MJPEG

Отправляем снимок с веб-камеры в Telegram при обнаружении движения Telegram, Telegram бот, Камера, Слежка, Датчик движения, Оповещение, Длиннопост

4. Далее указываем маску детектора движения, в данном случае это дверь кабинета

Отправляем снимок с веб-камеры в Telegram при обнаружении движения Telegram, Telegram бот, Камера, Слежка, Датчик движения, Оповещение, Длиннопост

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

Отправляем снимок с веб-камеры в Telegram при обнаружении движения Telegram, Telegram бот, Камера, Слежка, Датчик движения, Оповещение, Длиннопост

6. Указываем запись при срабатывании движения:

Отправляем снимок с веб-камеры в Telegram при обнаружении движения Telegram, Telegram бот, Камера, Слежка, Датчик движения, Оповещение, Длиннопост

7. Указываем сохранять снимок с камеры в папку – далее этот снимок будет отсылаться в Telegram

Отправляем снимок с веб-камеры в Telegram при обнаружении движения Telegram, Telegram бот, Камера, Слежка, Датчик движения, Оповещение, Длиннопост

8. Для того чтобы сервер не слал фото в Telegram при каждом срабатывании тревоги (открытия двери) – настраиваем расписание так чтобы оно срабатывало только до начала рабочего дня и после окончания рабочего дня, когда кабинет закрыт и никто посторонний заходить не может.

При этом запись видео и снимков все равно будет производиться при каждом срабатывании, но слаться в Telegram не будет.

Отправляем снимок с веб-камеры в Telegram при обнаружении движения Telegram, Telegram бот, Камера, Слежка, Датчик движения, Оповещение, Длиннопост

9. Указываем место сохранения файлов.

Отправляем снимок с веб-камеры в Telegram при обнаружении движения Telegram, Telegram бот, Камера, Слежка, Датчик движения, Оповещение, Длиннопост

10. Итог выглядит так:

Отправляем снимок с веб-камеры в Telegram при обнаружении движения Telegram, Telegram бот, Камера, Слежка, Датчик движения, Оповещение, Длиннопост

11. Самое главное: скрипт отсылки снимка в Telegram.


По какой-то непонятной причине отправка фото в Telegram не срабатывает из PowerShell, приходится использовать curl:

https://chocolatey.org/packages/curl

https://winampplugins.co.uk/curl/


Используем такой скрипт:


pushd e:\Video\IT\video\IT\grabs\

for /f "tokens=*" %%a in ('dir /b /od') do set newest=%%a

popd

set bottoken="ТОКЕН_БОТА"

set chat="ЧАТ_ГРУППЫ"

set File="e:\Video\IT\video\IT\grabs\%newest%"

"c:\Program Files\curl-7.60.0-win64-mingw\bin\curl.exe" -s -X POST "https://api.telegram.org/bot%bottoken%/sendPhoto?chat_id=%ch..." -F photo="@%File%" -F caption="Motion detected on IT-room!"

Где:

1. e:\Video\IT\video\IT\grabs\ - путь до снимков с камеры, которые делаются в момент срабатывания тревоги.

2. %newest% - имя самого последнего снимка с камеры, непосредственно в момент срабатывания тревоги, берется первыми тремя строчками скрипта.

3. bottoken – это токен вашего бота Telegram.

4. chat – это ID вашей группы в Telegram, если есть знак «-» то это группа, без знака «-» это ID пользователя, т.е. шлем либо в личку либо в группу.

5. %File% - переменная путь+имя файла снимка, которые и отправляются в Telegram последней командой в скрипте.


12. Итоговый результат:

Отправляем снимок с веб-камеры в Telegram при обнаружении движения Telegram, Telegram бот, Камера, Слежка, Датчик движения, Оповещение, Длиннопост
Лучшие посты за сегодня
6450

СВО и Бойцы

Показать полностью
6185

Давно пора

5458

Ответ Brent1 в «Путивизор сказал...»

Ответ Brent1 в «Путивизор сказал...» Политика, Когнитивный диссонанс, Скриншот, Ответ на пост, Длиннопост, Мат, Украина, Комментарии на Пикабу
4919

Как ты смеешь!

Как ты смеешь! Юмор, Грета Тунберг, Картинка с текстом, Netflix, Браззерс
Показать полностью 1
4826

Ещё не факт, что человек выбирает себе кота, а не наоборот

Ещё не факт, что человек выбирает себе кота, а не наоборот
4823

В Симпсонах это уже было

В Симпсонах это уже было
4762

Вариант

Вариант Юмор, Картинка с текстом, Мемы, Кот, Собака
Показать полностью 1
4634

Большой обман от CDEK теперь и на Пикабу!

Большой обман от CDEK теперь и на Пикабу! СДЭК, Обман клиентов, Ложь, Маркетинг, Реклама на Пикабу, Мат, Длиннопост
Большой обман от CDEK теперь и на Пикабу! СДЭК, Обман клиентов, Ложь, Маркетинг, Реклама на Пикабу, Мат, Длиннопост
Большой обман от CDEK теперь и на Пикабу! СДЭК, Обман клиентов, Ложь, Маркетинг, Реклама на Пикабу, Мат, Длиннопост
Показать полностью 3
4493

Выиграй бесплатный пивас остановив таймер ровно на 10 сек

4163

"Девочки любят Барби, а у нас мужиков свои игрушки!"

"Девочки любят Барби, а у нас мужиков свои игрушки!" Виктор Бычков, Кузьмич, Егерь, Особенности национальной охоты, Генерал, Особенности национальной рыбалки, Куклы ручной работы
4104

Как получить смертный приговор в Японии

3938

Случайный ренессанс. Подборка №25

Случайный ренессанс. Подборка №25 Фотография, Подборка, Случайный ренессанс, Длиннопост
Случайный ренессанс. Подборка №25 Фотография, Подборка, Случайный ренессанс, Длиннопост
Случайный ренессанс. Подборка №25 Фотография, Подборка, Случайный ренессанс, Длиннопост
Случайный ренессанс. Подборка №25 Фотография, Подборка, Случайный ренессанс, Длиннопост
Случайный ренессанс. Подборка №25 Фотография, Подборка, Случайный ренессанс, Длиннопост
Случайный ренессанс. Подборка №25 Фотография, Подборка, Случайный ренессанс, Длиннопост
Случайный ренессанс. Подборка №25 Фотография, Подборка, Случайный ренессанс, Длиннопост
Случайный ренессанс. Подборка №25 Фотография, Подборка, Случайный ренессанс, Длиннопост
Показать полностью 8
3535

Тыжстроитель

3525

Отец года без кавычек)

Отец года без кавычек) Зубы, Дети, Гифка
3387

Ответ на пост «О телефонных звонках»

Ответ на пост «О телефонных звонках» Телефон, Ошиблись номером, Текст, Ответ на пост
3327

Мы ваши друзья

Мы ваши друзья
3271

Эталон лени

3124

Ответ на пост «Соседское»

Ответ на пост «Соседское» Соседи, Дорога, Строительство, Текст, Загородный дом, Ответ на пост, Длиннопост
Ответ на пост «Соседское» Соседи, Дорога, Строительство, Текст, Загородный дом, Ответ на пост, Длиннопост
Ответ на пост «Соседское» Соседи, Дорога, Строительство, Текст, Загородный дом, Ответ на пост, Длиннопост
Показать полностью 3
2991

Защита родины

Защита родины Украина, Джо Байден, Родина, Защита, Скриншот, Комментарии на Пикабу, Политика
2947

Дискотека Авария

Дискотека Авария
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: