PDA

Ver la Versión Completa : Alguno a utilizado camaras IP??


Sick boy
12-01-2007, 12:32:36
Hola,

Inicio un proyecto en el cual habrá 5 camaras IP conectadas.

El proyecto se trata de capturar desde esas 5 camaras (pueden ser imagenes jpg o videos MPEG4), y al mismo tiempo previsualizar.

Se pretende tener los mejores fps posibles, en mi opinión, me gustaria tener unos 20fps de cada camara.

Asi que se trata de capturar unas 100 imagenes por segundo +-

El problema es que no tengo las camaras ip, y no se como manejarlas.
He visto que algunas camaras tienen SDKs o APIs para acceder directamente. Si alguno ha usado estos sistemas quizas pueda indicarme por donde empezar o como plantear el programa.

No tengo problemas trabajando con imagenes, y tambien tengo experiencia con camaras web, capturando imagenes o videos.
Es solo que al no haber usado nunca una camara ip no se por donde empezar.

Imagino que usando el VFW (o el componente TJvAviCapture) de las 5 camaras a la vez tendre problemas de rendimiento.

Bueno, pues eso, si alguien ha usado alguna camara ip y me puede decir que utiliza para las capturas le estaria muy agradecido.

Saludos

AzidRain
12-01-2007, 16:18:56
LAs camaras IP no son dificiles de manejar. Todas dan acceso via web a la imagen y al mismo tiempo traen o bien un SDK o bien alguna forma de accesar directamente a la imagen. Ahi si tienes que preguntar bien con el proveedor que vayas a usar y sobre todo checar muy bien características. Por otro lado la velocidad que quieres usar no se si la puedas lograr, al menos via internet va a sar dificil, más aun si lo que quieres es capturar la imagen de las 5 camaras a la vez. Si lo haces via red local puede ser que si lo alcances, otra cosa: si las camaras además transmiten audio se alentará mas la comunicación.

basti
12-01-2007, 17:15:47
Por lo general las camaras ip se pueden ver a través del navegador mediante un ActiveX. Puedes incorporar ese control a tu aplicación. Para manejarlas suele ser muy fácil, el control ActiveX suele traer procedimientos como open, zoom, left o alguno para guardar directamente en avi o mpg.

Sick boy
12-01-2007, 19:45:05
Gracias por las respuestas.

Intentaré dejarlo un poco más claro:
Se va a trabajar en red local, asi que se accederá directamente a las camaras.
No interesa el audio.
Si capturar los avi consume muchos recursos, me sirve capturar imagenes.

No me interesa acceder via web, ya que considero que sería un atraso.

Lo del acceso web esta bien, pero solo para ver lo que esta sucediendo, no me interesa para grabar.

Sobre acceder directamente o con SDK, alguien lo ha probado??
Como cuantas imagenes captura por segundo??

En breve podré hacer pruebas con camaras ip, de la marca AXIL, ya ire posteando los avances.

Saludos

basti
12-01-2007, 20:22:29
Hola, creo que no me expliqué bien. El acceso a través del navegador es sólo para poder descargar el ActiveX, cuando accedes por primera vez a la cámara, el IE (en el resto de los navegadores no funciona normalmente) te solicita descargarte el control ActiveX desde la cámara. Luego lo añades a tu delphi y ya lo puedes usar. Te pongo un ejemplo de una prueba que tenía guardada, es sobre una cámara LinkSys, pero también había probado con cámaras DLink, sólo cambia el ActiveX y las funciones que tiene incorporadas.

