Web Cam Cliente Servidor...Hola

Iniciado por ranslsad, 8 Agosto 2006, 15:12 PM

0 Miembros y 2 Visitantes están viendo este tema.

ranslsad

Hola amigos, ya que no se puede ver la web cam de msn, toy haciendo un programa...
pero no se como se envian imagenes de un picture box a otro :S
aqui les dejo el codigo de lo que llevo echo de mi cliente y servidor:

Cliente:
Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal lpszWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hwndParent As Long, ByVal nID As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hndw As Long) As Boolean

Private Const CONNECT As Long = 1034
Private Const DISCONNECT As Long = 1035
Private Const GET_FRAME As Long = 1084
Private Const COPY As Long = 1054

Private hWndCap As Long
Private Sub Form_Load()
Timer1.Interval = 1
    hWndCap = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 160, 120, Me.hwnd, 0)
    DoEvents
    SendMessage hWndCap, CONNECT, 0, 0
    Timer1.Enabled = True
    Winsock1.RemoteHost = txtip.Text
End Sub

Private Sub Form_Unload(Cancel As Integer)
    DestroyWindow hWndCap
End Sub

Private Sub Timer1_Timer()
    SendMessage hWndCap, GET_FRAME, 0, 0
    SendMessage hWndCap, COPY, 0, 0
    Picture1.Picture = Clipboard.GetData
    Clipboard.Clear
End Sub


Servidor:
Private Sub Command1_Click()
Winsock1.Listen
End Sub

Private Sub Command2_Click()
Winsock1.Close
End Sub

Private Sub Command3_Click()
Call SavePicture(Picture1.Image, "\image.bmp")
End Sub

Private Sub Form_Load()

End Sub

Private Sub Text1_Change()
List1.AddItem Text1.Text
End Sub

Private Sub Winsock1_Connect()
Text1.Text = Winsock1.RemoteHost
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
  If w2.State <> sckClosed Then _
    w2.Close
   
  w2.Accept requestID
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Imagenes As String
Winsock1.GetData Imagenes
Picture1.Picture Data
End Sub


Como ven en el servidor aun no e echo el SendData
y en la linea "Picture1.Picture Data" del servidor me da error :S

Bueno desde ya Gracias ;)

Salu2

Ranslsad

sch3m4

tienes que guardar la imagen en un fichero, y enviar ese fichero
SafetyBits

"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.(..

sircid

#2
Los ficheros se guardan en formato .bmp y tiene alrededor de 100kb de peso. Por lo cuál en el tema de webcam remota tendrás que comprimir las imágenes en JPG ya que supongo que le querrás poner una velocidad de 1imagen/sec. Con el peso de 100kb por imagen puede irte 1imagen/10sec, con una línea convencional ( 1 mega ).

Temas interesantes:
transferencia de archivos x winsock
Visual Basic 6: Escritorio remoto (Cliente - Servidor)

Robokop

CitarLos ficheros se guardan en formato .bmp y tiene alrededor de 100kb de peso
en BMP yo diria un poco mas , si capturas la screen y dejas en BMP la imagen queda en 2 megas.
Busca informacion sobre el modulo cjpeg para comprimir imagenes , puedes dejarlas hasta en 4 kb .

ranslsad

Muchas gracias por toda la informacion brindada!!!!
ahora buscare y mirare y cualqueir duda la posteare aqui ;)

Salu2

Ranslsad

sircid

Cita de: Robokop en  8 Agosto 2006, 19:33 PM
CitarLos ficheros se guardan en formato .bmp y tiene alrededor de 100kb de peso
en BMP yo diria un poco mas , si capturas la screen y dejas en BMP la imagen queda en 2 megas.
Busca informacion sobre el modulo cjpeg para comprimir imagenes , puedes dejarlas hasta en 4 kb .

Olvide poner un parantesis (depende de la webcam) : PPPPP!