Enregistrer un flux video avec JMF

Résolu
cs_Noizet Messages postés 91 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 24 octobre 2008 - 26 août 2008 à 16:03
cs_djeee Messages postés 1 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 16 septembre 2010 - 16 sept. 2010 à 08:44
Bonjour,

Je début avec JMF et j'aimerai savoir comment je peux faire pour que mon flux vidéo soit enregistrer sur mon ordinateur.

Voici ma classe webcam :


<hr />
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.media.CaptureDeviceInfo;
import javax.media.CaptureDeviceManager;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.format.*;
import javax.media.protocol.DataSource;
import javax.swing.JFrame;

public class Webcam {

    Player player;
    DataSource ds;
    MediaLocator mediaLocator;

    public Webcam() {
        try {
            // récupération d'un périphérique à partir de son nom
            CaptureDeviceInfo captureDevice = CaptureDeviceManager.getDevice("vfw:Microsoft WDM Image Capture (Win32):0");
            // récupération du MediaLocator lié au périphérique de capture
            this.mediaLocator = captureDevice.getLocator();

            // récupération d'une datasource à partir d'un MediaLocator
            this.ds = Manager.createDataSource(this.mediaLocator);
            // connexion sur la DataSource
            this.ds.connect();

            // connexion d'un player sur la datasource
            this.player = Manager.createPlayer(this.ds);

            player.realize();
        } catch (Exception ex) {
            Logger.getLogger(Webcam.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void start() {
        JFrame frame = new JFrame();
        // ajoute le composant visuel lié au player
        frame.getContentPane().add(player.getVisualComponent());
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.player.start();
    }

    public void stop() {
        this.player.stop();
        this.enregistre();
    }

    public void enregistre() {

    }
}

<hr />
Pour le moment, elle permet d'afficher à l'écran ce que voit la webcam !

Merci de votre aide ...

"NoiZet"

2 réponses

cs_Noizet Messages postés 91 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 24 octobre 2008 3
27 août 2008 à 13:34
Sur les conseils de indiana_jules je suis aller voir les sources de JMStudio à cette adresse :
http://www.javafr.com/auteur/INDIANAJULES/242730.aspx


http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/samples/samplecode.html#JMStudio
 
Tout y est !







"
NoiZet
"
1
cs_djeee Messages postés 1 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 16 septembre 2010
16 sept. 2010 à 08:44
Bonjour à tous,

Je rencontre le même problème, j'arrive à afficher ma webcam dans un player.
J'arrive à enregistrer le flux grâce à une super source trouvé sur votre site.

Mais je n'arrive pas à visualiser le flux vidéo en même temps que je l'enregistre. Cela me pose problème.

Noizet aurais tu réussi à implémenter ta méthode public void enregistre() ?

SI oui aurais tu une piste pour moi ?

Merci beaucoup d'avance.

Jérôme
0
Rejoignez-nous