type
TForm1 = class(TForm)
Visualizador: TNetCamPlayerWeb11g; // este es el ActiveX, depende del modelo de la cámara
ChVisible: TCheckBox;
BtnPalyClick: TButton;
EditIP: TEdit;
EditUser: TEdit;
EditPassword: TEdit;
procedure BtnPlayClick(Sender: TObject);
procedure ChVisibleClick(Sender: TObject);
procedure FormResize(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ChVisibleClick(Sender: TObject);
begin
if chVisible.Checked then
self.FormStyle := fsStayOnTop
else
self.FormStyle := fsNormal;
end;

procedure TForm1.BtnPlayClick(Sender: TObject);
begin
if (Sender as TBitBtn).Caption = 'Play' then
begin
Visualizador.SetSource('http://' + EditIP.Text + '/img/video.asf',
EditUser.Text, EditPassword.Text);
Visualizador.TestPlay;
(Sender as TBitBtn).Caption := 'Stop';
end
else begin
Visualizador.StopPlay;
(Sender as TBitBtn).Caption := 'Play';
end;
end;

procedure TForm1.FormResize(Sender: TObject);
var
zoom : integer;
begin
zoom := (width * 100) div 650;
Visualizador.SetZoomPercent(zoom);
end;

No recuerdo muy bien como eran los parámetros, pero en el procedimiento TestPlay, se le podía pasar un parámetro con un nombre de archivo y creaba un 'MPG' o 'AVI' con la grabación, no recuerdo el tipo exactamente.

AzidRain
13-01-2007, 06:46:43
No todas las camaras usan activex (ya es tecnologia obsoleta) las nuevas traen el acceso basado en Java. Pero como dice nuestro amigo a el no le interesa poder entrar via web sino capturar el flujo directamente de la camara

Te comento que casi todas las camaras te dan acceso de dos formas a lo que estan "viendo": por medio de un archivo jpeg que se actualiza cada x segundos o bien mdiante un fluio continuo mpeg que puedes mostrar en cualquier reproductor. Todas las que incluyen SDK traen ejemplos sencillos e instrucciones para hacerlo, explicarte aqui como lo haces con una seria enredarte mas porque cada fabricante es muy específico en sus cosas

Sick boy
13-01-2007, 11:03:04
Muchas gracias, creo que ya lo voy teniendo más claro.

Entiendo que debo esperar a tener las camaras para poder trabajar con ellas, ya que no hay nada estandar que sirva para todos los modelos de camaras.

Te comento que casi todas las camaras te dan acceso de dos formas a lo que estan "viendo": por medio de un archivo jpeg que se actualiza cada x segundos o bien mdiante un fluio continuo mpeg que puedes mostrar en cualquier reproductor. Todas las que incluyen SDK traen ejemplos sencillos e instrucciones para hacerlo, explicarte aqui como lo haces con una seria enredarte mas porque cada fabricante es muy específico en sus cosas
Esto es perfecto, es justo lo que necesito, ojala sea tn facil como parece!!!!

El lunes tendré acceso a unas camaras de un establecimiento, me dejarán conectarme para hacer pruebas. Si consigo el SDK de esas camaras podré empezar a probar cosas.

Y durante la semana se pediran las AXIL, he visto en su web el SDK, y ahora voy a empezar a estudiarlo.

Si alguien tiene alguna sugerencia, sobre velocidad, o algun truco que me pueda servir, estaré agradecido.

En cuanto empiece con las pruebas ire posteando los codigos, y los resultados obtenidos con la captura de imagenes/videos.

JUANCBARRETO
14-11-2008, 02:48:21
Hola,

Inicio un proyecto en el cual habrá 5 camaras IP conectadas.

El proyecto se trata de capturar desde esas 5 camaras (pueden ser imagenes jpg o videos MPEG4), y al mismo tiempo previsualizar.

Se pretende tener los mejores fps posibles, en mi opinión, me gustaria tener unos 20fps de cada camara.

Asi que se trata de capturar unas 100 imagenes por segundo +-

El problema es que no tengo las camaras ip, y no se como manejarlas.
He visto que algunas camaras tienen SDKs o APIs para acceder directamente. Si alguno ha usado estos sistemas quizas pueda indicarme por donde empezar o como plantear el programa.

No tengo problemas trabajando con imagenes, y tambien tengo experiencia con camaras web, capturando imagenes o videos.
Es solo que al no haber usado nunca una camara ip no se por donde empezar.

Imagino que usando el VFW (o el componente TJvAviCapture) de las 5 camaras a la vez tendre problemas de rendimiento.

Bueno, pues eso, si alguien ha usado alguna camara ip y me puede decir que utiliza para las capturas le estaria muy agradecido.

Saludos
SI SI LAS HE MANEJADO, ESTOY HACIENDO UN PROYECTO BASADO EN CAMARAS IP Y DELPHI

cascarrabias
06-02-2009, 21:14:54
SI SI LAS HE MANEJADO, ESTOY HACIENDO UN PROYECTO BASADO EN CAMARAS IP Y DELPHI

Pues listo, ya esta resuelto el hilo con esta excelente respuesta!

:D:D:D:D

juanelo
06-02-2009, 22:23:50
Pues listo, ya esta resuelto el hilo con esta excelente respuesta!

:D:D:D:D
JA, muy cierto.
Todos a celebrar !!!, el proyecto se libera con la aportacion de JUANCBARRETO.