La mejor manera de acceder a la cámara web en Java


Necesito acceder a la cámara web usando Java. Esto es lo que quiero hacer

  1. Acceso web cam

  2. Ahora el usuario puede ver web cam trabajando porque su cara es visible en la pantalla (he oído que hay algunas libs que no muestran la salida de video de la cámara web)

  3. Cuando el usuario haga clic en el botón guardar, tome una instantánea y guárdela

He intentado varias maneras de hacer esto, desde hace mucho tiempo.

  1. JMF-Ahora está muerto
  2. FMJ - Ahora está muerto también
  3. VLCJ-demasiado porque no estoy creando un reproductor de música/vídeo y se espera VLC para ser instalado
  4. Xuggler-demasiado y trabajo duro
  5. JMyron-no funcionó
  6. JavaFX-Pensé que podría hacerlo, pero parece que no puede

Incluso estoy satisfecho si la biblioteca solo está haciendo lo mencionado anteriormente, porque eso es suficiente para mí. Pero espero que sea simple también. Realmente genial si no está utilizando DLL, porque no es plataforma independiente si lo hace. Realmente aprecio si puede DETECTAR la cámara, sin pasar manualmente el nombre de la cámara y otra información como lo han hecho en VLCJ (porque puede haber miles de marcas de cámaras, por lo que no puedo crear una lista de miles de elementos en ella). Y estoy creando una aplicación de escritorio, no una aplicación web.

Si conoce una biblioteca como esta, por favor tenga la amabilidad de hacérmelo saber. Otras bibliotecas (que pueden no adaptarse a todos mis requisitos, pero se adapta al requisito básico) también Bienvenidas. Por favor ayuda

Author: Pulah Nandha, 2012-07-15

2 answers

 9
Author: Community,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:55:03

Creo que el proyecto que estás buscando es: https://github.com/sarxos/webcam-capture (Soy el autor)

Hay un ejemplo que funciona exactamente como lo ha descrito: después de ejecutarlo, aparece la ventana donde, después de presionar el botón" Inicio", puede ver la imagen en vivo desde el dispositivo de la cámara web y guardarla en un archivo después de hacer clic en "Instantánea" (código fuente disponible, tenga en cuenta que el contador de FPS en la esquina se puede desactivar):

instantánea

El proyecto es portable (WinXP, Win7, Win8, Linux, Mac, Raspberry Pi) y no requiere ningún software adicional para ser instalado en el PC.

API es muy agradable y fácil de aprender. Ejemplo de cómo capturar una sola imagen y guardarla en un archivo PNG:

Webcam webcam = Webcam.getDefault();
webcam.open();
ImageIO.write(webcam.getImage(), "PNG", new File("test.png"));
 69
Author: Bartosz Firyn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-05 18:20:31