Webcamviewer aus dem BB Code Archiv

Anfängerfragen zum Programmieren mit PureBasic.
amiga123
Beiträge: 88
Registriert: 17.02.2009 18:05

Webcamviewer aus dem BB Code Archiv

Beitrag von amiga123 »

Hallo
Habe da ein Problem wo ich nicht weiterkomme. Den Quellcode habe ich von hier :http://www.purearea.net/pb/CodeArchiv/I ... teImage.pb
Nach Modifikation sieht er jetzt so aus.

Code: Alles auswählen

; German forum: http://www.purebasic.fr/german/archive/viewtopic.php?t=2015&highlight=
; Author: Danilo (updated for PB4.00 by blbltheworm)
; Date: 18. August 2003
; OS: Windows
; Demo: No


; #page defines the address of the image to load
; #page definiert die Adresse des zu ladenden Bildes
;---------------- Orginal hier -----------------------------
Procedure UpdateImage() 
  #page = "http://gast:gast@192.168.1.81:81/snapshot.cgi"   ; there is probably only every xx minutes a new picture on the server !
  DeleteUrlCacheEntry_(#page) 
  URLDownloadToFile_(0,#page, "c:\__temp.jpg", 0, 0) 
  LoadImage(0, "c:\__temp.jpg") 
  DeleteFile("c:\__temp.jpg") 
  Ergebnis = ResizeImage(0, 320, 240)
  If IsGadget(0)
    SetGadgetState(0,ImageID(0)) 
  EndIf 
EndProcedure 
;-----------------------------

Procedure UpdateImage1(x$,id) 
  ;#page1 = "http://gast:gast@192.168.1.82:81/snapshot.cgi"   ; there is probably only every xx minutes a new picture on the server !
  DeleteUrlCacheEntry_(x$) 
  URLDownloadToFile_(0,x$, "c:\__temp.jpg", 0, 0) 
  x=LoadImage(id, "c:\__temp.jpg") 
  DeleteFile("c:\__temp.jpg") 
;  If x <>0
  Ergebnis = ResizeImage(id, 320, 240)
  If IsGadget(id)
    SetGadgetState(id,ImageID(id)) 
  EndIf 
 ; EndIf
EndProcedure 


UseJPEGImageDecoder() 

UpdateImage() 

OpenWindow(0, 0, 0, 650, 500, "PB - Webcam!", #PB_Window_SystemMenu) 
  
  ImageGadget(0,0,0,320,240,ImageID(0),#PB_Image_Border) 
  ImageGadget(1,321,0,320,240,ImageID(0),#PB_Image_Border) 

AddWindowTimer(0, 123,500) 


Repeat 
  Select WaitWindowEvent() 
    Case #PB_Event_CloseWindow 
      End 
    Case #PB_Event_Timer
      webcam$="http://gast:gast@sundisp.zapto.org:81/snapshot.cgi"
      UpdateImage1(webcam$,0)
      webcam$="http://www.alfa2.it/current.jpg"
      UpdateImage1(webcam$,1)

  EndSelect 
ForEver 

; IDE Options = PureBasic v4.00 (Windows - x86)
; Folding = -
; EnableXP
Wenn ich das Programm starte wird das 2 Image aktualiesiert, das erste Image leider nicht. Habe das mal mit anderen Webadressen probiert, da gehen beide. Weiß jemand
warum es mal geht mal nicht ?
Heute Vormittag habe ich hier meine beiden Webcams zum laufen gebracht. Nachmittag gleiche Einstellung neu gestartet und nur noch Standbild. Mit externe Webadressen geht es Anscheind nur warum ?
(meine eigenen Cams http://gast:gast@192.168.1.82:81/snapshot.cgi : und
http://gast:gast@192.168.1.81:81/snapshot.cgi)

mfg. Herb
Pure Basic 4.60 Vollversion
http://www.Sundisp.de
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Re: Webcamviewer aus dem BB Code Archiv

Beitrag von Delle »

Also bei Links gehen bei mir gar nicht...

Ich vermute mal die CGI-Datei liefert kein gültiges Image zurück ODER wenn es immer das gleiche Bild ist, dann liegt es am Cache.

Dann ev. so aufrufen:

http://gast:gast@192.168.1.81:81/snapshot.cgi?session=[fortlaufende id]

Dann behandelt er jeden Aufruf als neu.
PB 6.21 | Win 11
amiga123
Beiträge: 88
Registriert: 17.02.2009 18:05

Re: Webcamviewer aus dem BB Code Archiv

Beitrag von amiga123 »

Delle hat geschrieben:Also bei Links gehen bei mir gar nicht...

Ich vermute mal die CGI-Datei liefert kein gültiges Image zurück ODER wenn es immer das gleiche Bild ist, dann liegt es am Cache.

Dann ev. so aufrufen:

http://gast:gast@192.168.1.81:81/snapshot.cgi?session=[fortlaufende id]

Dann behandelt er jeden Aufruf als neu.
Hi
Also das die Links nicht gehen ist klar. Das war ja nur ein Beispiel wie ich die Webcams bei mir im Netzwerk aufrufe. Wenn du den Code mal bei dir laufen lässt, werden dann beide Images aktualisiert ?
Im Übrigen braucht man bei der Cgi Aufruf keine Session ID. Geht über den Browser einwandfrei auch ohne. Es wird bei jedem Aufruf das aktuelle Bild übertragen.
Kannst ja mal Probieren hier der Link zu einer meiner Webcams die im Netz zu erreichen sind.

http://gast:gast@sundisp.zapto.org:81/snapshot.cgi

Gruß Herb
Pure Basic 4.60 Vollversion
http://www.Sundisp.de
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Re: Webcamviewer aus dem BB Code Archiv

Beitrag von Delle »

Also ich hab jetzt das bei mir laufen, sehe aber aufgrund der Webcam-Position natürlich kaum "Bewegung"...

Code: Alles auswählen

Procedure UpdateImage()
  #page = "http://gast:gast@sundisp.zapto.org:81/snapshot.cgi" 
  DeleteUrlCacheEntry_(#page)
  URLDownloadToFile_(0,#page, "c:\__temp.jpg", 0, 0)
  LoadImage(0, "c:\__temp.jpg")
  DeleteFile("c:\__temp.jpg")
  Ergebnis = ResizeImage(0, 320, 240)
  If IsGadget(0)
    SetGadgetState(0,ImageID(0))
  EndIf
EndProcedure

UseJPEGImageDecoder()

UpdateImage()

OpenWindow(0, 0, 0, 650, 500, "PB - Webcam!", #PB_Window_SystemMenu)
 
ImageGadget(0,0,0,320,240,ImageID(0),#PB_Image_Border)

AddWindowTimer(0, 123,500)

Repeat
  
  Select WaitWindowEvent()
      
    Case #PB_Event_CloseWindow:End
    Case #PB_Event_Timer:UpdateImage()

  EndSelect
  
ForEver
PB 6.21 | Win 11
amiga123
Beiträge: 88
Registriert: 17.02.2009 18:05

Re: Webcamviewer aus dem BB Code Archiv

Beitrag von amiga123 »

Hi
Anscheind liegt das Problem beim Betriebssystem.
Wenn man im Firefox (den ich verwende) die Adresse http://gast:gast@sundisp.zapto.org:81/snapshot.cgi eingibt, geht das sofort.
Gibt man die gleiche Adresse im IE 8 ein gibt er mir diese Meldung aus.

Datei wurde nicht gefunden http://gast:gast@sundisp.zapto.org:81/snapshot.cgi Schreibweise überprüfen und wiederholen.

Wenn ich eingebe http://gast:gast@sundisp.zapto.org:81/videostream.cgi bekomme ich im Firefox den Videostream der Kamera.

Im IE 8 wieder die obrige Fehlermeldung.

Weiß jemand woran das liegen kann.

mfg Herb.

PS. Habe es gerade mit Google Crome probiert, da geht auch alles einwandfrei.
Pure Basic 4.60 Vollversion
http://www.Sundisp.de
Antworten