Enregistrer un flux video avec JMF [Résolu]

cs_Noizet 91 Messages postés mercredi 9 avril 2008Date d'inscription 24 octobre 2008 Dernière intervention - 26 août 2008 à 16:03 - Dernière réponse : cs_djeee 1 Messages postés jeudi 8 février 2007Date d'inscription 16 septembre 2010 Dernière intervention
- 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"
Afficher la suite 

Votre réponse

2 réponses

cs_Noizet 91 Messages postés mercredi 9 avril 2008Date d'inscription 24 octobre 2008 Dernière intervention - 27 août 2008 à 13:34
+3
Utile
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
"
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Noizet
cs_djeee 1 Messages postés jeudi 8 février 2007Date d'inscription 16 septembre 2010 Dernière intervention - 16 sept. 2010 à 08:44
0
Utile
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
Commenter la réponse de cs_djeee

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.