Foros del Web » Programación para mayores de 30 ;) » .NET »

Envio de video de pc a pc

Estas en el tema de Envio de video de pc a pc en el foro de .NET en Foros del Web. buenos dias. Antes de nada decir que soy nuevo en c#. Estoy intentando enviar video de pc a pc, pero tengo un "pequeño" problema. Os ...
  #1 (permalink)  
Antiguo 26/03/2008, 05:42
 
Fecha de Ingreso: febrero-2007
Mensajes: 3
Antigüedad: 17 años, 2 meses
Puntos: 0
Envio de video de pc a pc

buenos dias.

Antes de nada decir que soy nuevo en c#.

Estoy intentando enviar video de pc a pc, pero tengo un "pequeño" problema. Os comento los pasos que sigo.-

1- Capturo una imagen de la webcam.
2- Trnasformo la captura en jpg.
3- Envio el tamaño de la imagen que enviare por stream.
4- Envio la imagen.
5- Repito de forma indefinida el proceso.

El problema es que me llega la primera imagen bien, pero la segunda falla, siempre al recibir el tamaño de la imagen. He comprobado que el servidor envia bien el tamaño pero al cliente le llegan cosas raras.

Alguien puede hecharme orientarme un poco, porque he buscado y rebuscado por internet y no se que puede ser.


Gracias de antemano.

Última edición por joaquinjct; 26/03/2008 a las 06:04 Razón: No se como seguir en mi aplicacion
  #2 (permalink)  
Antiguo 26/03/2008, 07:02
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Envio de video de pc a pc

si estas enviando via sockets te recomiendo revisar q tu buffer se limpie entre transferencias.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 26/03/2008, 11:11
 
Fecha de Ingreso: febrero-2007
Mensajes: 3
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Envio de video de pc a pc

Buenas tardes.

Gracias por contestar.

Como te decia soy nuevo en c#. No se como limpiar el buffer. He probado con FLush, pero tengo dudas en cuanto a si esta funcion esta implementada, con flush no consigo que funcione. Como puedo hacerlo????

Gracias.
  #4 (permalink)  
Antiguo 26/03/2008, 12:32
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Envio de video de pc a pc

puedes poner tu codigo??
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 27/03/2008, 03:00
 
Fecha de Ingreso: febrero-2007
Mensajes: 3
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Envio de video de pc a pc

Buenas.

Este es el metodo del servidor. Un hilo que cada cierto tiempo ejecuta este metodo.-

public void getImage(){
try{

/*COPIA IMAGEN*/
Image imgn = webcam.buffer;
/*ALMACENA IMAGEN EN BUFFER CON FORMATO JPEG*/
System.IO.MemoryStream buffer = new System.IO.MemoryStream();
imgn.Save(buffer, ImageFormat.Jpeg);
Byte[] size = new Byte[5];
size = System.Text.Encoding.ASCII.GetBytes(buffer.Capacit y.ToString());
/*ENVIA TAMAÑO DE LA IMAGEN*/
stream.Write(size, 0, size.Length);
/*ENVIO IMAGEN*/
Byte[] msg = new Byte[buffer.Capacity];
msg = buffer.GetBuffer();
stream.Write(msg, 0, msg.Length);
stream.Flush();
}catch (SocketException ex){
}catch (System.IO.IOException e) { }
webcam.activo = false;
}

Este es es metodo del cliente.-

public void receive()
{
Byte[] respuesta = new Byte[5];
while (true)
{
/*RECIBE TAMAÑO DE LA IMAGEN*/
respuesta.Initialize();
Int32 lng=stream.Read(respuesta, 0, respuesta.Length);
MessageBox.Show(System.Text.Encoding.ASCII.GetStri ng(respuesta, 0, lng));
int size = System.Convert.ToUInt16(System.Text.Encoding.ASCII .GetString(respuesta, 0, lng));
/*LEE IMAGEN*/
Byte[] data = new Byte[size];
Int32 bytes = stream.Read(data, 0, data.Length);
System.IO.MemoryStream buffer = new System.IO.MemoryStream(data);
Pbx.Image = System.Drawing.Image.FromStream(buffer);
stream.Flush();
}

}

Tal y como esta aqui funciona, pero tengo que ir pulsando sobre MessageBox cada vez que quiero que se actualice la imagen. Si quito MessageBox no funciona.
Hice una version en la que el cliente enviaba mensajes de confirmacion cada vez que le llegaba un mensaje del servidor por si el problema era de sincronizacion entre ambos, pero tenia el mismo problema.

Gracias.
  #6 (permalink)  
Antiguo 27/03/2008, 07:35
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Envio de video de pc a pc

Ok entonces lo que tienes q hacer es q cuando termine la transferencia hagas un refresh de tu picturebox.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:40.