NEWS
Videos per Telegram
-
Hallo zusammen,
ich möchte mit dem Telegram-Adapter Bilder und Videos von der Pi-Kamera versenden. Ersteres geht soweit.
Aber die Videos schickt er nicht. Nachdem ich die die Video mit raspvid aufgenommen habe (Länge 10sek) werden diese mit MP4Box zu mp4 konvertiert.
Hier das vollständige Skript:
on({id: "telegram.0.communicate.request"/*Last received request*/, change: "any"}, function (obj) { var d = new Date(); var curr_date = d.getDate(); var curr_month = d.getMonth() + 1; //Months are zero based var curr_year = d.getFullYear(); var curr_hour = d.getHours(); var curr_min = d.getMinutes(); //console.log(curr_date + "-" + curr_month + "-" + curr_year + '_'+curr_hour+curr_min); //var filename = curr_year +""+ curr_month +""+ curr_date + "_" + curr_hour+""+curr_min + ".jpg"; //console.log(filename); if (getState("telegram.0.communicate.request").val.toLowerCase().search("picam") != -1 ) { var filename = curr_year +""+ curr_month +""+ curr_date + "_" + curr_hour+""+curr_min + ".jpg"; exec ("raspistill -w 1920 -h 1080 -q 90 -o /home/pi/picam/" + filename + " > /home/pi/picam/picerr.log"); setTimeout(function() { //your code to be executed after 1 second //sendTo('telegram', "/home/pi/picam/" + filename); sendTo('telegram.0', { text: '/home/pi/picam/' + filename, caption: filename, disable_notification: true }); }, 8000); } if (getState("telegram.0.communicate.request").val.toLowerCase().search("pivid") != -1 ) { filename = curr_year +""+ curr_month +""+ curr_date + "_" + curr_hour+""+curr_min + ".h264 "; filenamefin = curr_year +""+ curr_month +""+ curr_date + "_" + curr_hour+""+curr_min + ".mp4 "; exec ("raspivid -o /home/pi/picam/" + filename + " -t 10000 -w 1280 -h 720 > /home/pi/picam/viderr.log"); //raspivid -o video.h264 -t 10000 exec ("MP4Box -add "+filename+" " + filenamefin); setTimeout(function() { //your code to be executed after 1 second sendTo('telegram.0', { text: '/home/pi/picam/' + filenamefin, //upload_video: '/home/pi/picam/' + filenamefin, caption: filename, disable_notification: true }); }, 20000); } });Kann mir jemand einen Tip geben?
Danke!!
-
Hallo,
danke für den Hinweis mit den Leerzeichen. Der Dateiname ist aber doch dem Element 'text' zugewiesen. Analog wie bei den Bildern und da geht es ja,
Grüße
-
Hallo,
danke für den Hinweis mit den Leerzeichen. Der Dateiname ist aber doch dem Element 'text' zugewiesen. Analog wie bei den Bildern und da geht es ja,
Grüße `
Wenn du beliebiges bestehendes Video überträgst? Vielleicht sind 20 Sekunden zu kurz. -
Schein eher am Timing zu liegen. Die Nachricht wurde gesendet bevor das Video fertig verarbeitet wurde
Damit geht es
on({id: "telegram.0.communicate.request"/*Last received request*/, change: "any"}, function (obj) { var d = new Date(); var curr_date = d.getDate(); var curr_month = d.getMonth() + 1; //Months are zero based var curr_year = d.getFullYear(); var curr_hour = d.getHours(); var curr_min = d.getMinutes(); if (getState("telegram.0.communicate.request").val.toLowerCase().search("picam") != -1 ) { var filename = curr_year +""+ curr_month +""+ curr_date + "_" + curr_hour+""+curr_min + ".jpg"; exec ("raspistill -q 90 -o /home/pi/picam/" + filename + " > /home/pi/picam/picerr.log"); setTimeout(function() { sendTo('telegram.0', { text: '/home/pi/picam/' + filename, caption: filename, disable_notification: true }); }, 6000); } if (getState("telegram.0.communicate.request").val.toLowerCase().search("pivid") != -1 ) { filename = curr_year +""+ curr_month +""+ curr_date + "_" + curr_hour+""+curr_min + ".h264"; filenamefin = curr_year +""+ curr_month +""+ curr_date + "_" + curr_hour+""+curr_min + ".mp4"; setTimeout(function() { exec ("raspivid -o /home/pi/picam/" + filename + " -t 10000 -w 1280 -h 720"); }, 1000); setTimeout(function() { exec ("MP4Box -add /home/pi/picam/"+filename+" /home/pi/picam/" + filenamefin + " >> vidconerr.log"); setTimeout(function() { sendTo('telegram.0', { text: '/home/pi/picam/' + filenamefin, caption: filenamefin, disable_notification: true }); }, 4000); }, 12000); } });
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden