Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-03-2009
sebasthian777 sebasthian777 is offline
Miembro
 
Registrado: feb 2009
Posts: 19
Poder: 0
sebasthian777 Va por buen camino
Almacenar en buffer Captura de video

Muy buenas otra vez compañeros programadores.

Vengo con una duda.

Tengo un programa que captura una webcam y la muestra por formulario, por panel o por donde quiera por asi decirlo, simepre y cuando direccione que handle quier usar.

aca un poco del codigo para que no sea tan abstracto:
Código Delphi [-]
function CreateCaptureWindow(Name: PChar; Style: Longint; X, Y: Integer;
 Width, Height: integer; Parent: HWND; id: integer): HWND; stdcall;
 external 'AVICAP32.DLL' name 'capCreateCaptureWindowA';

y el uso de la misma funcion:
Código Delphi [-]
pHWND:= CreateCaptureWindow('Ventana de captura',WS_CHILD or WS_VISIBLE,
    0,0,Panel1.Width,Panel1.Height,panel1.handle,0);


donde pHWND:

Código Delphi [-]
pHWND : THandle;


y uso los metodos siguientes para controlar el avicap32
Código Delphi [-]
SendMessage(pHWND, WM_CAP_DRIVER_DISCONNECT, 0, 0);
    SendMessage(pHWND, WM_CAP_DRIVER_CONNECT, 0, 0);
    SendMessage(pHWND, WM_CAP_SET_PREVIEW, 1, 0);
SendMessage(pHWND, WM_CAP_GRAB_FRAME, 0, lParam(PChar('C:\bmp\1.jpg')));
SendMessage(pHWND, WM_CAP_SAVEDIB, 0, lParam(PChar('C:\bmp\1.jpg')));
SendMessage(pHWND, WM_CAP_SET_PREVIEW, 1, 0);


con estas constantes:
Código Delphi [-]
const   WM_CAP_START = WM_USER;   WM_CAP_STOP = WM_CAP_START + 68;   WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10;   WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11;   WM_CAP_SAVEDIB = WM_CAP_START + 25;   WM_CAP_GRAB_FRAME = WM_CAP_START + 60;   WM_CAP_SEQUENCE = WM_CAP_START + 62;   WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20;   WM_CAP_SET_PREVIEW = WM_CAP_START + 50;   WM_CAP_SET_OVERLAY = WM_CAP_START + 51;   WM_CAP_SET_PREVIEWRATE = WM_USER + 52;   WM_CAP_EDIT_COPY = WM_CAP_START+ 30;


En el ejemplo que puse anteriormente se actualiza constantemente el video sobre un Tpanel, y asi lo puedo ver en tiempo de ejecucion. Lo que realmente quiero es poder almacenar ese video en tiempo real en un buffer, como para poder mandarlo via tcp o udp.

desde ya muchas gracias!
y saludos!
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ERROR:ShLink.GetPath(Buffer, Sizeof(Buffer), Data, SLGP_UNCPRIORITY) Mav Varios 2 26-05-2008 21:31:49
almacenar imagenes video y paginas html en interbase carasucia Conexión con bases de datos 0 15-11-2007 18:43:03
Insertar Video, o vista preeliminar de video JuanErasmo .NET 0 10-01-2007 20:27:20
Ayuda con captura de un frame de un video kakesoft Varios 0 11-07-2005 21:07:50
captura de frames y making the video M@rcos Gráficos 2 14-07-2003 17:03:45


La franja horaria es GMT +2. Ahora son las 11:09:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi