Webcam Video LiveStream über Lan übertragen?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Rothammel
Beiträge: 53
Registriert: 17.09.2006 17:22

Webcam Video LiveStream über Lan übertragen?

Beitrag von Rothammel »

Hallo
also ich habe jetzt diesen Code hier verwendet:

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, 800, 600, #PB_Window_SystemMenu, "WebCamTest")

CreateGadgetList(WindowID())

If OpenLibrary(0, "AVICAP32.DLL")

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

SendMessage_(hWebcam, #WM_CAP_DRIVER_CONNECT          , 0 , 0) ;<- da halt auf den entsprechenden treiber(0-9) ändern
SendMessage_(hWebcam, #WM_CAP_SET_SCALE               , 1 , 0)
SendMessage_(hWebcam, #WM_CAP_SET_PREVIEWRATE         , 10, 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
der funzt gut. ich sehe das Webcambild.
Aber wie kann ich das jetzt über Lan mit 24 Bildern/Sekunden übertragen?
Man müsste ja wohl das Bild ordentlich kompriemieren! bei 50kbyte pro Bild sind das ja schon 1,2Mbyte/sekunde! ! ! :shock:

Ich hoffe jemand hat eine gute Idee.
MfG Rothammel
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

...hattest du zu dem thema nicht schon woanders geschrieben?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Rothammel
Beiträge: 53
Registriert: 17.09.2006 17:22

Ja klar

Beitrag von Rothammel »

na klar, aber da wurden keine positiven Antworten gegeben! Und das war auch offtopic
Und die Webcam Problematik ist hier auch schon geklärt. Ich würde nur gerne wissen wie man am besten mit wenig Traffic die Bilder übertragen könnte! :o
MfG Rothammel
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag von winduff »

ich denke mal - als DAU - durch kompression.... 8)
Bild
AND51 hat geschrieben:...und ich würde dein Programm aus Wut zwei mal installieren, um eines genüsslicher löschen zu können, als das andere...
Rothammel
Beiträge: 53
Registriert: 17.09.2006 17:22

WOW, das ist es!

Beitrag von Rothammel »

Das ist die Idee, :o
aber das müsste wirklich eine sehr gute Kompression sein. Mehr als 350kbyte/s sollten schon nicht rauskommen!
MfG Rothammel
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

die kompression müsste aber ebenfalls "life" ablaufen,
und je besser eine kompression ist, desto länger dauert sie.
das wird also auf jeden fall zu verzögerungen im Bild führen.

um die grunddatenmenge klein zu halten, egal ob du später komprimierst oder nicht,
solltest du dir überlegen, wiviele bilder pro sekunde in welcher größe du wirklich benötigst.

denk einfach dran, dass ein 640x480-truecolor-bild 16 mal so viel platz braucht wie ein 320x240-256-farb-bild,
das bedeutet, wenn du in 640x480-true 3 bilder pro sekunde versendest,
kannst du in 320x240-256farb schon 48 bilder versenden bei gleicher uploadrate.

achja, und noch was:
350kbyte/s kannst du als downloadrate gewiss haben, aber die uploadrate des rechners wo die Cam dranhängt muss auch fett genug sein...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Rothammel
Beiträge: 53
Registriert: 17.09.2006 17:22

GUT

Beitrag von Rothammel »

Die Webcam sitzt auf einem 1:6 Modell Humer mit einem Via MiniBoard und Wlan! Daher ist eine echte "life" Übertragung sehr wichtig :lol: .
Man will ja nicht lenken und in Wirklichkeit ist man schon angefahren. :(

Kann mir da jemand eine schnelle Webcam empfehlen.

Da mein WLAN ja nur 5Mbit an Daten über diese Entfernug schaufeln kann sind die 350kbyte/s doch recht gut gewählt!
MfG Rothammel
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag von RaVeN99 »

Reduzier die anzahl der Bilder / Sekunde, das dürfte die effektivste methode sein. Zumal - wenn ichs richitg im Kopf habe - die wenigsten webcams 24 Bilder/Sekunde bei einer 640er Auflösung schaffen, das iss meistens nur bei ner 320er drin. Die höhere Auflösung ist imho eh unnütz, da du ja nur erkennen musst wohin du navigieren willst, da reicht die 320er völlig aus. Reduzierst du zeitgleich die gesendeten bilder solltest du durchaus in nen bereich kommen der vertretbar ist.
Und wie gesagt, zum navigieren reichen die 12-14 Bilder durchaus aus, zumindest wenn du nicht gerade mit +50 km/h durch die gegend schüsselst ;) Ansonsten erkennste die hindernisse ja auch frühzeitig ^^


Mfg
RaVeN
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Cooles Projekt, da würd ich gern mehr dazu wissen!
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Rothammel
Beiträge: 53
Registriert: 17.09.2006 17:22

Colles Projekt!

Beitrag von Rothammel »

http://gigaquarts.mine.nu/forum/viewtopic.php?p=49

das waren oder sind die Anfänge

und hier die Orginal Doku

http://217.20.120.126/wiki/index.php/Dokumentation

ganz interesant oder?

MfG Rothammel
Antworten