NEWS
Script -> exec funktioniert nicht
-
Hi zusammen!
Ich hab mal wieder n Problem
Ich hab eine Kamera von Aldi und muss über Umwege Snapshots machen damit ich die in einer Auflösung 1280x720 bekomme.
Auf der Konsole funktioniert der Befehl ohne Probleme
wget -O - http://admin:xxxxxxxxxx@192.168.178.63/videostream.flv?usr=admin\&pwd=xxxxxxxxxxx | dd count=300 of=/mnt/NAS/Bilder/Haustuer.flv && mplayer -nosound -vo jpeg:outdir=/mnt/NAS/Bilder/ -frames 2 /mnt/NAS/Bilder/Haustuer.flv
wenn ich ihn aber in nem Script ausführen lasse
exec('wget -O - http://admin:xxxxxxxxxxxx@192.168.178.63/videostream.flv?usr=admin\&pwd=xxxxxxxxxxxxx | dd count=300 of=/mnt/NAS/Bilder/Haustuer.flv && mplayer -nosound -vo jpeg:outdir=/mnt/NAS/Bilder/ -frames 2 /mnt/NAS/Bilder/Haustuer.flv');
dann klappt es nicht!
Kann mir da vielleicht jemand weiterhelfen?
Gruß
Johnny
-
Hmm, ich hätte fast gedacht, dass man ein Bild auch so holen kann. Ich zeige Dir mal wie es bei mir funktioniert (jedoch mit einer Instar). Letztendlich ist bei vielen aber der gleiche Chinakracher drinnen.
Ich habe Dir mal ein Beispielskript beigefügt, welches auch gleich das Bild per Telegram versendet. Ich unterstell einfach mal, dass Du vielleicht sowas auch noch vor hast?
So, also hier das Script mit meiner Kamera:
var request = require('request'); var fs = require('fs'); request.get({url: 'http://192.168.1.22/tmpfs/auto.jpg?usr=gast&pwd=gast', encoding: 'binary'}, function (err, response, body) { fs.writeFile("/tmp/snap.jpg", body, 'binary', function(err) { if (err) { console.error(err); } else { console.log('Snapshot sent'); sendTo('telegram.0', {text: '/tmp/snap.jpg', chatId: 0190666666, caption: 'Achtung Snappschuss'}); } }); });
Ansonsten, wenn es bei Dir gar nicht passt, versuche mal mit dieser Schreibweise:
exec('wget -O - http://admin:xxxxxxxxxxxx@192.168.178.63/videostream.flv?usr=admin\&pwd=xxxxxxxxxxxxx | dd count=300 of=/mnt/NAS/Bilder/Haustuer.flv && mplayer -nosound -vo jpeg:outdir=/mnt/NAS/Bilder/ -frames 2 /mnt/NAS/Bilder/Haustuer.flv', function (error, stdout, stderr) { console.log('stdout: ' + stdout); });
Hoffe es passt so.
So long,
Fitti