Webcam Snapshot speichern File not found

Begonnen von Guest, 16 Oktober 2011, 10:33:59

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo,

ich versuche mit FHEM (99_Utils.pm) bei notify das Bild einer Webcam
zu speichern. Das scheitert aber schon beim Öffnen des Bildes. Das
habe ich u.a. so versucht:

my $imgfile = "http://192.168.178.33:8081/snapshot.cgi?
user=USER&pwd=PWD";
open IMAGE, $imgfile or die $!;

Ich bekomme bei allen Varianten "No such file or dir..", wobei
natürlich ein Bild geliefert wird wenn ich die URL im Browser aufrufe.
Nachdem ich alle möglichen Versuche mit Perl gemacht habe und nichts
geholfen hat, dachte ich das vielleicht der Port aus FHEM heraus nicht
erreichbar ist, habe auf die interne IP-Adresse umgestellt, dass hat
auch nichts geholfen.

Weiß jemand Rat?

Danke René

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

So hab ich dann gemacht (noch nicht ganz ausprogrammiert)...

sub
SaveSnapshot()
{
  my $host = "192.168.178.33";
  my $get = "/snapshot.cgi?user=admin&pwd=error";
  my $port = 8081;

  my ($iaddr, $paddr);
  $iaddr = inet_aton($host);
  $paddr = sockaddr_in($port, $iaddr);

  unless(socket(SOCKET, PF_INET, SOCK_STREAM, 6)) { die "init socket:
$!\n"; }
  unless(connect(SOCKET, $paddr)) { die "no connect: $!\n"; }

  my $header = "GET $get HTTP/1.1\r\n".
    "Host: $host\r\n".
    "Connection: close\r\n\r\n";

  select SOCKET;
  $| = 1;
  binmode SOCKET;
  print SOCKET $header;
  shutdown SOCKET, 1;

  my $image = "IpCam.jpg";
  my @data = ;

  open FH, ">$image" or die $!;
  binmode FH;
  print "Content-type: image/jpeg\n\n";
  my $out;
  foreach(@data)
  {
    $out .= $_;
  }
  print FH substr($out, index($out, "ÿØÿÛ"));

  close FH;
  close SOCKET;
}

On 16 Okt., 10:33, dutzend wrote:
> Hallo,
>
> ich versuche mit FHEM (99_Utils.pm) bei notify das Bild einer Webcam
> zu speichern. Das scheitert aber schon beim Öffnen des Bildes. Das
> habe ich u.a. so versucht:
>
> my $imgfile = "http://192.168.178.33:8081/snapshot.cgi?
> user=USER&pwd=PWD";
> open IMAGE, $imgfile or die $!;
>
> Ich bekomme bei allen Varianten "No such file or dir..", wobei
> natürlich ein Bild geliefert wird wenn ich die URL im Browser aufrufe.
> Nachdem ich alle möglichen Versuche mit Perl gemacht habe und nichts
> geholfen hat, dachte ich das vielleicht der Port aus FHEM heraus nicht
> erreichbar ist, habe auf die interne IP-Adresse umgestellt, dass hat
> auch nichts geholfen.
>
> Weiß jemand Rat?
>
> Danke René

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com