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 ?
[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.
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.
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.
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.