4
Grabar Video de Webcam desde Java
Como grabar un video desde java mediante la webcam en el internet hay varios ejemplo pero no funcionan.
Bienvenid@, Visitante! [ Registrarte| Iniciar Sesion ]
Como grabar un video desde java mediante la webcam en el internet hay varios ejemplo pero no funcionan.
Disculpa, debes iniciar sesión para escribir un comentario.
CAPTURAR FOTOS DESDE WEBCAM -JMF
Para Capturar Fotos desde Java usando Java Media Framework -JMF necesita usar la librería:
jmf.jar (Incluida en JMF)
Fue útil la respuesta?
LikeDislikeLes dejo el vinculo para descargar el codigo fuente:
http://data.amayasystems.com/Web_Cam_ITS.zip
Fue útil la respuesta?
LikeDislikeesta bueno el aporte pero la verdad que video es mas dificil que foto.
Fue útil la respuesta?
LikeDislikeAqui hay un applet que captura imagenes, talves sirve
import java.awt.*; import java.awt.event.*; import java.applet.Applet; import java.applet.*; import javax.imageio.stream.*; import javax.swing.*; import javax.swing.event.*; import javax.media.*; import javax.media.control.*; import javax.media.util.*; import javax.media.cdm.CaptureDeviceManager; import javax.media.format.*; import javax.media.protocol.*; import java.awt.Image; import java.util.Vector; import java.util.Iterator; import javax.imageio.*; import java.io.*; import java.awt.image.RenderedImage; import java.awt.*; import java.awt.event.*; import java.awt.image.*; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; import java.awt.Frame; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.image.BufferedImage; import java.io.FileOutputStream; import javax.media.Buffer; import javax.media.CaptureDeviceInfo; //import javax.media.CaptureDeviceManager; import javax.media.Manager; import javax.media.MediaLocator; import javax.media.Player; import javax.media.control.FrameGrabbingControl; import javax.media.format.VideoFormat; import javax.media.util.BufferToImage; import javax.swing.JButton; import javax.swing.JComponent; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGEncodeParam; import com.sun.image.codec.jpeg.JPEGImageEncoder; import com.sun.image.codec.jpeg.*; public class SwingCapture extends Applet implements ActionListener { public static Player player = null; public CaptureDeviceInfo di = null; public MediaLocator ml = null; public JButton capture = null; // public JButton guardar = null; public Buffer buf = null; public Image img = null; public VideoFormat vf = null; public BufferToImage btoi = null; public ImagePanel imgpanel = null; public SwingCapture() { setLayout(new BorderLayout()); setSize(320,550); imgpanel = new ImagePanel(); capture = new JButton("Captura"); // guardar = new JButton("Guardar"); capture.addActionListener(this); // guardar.addActionListener (this);//agregué String str1 = "vfw:Logitech USB Video Camera:0"; String str2 = "vfw:Microsoft WDM Image Capture (Win32):0"; di = CaptureDeviceManager.getDevice(str2); ml = new MediaLocator("vfw://0"); try { player = Manager.createRealizedPlayer(ml); player.start(); Component comp; if ((comp = player.getVisualComponent()) != null) { add(comp,BorderLayout.NORTH); } add(capture,BorderLayout.CENTER); // add (guardar, BorderLayout.WEST);//agregué add(imgpanel,BorderLayout.SOUTH); } catch (Exception e) { e.printStackTrace(); } } /* public static void main(String[] args) { Frame f = new Frame("SwingCapture"); SwingCapture cf = new SwingCapture(); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { playerclose(); System.exit(0);}}); f.add("Center",cf); f.pack(); f.setSize(new Dimension(320,550)); f.setVisible(true); } */ public static void playerclose() { player.close(); player.deallocate(); } public void actionPerformed(ActionEvent e) { JComponent c = (JComponent) e.getSource(); if (c == capture){ // Graba un frame FrameGrabbingControl fgc = (FrameGrabbingControl) player.getControl("javax.media.control.FrameGrabbi ngControl"); buf = fgc.grabFrame(); // Convierte este a una imágen btoi = new BufferToImage((VideoFormat)buf.getFormat()); img = btoi.createImage(buf); // show the image imgpanel.setImage(img); //////////////////// //guardar imagen BufferedImage bi = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB); Graphics2D g2 = bi.createGraphics(); //contexto gráfico g2.drawImage(img, null, null); g2.dispose(); String filename = ""; filename = "Pruebafoto.jpg"; FileOutputStream archivosalida = null; try { archivosalida = new FileOutputStream(filename); } catch (java.io.FileNotFoundException io) { System.out.println("File Not Found"); } JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(archivosalida); JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi); param.setQuality(0.5f,false); encoder.setJPEGEncodeParam(param); try { encoder.encode(bi); archivosalida.flush(); archivosalida.close(); } catch (java.io.IOException io) { System.out.println("IOException"); } ///////////////////////////////// } } ///////////////// class ImagePanel extends Panel { public Image myimg = null; public ImagePanel() { setLayout(null); setSize(320,240); } ///////////////////// public void setImage(Image img) { this.myimg = img; repaint(); } /////////////////// public void paint(Graphics g) { if (myimg != null) { g.drawImage(myimg, 0, 0, this); } } } }Fue útil la respuesta?
LikeDislike