Mapear todas as cameras no PC

Pessoal tenho uma dúvida não sei se é algo muito complicado,

conhecem esses aparelhos de cameras de securança de circuito fechado ?
normalmente são visualizadas no PC, diversos quadradinhos representando cada camera posicionada em locais diferentes.
calcadas, portaria, fundos da casa etc…
A dúvida que tenho é mapear em Java todas as cameras que estão sendo exibidas no PC,
Por um acaso existe um driver ? algo que eu consiga capturar o video
e exibir num JFrame por exemplo ?

Estou tentando achar algo assim podem me ajudar ?

Sugestoes podem ser bem vindas !

Valeu Amigos!

[quote=jhieiy]
Pessoal tenho uma dúvida não sei se é algo muito complicado,

conhecem esses aparelhos de cameras de securança de circuito fechado ?
normalmente são visualizadas no PC, diversos quadradinhos representando cada camera posicionada em locais diferentes.
calcadas, portaria, fundos da casa etc…
A dúvida que tenho é mapear em Java todas as cameras que estão sendo exibidas no PC,
Por um acaso existe um driver ? algo que eu consiga capturar o video
e exibir num JFrame por exemplo ?

Estou tentando achar algo assim podem me ajudar ?

Sugestoes podem ser bem vindas !

Valeu Amigos![/quote]

Eu trabalho com isso.

Você tem duas opções.

  1. Se a sua solução é focada em uma placa de captura(cameras ligadas numa plaquinha de captura):
    a) Sem um sdk com bibliotecas para java vai precisar usar c ou c++
    b) Com um sdk fica fácil, Mas se servirem apenas dlls você vai precisar colocar a mão na linguagem c para fazer jni com java.

  2. Câmeras ip - Solução fácil. Precisa saber qual é o tipo de streaming de vídeo e implementar um codec. Se tiver um sdk fica mais fácil.

** editando aqui.
Java é uma solução de muito alto nível e não é adequada para esse tipo de software. Se você quiser vídeo realtime a coisa depende da taxa de fps da placa mais a qualidade do software.
Vai precisar usar opengl ou outra biblioteca que te garanta aceleração de hardware com uma placa aceleradora.

Fora isso, se a solução é meia boca java vai servir.

Para você desenhar a imagem no jframe você precisa de uma referência para a imagem. Ela pode estar na placa de captura ou em uma url se for uma câmera ip. Normalmente essas imagens possuem um formato proprietário por razões de segurança.

Se vocẽ tiver a placa de captura precisa de ter o sdk dela, senão vai precisar entender bem da placa e de linguagem c para acessar a memória onde está a imagem(já que uma placa pci é memória).

Se eu utilizar uma maneira mais simples sem usar placa tornando mais genérico a solução como por exemplo :
Em todos os casos utilizar IP e porta, daria certo ?
Situações que estou me deparando:
Esse aplicativo não rodará em um único lugar, pode ser que se utilize com outros tipos de Camera e marcas (tanto no caso de DVR como camera ip);
E outro problema é que não tenho essa tal placa que você disse;

Por isso pensei se fosse utilizar ip e porta que o servidor DVR fornece para cada camera para visualizar remotamente, e no caso da camera ip.
meu caso se resolveria só visualizar em tempo real ?

Talvez usando o protocolo RTSP ou RTMP algo assim. O que você acha ?

Seria essa a solução meia boca que você dizia acima ? hehehe

[quote=jhieiy]Se eu utilizar uma maneira mais simples sem usar placa tornando mais genérico a solução como por exemplo :
Em todos os casos utilizar IP e porta, daria certo ?
Situações que estou me deparando:
Esse aplicativo não rodará em um único lugar, pode ser que se utilize com outros tipos de Camera e marcas (tanto no caso de DVR como camera ip);
E outro problema é que não tenho essa tal placa que você disse;

Por isso pensei se fosse utilizar ip e porta que o servidor DVR fornece para cada camera para visualizar remotamente, e no caso da camera ip.
meu caso se resolveria só visualizar em tempo real ?

Talvez usando o protocolo RTSP ou RTMP algo assim. O que você acha ?

Seria essa a solução meia boca que você dizia acima ? hehehe

[/quote]

Você precisa saber como a sua câmera funciona. Se for ip você baixa as imagens por tcp. Se for câmera normal precisa de placa de captura.
Meia boca seria fazer jni e acessar uma dll para usar um codec para decodificar a stream da câmera. Enfim, acho que java seria legal se a solução fosse para câmeras ip. Para placa de captura recomendo delphi, c++ ou c.

sobre a placa, qual seria o modelo que você sugere ?

tipo essa é suficiente ? Veja: http://produto.mercadolivre.com.br/MLB-508327305-placa-de-captura-video-usb-easycap-audiovideo-notebook-pc-_JM

[quote=jhieiy]sobre a placa, qual seria o modelo que você sugere ?

tipo essa é suficiente ? Veja: http://produto.mercadolivre.com.br/MLB-508327305-placa-de-captura-video-usb-easycap-audiovideo-notebook-pc-_JM

[/quote]

Essa é uma placa de captura de tv. Pracisa de placa de captura de câmeras.

Essa abaixo vem com o geovision(DVR).

http://produto.mercadolivre.com.br/MLB-505740449-placa-de-captura-8-cmeras-com-4-audio-geovision-gv250-8ch-_JM

Esse tipo de solução é inviável a curto prazo porque não é trivial de desenvolver. Envolve muita coisa.

Uma idéia que posso te passar é usar uma câmera ip para você não lidar diretamente com hardware. Daí vc desenvolve o software pegando as imagens dela via http. Isso com java fica simples.