Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Скрипты
  5. ioBroker скрипты
  6. Скрипт посылает видео mp4 с ip камер в Telegram

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

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

Geplant Angeheftet Gesperrt Verschoben ioBroker скрипты
1 Beiträge 1 Kommentatoren 2.5k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Offline
    A Offline
    Artem82
    schrieb am zuletzt editiert von
    #1

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

    Камера(-ы) подключены к 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 Antwort Letzte Antwort
    0
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen


    Support us

    ioBroker
    Community Adapters
    Donate

    594

    Online

    32.4k

    Benutzer

    81.5k

    Themen

    1.3m

    Beiträge
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
    ioBroker Community 2014-2025
    logo
    • Anmelden

    • Du hast noch kein Konto? Registrieren

    • Anmelden oder registrieren, um zu suchen
    • Erster Beitrag
      Letzter Beitrag
    0
    • Home
    • Aktuell
    • Tags
    • Ungelesen 0
    • Kategorien
    • Unreplied
    • Beliebt
    • GitHub
    • Docu
    • Hilfe