WebCam

Für allgemeine Fragen zur Programmierung mit PureBasic.
JanFredi
Beiträge: 44
Registriert: 25.02.2005 19:49
Wohnort: Dortmund
Kontaktdaten:

WebCam

Beitrag von JanFredi »

Kennt jemand ein Programm mit dem man WebCam bilder Automatisch im Hintergrund Hochladen kann.
Es soll ein Programm sein was mit Windos Startet.
Es soll per FTP funktiniren.
Es soll ein Version sein die nicht nur 30 Tage leuft und so weiter na ihr wist schön was ich meine.
Ich bitte um Eure Hilfe.

Edit by Kiffi: In's 'Allgemein'-Forum verschoben.
Ich benutze PureBasic 3.93.
Und zum schnellen tippen JaPBe.
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: WebCam

Beitrag von Kiffi »

> Ich bitte um Eure Hilfe.

selber programmieren! :-)

Du hast hier ja bereits schon mal nach einer WebCam-Software gefragt. Also
nimm die von bobobo empfohlene Lib und packst die für Purebasic zahlreich
vorhandenen FTP-Routinen dazu. Fertig ist's.

Grüße ... Kiffi
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Gucke mal flugs ins Codearchiv bei Internet&Co und dort bei FTP-Upload.
also hier
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Und hier noch ein kleiner Webcam code:

Code: Alles auswählen

#WM_CAP_START = #WM_USER

#WM_CAP_SET_CALLBACK_ERROR = #WM_CAP_START + 2
#WM_CAP_SET_CALLBACK_STATUS = #WM_CAP_START + 3
#WM_CAP_SET_CALLBACK_YIELD = #WM_CAP_START + 4
#WM_CAP_SET_CALLBACK_FRAME = #WM_CAP_START + 5
#WM_CAP_SET_CALLBACK_VIDEOSTREAM = #WM_CAP_START + 6
#WM_CAP_SET_CALLBACK_WAVESTREAM = #WM_CAP_START + 7

#WM_CAP_DRIVER_CONNECT        =  #WM_USER + 10
#WM_CAP_DRIVER_DISCONNECT     =  #WM_USER + 11
#WM_CAP_DRIVER_GET_CAPS = #WM_CAP_START + 14

#WM_CAP_DLG_VIDEOFORMAT = #WM_CAP_START + 41
#WM_CAP_DLG_VIDEOSOURCE = #WM_CAP_START + 42
#WM_CAP_DLG_VIDEODISPLAY = #WM_CAP_START + 43

#WM_CAP_SET_PREVIEW = #WM_CAP_START + 50
#WM_CAP_SET_PREVIEWRATE = #WM_CAP_START + 52
#WM_CAP_GET_STATUS = #WM_CAP_START + 54

#WM_CAP_FILE_SAVEDIB          =  #WM_USER + 25
#WM_CAP_SET_SCALE             =  #WM_USER + 53

#WM_CAP_SET_CALLBACK_CAPCONTROL = #WM_CAP_START + 85

Structure VIDEOHDR
  lpData.l
  dwBufferLength.l
  dwBytesUsed.l
  dwTimeCaptured.l
  dwUser.l
  dwFlags.l
  dwReserved.l[3]
EndStructure

Structure CAPSTATUS
  uiImageWidth.l
  uiImageHeight.l
  fLiveWindow.l
  fOverlayWindow.l
  fScale.l
  ptScroll.Point
  fUsingDefaultPalette.l
  fAudioHardware.l
  fCapFileExists.l
  dwCurrentVideoFrame.l
  dwCurrentVideoFramesDropped.l
  dwCurrentWaveSamples.l
  dwCurrentTimeElapsedMS.l
  hPalCurrent.l
  fCapturingNow.l
  dwReturn.l
  wNumVideoAllocated.l
  wNumAudioAllocated.l
EndStructure

hWnd = OpenWindow(0, 0, 0, 400, 500, #PB_Window_SystemMenu, "WebCamTest")

CreateGadgetList(WindowID())

If OpenLibrary(0, "AVICAP32.DLL")

hWebcam = CallFunction(0, "capCreateCaptureWindowA", "BLUBBER", #WS_VISIBLE + #WS_CHILD, 10, 10, 380, 380, hWnd, 0)

SendMessage_(hWebcam, #WM_CAP_DRIVER_CONNECT          , 0 , 0)
SendMessage_(hWebcam, #WM_CAP_SET_SCALE               , 1 , 0)
SendMessage_(hWebcam, #WM_CAP_SET_PREVIEWRATE         , 50, 0)
SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW             , 1 , 0)

Repeat
  Event = WindowEvent()
  Select Event
    Case #PB_Event_CloseWindow
      Quit = 1
  EndSelect
Until Quit = 1
SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW       , 0, 0)
SendMessage_(hWebcam, #WM_CAP_DRIVER_DISCONNECT, "BLUBBER", 0)
CloseWindow(0)
CloseLibrary(0)
EndIf
;End
Zuletzt geändert von DarkDragon am 30.05.2005 19:05, insgesamt 1-mal geändert.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

Code: Alles auswählen

CallFunction(0, "capSetCallbackOnFrame", hWebcam, @FrameCallback()) 
Mein PureBasic hat geschrieben: Zeile 66: FrameCallback() is not a function, an array or a linked list....
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Hroudtwolf hat geschrieben:

Code: Alles auswählen

CallFunction(0, "capSetCallbackOnFrame", hWebcam, @FrameCallback()) 
Mein PureBasic hat geschrieben: Zeile 66: FrameCallback() is not a function, an array or a linked list....
jo lösch die zeile, da hab ich vergessen es vollständig zu löschen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
JanFredi
Beiträge: 44
Registriert: 25.02.2005 19:49
Wohnort: Dortmund
Kontaktdaten:

Beitrag von JanFredi »

Da ich eine TV karte habe und meine Webcam als 2 Kamera Initsjalisirt ist geht das nicht wie krige ich Kamera 2?
Ich benutze PureBasic 3.93.
Und zum schnellen tippen JaPBe.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

JanFredi hat geschrieben:Da ich eine TV karte habe und meine Webcam als 2 Kamera Initsjalisirt ist geht das nicht wie krige ich Kamera 2?
Toll, ich hab das eigentlich nur zu testzwecken verwendet, aber such halt mal nach den befehlen bei google.

[EDIT]

Code: Alles auswählen

SendMessage_(hWebcam, #WM_CAP_DRIVER_CONNECT          , 1 , 0)
Dürfte zum 2. Treiber connecten.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
JanFredi
Beiträge: 44
Registriert: 25.02.2005 19:49
Wohnort: Dortmund
Kontaktdaten:

Beitrag von JanFredi »

DarkDragon hat geschrieben: [EDIT]

Code: Alles auswählen

SendMessage_(hWebcam, #WM_CAP_DRIVER_CONNECT          , 1 , 0)
Dürfte zum 2. Treiber connecten.
Ne leider nicht nur zum Schwartzen
Ich benutze PureBasic 3.93.
Und zum schnellen tippen JaPBe.
Benutzeravatar
stbi
Beiträge: 685
Registriert: 31.08.2004 15:39
Wohnort: Cleverly Hills

Beitrag von stbi »

ich kanns gerade mangels Cam nicht ausprobieren, aber folgender Code sollte/könnte die installierten Driver auflisten:

Code: Alles auswählen

devname.s = Space(80)
devver.s = Space(80)
For x = 0 To 9
  result = CallFunction(0, "capGetDriverDescription", x, @devname, 80, devver, 80)
  Debug "Capture Driver " + Str(x)
  Debug result
  Debug devname
  Debug devver
Next
einfach mal vor die Zeile mit dem DriverConnect einfügen, würde mich interessieren, was er auflistet
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."

Es gibt keine Vista-Witze. Es ist alles wahr!
Antworten