Комментарии 31
Вы сами до всего этого дошли, или где то подглядели? Выглядит интересно затея)
Я старый разработчик всяких нестандартных решений )
Технологии их , сращивание моё )
Первую версию аналогичной идеи делал через установку ftp сервера на линукс, и несколько воркеров на питоне: один сканировал новые файлы в каталоге сервера и закидывал пути к ним в очередь, другой воркер брал из очереди путь к файлу и отправлял в телегу.
Спустя некоторое время решил оптимизировать. На go за 1-2 часа пишется более простое решение. Берем на гитхабе пример ftp сервера на go, на событие окончания записи файла добавляем отправку файла в tg через простой http запрос. На выходе имеем решение в виде одного исполняемого файла. Ещё можно сделать запись файлов в память, чтобы не мучить диск. В моём случае камеры пишут видео файлы с лимитом 10МБ, чтобы их можно было быстро отправить в телегу и чтобы телега их быстро открывала
По поводу хранения файлов в памяти - хорошая мысль, сам стал задумываться, что при высокой частоте записи файлов SSD диск стоит пожалеть.
Как вариант воспользоваться RAM-disk приложением для FTP каталога.
https://habr.com/ru/companies/kingston_technology/articles/395315/
Нужно будет добавить в скрипт опцию удаления файлов.
Правда сильно не хочется заморачиваться с контролем свободного места на диске (
Не совсем понятно зачем их хранить. Если используется регистратор, то на нем и так должны быть записи. А если вместо регистратора, то задачу нужно немного иначе решать.
У меня удаление происходит сразу после отправки в телеграм. С размером видео до 10МБ в телеге еще и превью показывается, поэтому удобно полистать и смотреть только те видео, которые заинтересовали. Пробовал делать размер файла больше, превью в телеге уже не работали. Нужно было загружать каждое видео, чтобы понять что там
Еще перед таким решением ставил цель, что если отключат электричество, то камеры, роутер и mini PC будут еще несколько часов работать от АКБ и я таким образом все равно быстро получу уведомления в телегу. И интернет на роутере был мобильный с небольшой скоростью
Похожую задачу решил установкой xpenology (DVA1622 который с видеоаналитикой) и установкой отправки в telegram.hickvision моя камера тоже только через IE настраивается,но в эдже есть возможность открытия конкретных адресов в режиме совместимости с IE - отлично работает. github
Вы можете закинуть свой регистратор в приложении и смотреть за этими событиями в приложении телефона без белого адреса, через китайские сервера. Настройки-система-сетевые службы вкладка cloud (приложение xmeye) впишите серийный номер из вкладки cloud
Делал подобную задачу, но по другому. Читал rtsp поток, дальше отсылал на codeproject ai сервер для детекции объектов и номеров авто. В случае наличия объектов записываем короткое видео и отсылаем прямиком в телеграмм. Ночью из всех детектированных кадров делается саммори за день и в видео видео тоже отсылается в телегу. Мини PC на 6900hx справляется с 10 камерами "на ура".
А вы свой проект выкладывали где-нибудь?
Нет, не выкладыавл. Не хватает терпения вести проект, а для себя можно и тяп ляп :)
Описывал сам проект с некоторыми ссылками на пикабу
https://pikabu.ru/story/videonablyudenie_nablyudeniya_10606736
По части корректировок, из того что увидел при беглом просмотре. Не очень понятно, что такое tg_send_tempdata.php и зачем вызывать php скрипт через wget. Я бы предложил написать просто
*/5 * * * * php /путь/к/filezilla_log_parser.php > %progdir%\userdata\temp\tg_tempsend.txt
и тогда будет не нужно будет тащить на винду ни веб-сервер, ни wget.
Так же я бы убрал собачку перед вызовом file(). И опять же, непонятно, зачем TGapi extends MyCURL. Эти классы совершенно никак между собой не связаны, и если заменить parent:: на MyCURL, то в их взаимодействии ничего не изменится.
Я делал ровно тоже самое, только php и ftp - все крутится на роутере keenetic)
Упомянул вашу статью в комментарии ниже, почему не оставили ссылку?
Да есть статься, правда она о другой камере писалась немного. А когда появилась камера NetSurveillance, а главное роутер Keenetic, многое из той статьи стало не актуально. В частности в боте я теперь смотрю статус клиента подключаясь к API роутера, а не пытаясь arp-сканирование проводить. В целом неплохо было бы написать новую статью.
Из готовых решений для этой задачи можно отметить:
OpenIPC поддерживает много разных китайских плат и, из коробки, умеет слать в telegram - даже регистратор не нужен.
Frigate NVR c Google Coral/OpenVINO/NVidia TensorRT + Home Assistant - и вот у вас уже софтварный видеорегистратор не ограниченный ничем по своему функционалу и работающий с любыми камерами, которые умеют RTSP
как вы к этому пришли, весьма интересно
Оверинжениринг.
Эти реги настраиваются через приложение cms, через него можно даже ИП поменять, если другая подсесть
Эти реги умеют в ртсп. Мне когда то надо было сделать таймлапс с такой камеры, сделал на Линукс машинке через ffmpeg, чтобы дергало кадры
активикс эт чёт прям перебор
https://www.polyvision.ru/po/dlya-windows/cms - оставлю ссылку тут.
Перед написание статьи искал статьи на хабре по теме, тоже интересные задумки:
https://habr.com/ru/articles/343616/
https://habr.com/ru/articles/341678/
---
ActiveX - решение из коробки.
через Telegram
И снова:
У меня похожая реализация, только на Raspberry PI - там крутиться Home Assistant.
Регистратор выгружает файлы по ФТП на HA, у HA есть плагин который мониторит директории на изменения и через свои механизмы отправляет файлы в телеграм.
Как насчёт движения снега/ дождя/ листьев а кадре и спама с картинками? Знакомый говорит ложные сработки задолбали
Сделал подобное, только вместо домашнего сервера использую vds. Скрины с камер по движению летят по ftp в папку на сервере, а скрипт отправляет их в телеграмм и удаляет с сервера (памяти всего 20 гигов ). Планирую прикрутить распозновалку человека и машины, чтоб мух и снежинки не разглядывать. В целом идея полезная. За сутки может быть до 1500 снимков по движению.
У меня давно работает подобное решение
Только сделал на много серьезнее
Каждая камера, в том числе NVR шлет фото событий на основной почтовый сервер, там стоит virtualmin, все раскладывается по папочкам.
Потом почтовый сервер отправляет самые важные фото с камер на архивный сервер в ДЦ.
На основном почтовом сервере крутиться отправка фото в ТГ боты, с части специфичных камер все складывается в папочки, где уже допилка на базе nomeroff-net подхватывает, обрабатывает, пишет результат в БД и отправляет в ТГ.
В итоге полный комплекс учета и видимости всех событий.
Хранить фоточки выходит на много дольше с 15 камер, чем видео событий. Видео ряд нужен только в течение недели, дальше фото достаточно.
Сейчас кручу к этому всему YOLO8 и другие плюшки.
Наблюдаем за домом через Telegram