Seite 1 von 2
WebCam
Verfasst: 30.05.2005 16:57
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.
Re: WebCam
Verfasst: 30.05.2005 17:16
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
Verfasst: 30.05.2005 17:18
von bobobo
Gucke mal flugs ins Codearchiv bei Internet&Co und dort bei FTP-Upload.
also
hier
Verfasst: 30.05.2005 17:51
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
Verfasst: 30.05.2005 18:48
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....
Verfasst: 30.05.2005 19:05
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.
Verfasst: 30.05.2005 19:59
von JanFredi
Da ich eine TV karte habe und meine Webcam als 2 Kamera Initsjalisirt ist geht das nicht wie krige ich Kamera 2?
Verfasst: 30.05.2005 20:01
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]
Dürfte zum 2. Treiber connecten.
Verfasst: 31.05.2005 12:03
von JanFredi
DarkDragon hat geschrieben:
[EDIT]
Dürfte zum 2. Treiber connecten.
Ne leider nicht nur zum Schwartzen
Verfasst: 31.05.2005 13:18
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