Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Como compartir video en vivo (https://www.clubdelphi.com/foros/showthread.php?t=64003)

sebasthian777 12-03-2009 11:48:51

Como compartir video en vivo
 
Hola que tal gente!!!???

Bueno vengo por una pequeña duda que me esta incomodando un poco, jejeje.

Realice un programa que procesa y recive video por un web cam y necesito compartirlo por maquinas de mi red o directamente por itnernet... me gustaria saber si me pueden ayudar un poco con esto como para orientarme porque no tengo mucha nocion sobre este tema especifico.

Para capturar el video en delphi uso la biblioteca AVICAP32.dll y lo manejo desde un handle, y bue despues tiene un par de cosas mas que no vienen al caso... cualquier cosa explico un poco mas... pero como puedo hacer... tengo pensado hacerlo con la Indy, pero no entiendo bien como, usando un broadcast acaso? y si es asi alguno me puede tirar un tip como para bucar un poco de informacion.

desde ya muchas gracias gente!!!!

muchos salu2!


edit:
-------------------------

perdon me falto decir que uso el codegear RAD studio 2007, con indy 10

JXJ 12-03-2009 19:50:28

los componentes UDP de indy..

usando el Servidor UDP...en el lado del servidor de video, el programa que va a enviar el video a sus clientes.. y en ellos el componente cliente..

hacer el broadcast. es definiendo un rango de ips
me parece que tambien lo puedes hacer a todos los que estan conectados a tu servidor
udp

sebasthian777 13-03-2009 11:41:05

Cita:

Empezado por JXJ (Mensaje 341253)
los componentes UDP de indy..

usando el Servidor UDP...en el lado del servidor de video, el programa que va a enviar el video a sus clientes.. y en ellos el componente cliente..

hacer el broadcast. es definiendo un rango de ips
me parece que tambien lo puedes hacer a todos los que estan conectados a tu servidor
udp


Gracias... ¿molestaria mucho si te pido que me digas como?, Realmente me esta tomando mucho trabajo enviar el handle que recivo de la funcion. Te comento como funciona el asunto...

le envio un mensaje a la dll avicap32.dll donde le indico un handle (en el caso de mi programa el del "Panel1") y unos datos mas que pide la biblioteca. y esta automatiamente manda el video al elemento propietario del handle que mande. o sea que yo en ningun momento interacto con el video, es como mas automatico, como que trabaja a bajo nivel.

Espero no equivocarme en lo que dije. Es un tema interesante y nunca vi ningun codigo de ejemplo. Es mas, hay programas desarrollados en Delphi que hacen esto, pero solo estan a la venta y no muestran el codigo. Seria interesante desarrollarlo y subir el codigo para futuras personas que se encuentren con esta dificultad no tengan que abonar la suma que piden por este programa.

otro saludo grande y gracias por la pronta respuesta!


edit:
--------------------------

perdon... aca te mando codigo a modo de ejemplo

Código Delphi [-]
  
function capCreateCaptureWindowA(lpszWindowName : PCHAR;
      dwStyle : longint; x : integer; y : integer; nWidth : integer;
      nHeight : integer; ParentWin : HWND; nId : integer): HWND; stdcall external 'AVICAP32.DLL';

//-------------
idResultado := capCreateCaptureWindowA('My Own Capture Window',
      WS_CHILD or WS_VISIBLE,  pImagen.Left, pImagen.Top, pImagen.Width,
      pImagen.Height, formMenuPrincipal.Handle, 0);



      SendMessage(idResultado, WM_CAP_DRIVER_CONNECT, 0, 0);
      SendMessage(idResultado, WM_CAP_SET_PREVIEWRATE, 40, 0);
      SendMessage(idResultado, WM_CAP_SET_PREVIEW, 1, 0);

la primera parte le asigna a id resultado una serie de parametros utiles para la dll y la parte de abajo son los mensajes para inicializar la reproduccion del video.

saludos grandes!

sebasthian777 16-03-2009 15:18:20

tengo muchos problemas a la hora de transmitir el video por la red....

alguno sabe una solucion... realmente no puedo lograrlo....

debo usar streams?


La franja horaria es GMT +2. Ahora son las 02:27:25.

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