Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. Скрипты
    5. ioBroker скрипты
    6. Скрипт посылает видео mp4 с ip камер в Telegram

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Скрипт посылает видео mp4 с ip камер в Telegram

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Artem82 last edited by

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

      Камера(-ы) подключены к Synology, соответственно путь к файлам на диске динамический. Название папок и самих файлов привязано к дате создания этого видеофайла.

      Я одну из камер назвал door_rtsp. (поток rtsp от домофонной камеры двери)

      http://fastpic.ru/view/89/2017/0301/aa73d6599a313d565fdd19e9eed0d13b.png.html ~~Так как у меня сервер на Linux, то нужно командой:

      sudo mount -t cifs //192.168.1.110/surveillance/door_rtsp /mnt/ -o username=admin,password=pass,iocharset=utf8,file_mode=0777,dir_mode=0777

      смонтировать внешнюю сетевую папку где хранятся видеоизображения.

      В результате получим на сервере iobroker каталог равный каталогу на Synology:

      http://fastpic.ru/view/89/2017/0301/3b8c1f8c4de13d70e4f5f6c7d237338e.png.html ~~Применение:

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

      Собственно сам код:

      `var folder; 
      var filepath;
      var last;  // номер последний файл в директории
      setTimeout(getdate, 100);  
      setTimeout(file, 200);
      setTimeout(sendMP4, 300);
      
      function getdate() {   
         var date = new Date();
         var time = date.getTime();                                                              // Дата вида  миллисекунд от 1970 года
         var year = date.getFullYear();      // Год
         var month = date.getMonth()+1;      // Месяц
         var dd = date.getDate();            // Дата-число
         var hh = date.getHours();           // Часы
      
         var AMPM = 'PM';
         if (hh < 12) AMPM = 'AM';
      
         if (month < 10) month = '0'+(date.getMonth()+1);                                      //Месяц добавляем 0 перед цифрой
         if (dd < 10) dd = '0'+date.getDate(); 
         if (hh < 10) hh = '0'+date.getHours();                                                //Часы добавляем 0 перед цифрой
         folder = year+month+dd+AMPM
         log('folder = '+folder );
      }  //end getdate
      
      function file() { 
      var fs = require('fs');
      var path = '/mnt/door_rtsp/'+folder;     //начальный путь, менять для другой камеры.
      
        if (path.length <= 2) {
           log("Usage: " + __filename + " path/to");
           process.exit(-1);
        }
      /*Здесь мы используем метод readdir класса fs, который получает путь и функцию-коллбек в качестве параметров. 
        Метод читает содержимое директории в память, а когда чтение завершено, то вызывает коллбек с двумя параметрами. */
       fs.readdir(path, function(err, items) {   
          log(items);  
          last = items.length;  // номер последнего файла директории
          log(last);
          for (var i=0; i<items.length; i++)/{/log(items[i]);/}/filepath="items[last-1];" log('filepath="+filepath);
       });
      } //end file
      
      function sendMP4() {
      mp4 = " mnt/door_rtsp/'+folder+'/'+filepath;/log(mp4);/sendto('telegram.0',/{text:/mp4,/user:/'artem',/disable_notification:/true});/end/sendmp4/<e=""></items.length;>`[/i]
      ```~~~~
      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      821
      Online

      31.7k
      Users

      79.6k
      Topics

      1.3m
      Posts

      1
      1
      2430
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo