Navigation

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

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Telegram отправка фото камеры

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

      Всем привет!

      Подскажите как можно изменить соотношение сторон отправляемой картинки?

      т.е. Камера китайская, по ссылке формирует картинку 704х576 (4:3), а хочу ее растянуть, чтобы получить 16:9. В настройках камеры таких настроек нет.

      На каком этапе это можно сделать?

      //Функция, которая запрашивает изображение с камеры, сохраняет его во временный файл и отправляет его в драйвер telegram
      function sendImage() {
        request.get({url: 'http://10.10.10.10/webcapture.jpg?command=snap&channel=1', encoding: 'binary'}, function (err, response, body) {
          fs.writeFile("/tmp/snapshot.jpg", body, 'binary', function(err) {
            if (err) {
              console.error(err);
            } else {
              sendTo('telegram.0', '/tmp/snapshot.jpg');
            }
          });
        });
      }
      

      6761_webcapture.jpg

      1 Reply Last reply Reply Quote 0
      • S
        spectrekr last edited by

        Во-первых что это даст? А реализовать можно с помощью того же ffmpeg. Им получаете картинку с камеры, формируете промежуточное изображение и его уже высылаете в тгм.

        https://forum.iobroker.net/viewtopic.php?f=26&t=10399 реализация, вам нужен пример где камера отдает rtsp поток.

        1 Reply Last reply Reply Quote 0
        • Bluefox
          Bluefox last edited by

          @kristow:

          Всем привет!

          Подскажите как можно изменить соотношение сторон отправляемой картинки?

          т.е. Камера китайская, по ссылке формирует картинку 704х576 (4:3), а хочу ее растянуть, чтобы получить 16:9. В настройках камеры таких настроек нет.

          На каком этапе это можно сделать?

          //Функция, которая запрашивает изображение с камеры, сохраняет его во временный файл и отправляет его в драйвер telegram
          function sendImage() {
            request.get({url: 'http://10.10.10.10/webcapture.jpg?command=snap&channel=1', encoding: 'binary'}, function (err, response, body) {
              fs.writeFile("/tmp/snapshot.jpg", body, 'binary', function(err) {
                if (err) {
                  console.error(err);
                } else {
                  sendTo('telegram.0', '/tmp/snapshot.jpg');
                }
              });
            });
          }
          ```` `  
          

          Я бы посоветовал так

          //Функция, которая запрашивает изображение с камеры, сохраняет его во временный файл и отправляет его в драйвер telegram
          var sharp = require("sharp");
          function sendImage() {
            request.get({url: 'http://10.10.10.10/webcapture.jpg?command=snap&channel=1', encoding: 'binary'}, function (err, response, body) {
              fs.writeFile("/tmp/snapshot.jpg", body, 'binary', function(err) {
                if (err) {
                  console.error(err);
                } else {
                sharp("/tmp/snapshot.jpg")
            .resize(320,200)
            .toFile("/tmp/snapshot1.jpg")
            .then(() =>sendTo('telegram.0', '/tmp/snapshot1.jpg'));
              });
            });
          }
          

          Только надо добавить в настройках JavaScript: sharp

          1 Reply Last reply Reply Quote 0
          • K
            kristow last edited by

            @spectrekr:

            Во-первых что это даст? А реализовать можно с помощью того же ffmpeg. Им получаете картинку с камеры, формируете промежуточное изображение и его уже высылаете в тгм.

            https://forum.iobroker.net/viewtopic.php?f=26&t=10399 реализация, вам нужен пример где камера отдает rtsp поток. `
            Спасибо, статья хорошая 🙂

            Повторил у себя на сервере, работает отлично! 8-)

            1 Reply Last reply Reply Quote 0
            • K
              kristow last edited by

              @Bluefox:

              Я бы посоветовал так

              //Функция, которая запрашивает изображение с камеры, сохраняет его во временный файл и отправляет его в драйвер telegram
              var sharp = require("sharp");
              function sendImage() {
                request.get({url: 'http://10.10.10.10/webcapture.jpg?command=snap&channel=1', encoding: 'binary'}, function (err, response, body) {
                  fs.writeFile("/tmp/snapshot.jpg", body, 'binary', function(err) {
                    if (err) {
                      console.error(err);
                    } else {
                    sharp("/tmp/snapshot.jpg")
                .resize(320,200)
                .toFile("/tmp/snapshot1.jpg")
                .then(() =>sendTo('telegram.0', '/tmp/snapshot1.jpg'));
                  });
                });
              }
              

              Только надо добавить в настройках JavaScript: sharp `

              Пробовал для эксперимента ваш вариант, не заработал.

              1 Reply Last reply Reply Quote 0
              • Bluefox
                Bluefox last edited by

                @kristow:

                @Bluefox:

                Я бы посоветовал так

                //Функция, которая запрашивает изображение с камеры, сохраняет его во временный файл и отправляет его в драйвер telegram
                var sharp = require("sharp");
                function sendImage() {
                  request.get({url: 'http://10.10.10.10/webcapture.jpg?command=snap&channel=1', encoding: 'binary'}, function (err, response, body) {
                    fs.writeFile("/tmp/snapshot.jpg", body, 'binary', function(err) {
                      if (err) {
                        console.error(err);
                      } else {
                      sharp("/tmp/snapshot.jpg")
                  .resize(320,200)
                  .toFile("/tmp/snapshot1.jpg")
                  .then(() =>sendTo('telegram.0', '/tmp/snapshot1.jpg'));
                    });
                  });
                }
                

                Только надо добавить в настройках JavaScript: sharp `

                Пробовал для эксперимента ваш вариант, не заработал. `
                Ну что говорит то? Я же с телефона печататал.

                Может забыл скобку где.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate

                829
                Online

                31.8k
                Users

                80.0k
                Topics

                1.3m
                Posts

                3
                6
                1353
                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