Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

STREAMING VIDEO ET ENREGISTREMENT DU FLUX


Information sur la source

Catégorie :Multimedia Classé sous : vidéo, stream, streaming, enregistrer, flux Niveau : Initié Date de création : 04/02/2005 Vu / téléchargé: 38 818 / 7 740

Note :
6,75 / 10 - par 4 personnes
6,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note

Description

voici le code qui genere l'enregistrement d'un flux video. Le flux est enregistré dans un fichier nommé test.avi que vous pourrez modifier dans le code.
Le fichier principal est TestCam.avi, a noter qu'il est "normalement compatible avec tout type de webcam sans changement dans le source.
jmf et jdk 1.1.8 requis pour la config.
 

Conclusion

je repasserai dans le coin une fois les nouveaux fichiers mis a jour ++
si il y en a ki si connaissent pour la diffusion en live a partir d'une page web, je suis preneur
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de mango54 le 19/11/2005 18:15:13

Bonjour matc71, je suis intéressé par votre programme car il pourra m’aider dans mon projet tutoré mais lors de son exécution avec NetBeans 3.6 il me retourne l’erreur suivante :

Exception in thread "main" java.lang.NullPointerException
        at TestCam.main(TestCam.java:129)

J’ai cherché d’où pouvait venir l’erreur mais j’avoue que je suis un peu dérouter.

Pourriez-vous éclairer ma lanterne ?

Merci d'avance pour votre réponse.
Sébastien.

signaler à un administrateur
Commentaire de pomelo le 09/02/2006 03:30:07

j'ai relut ton code c'étais très instructif pour l'utilisation des Java Media FrameWork. Donc pour les autres si vous voulez de l'action faut téléchargez JMF2.1.1 et importer la classe jmf dans les 2 classes principales DeviceInfo et TestCam. ne pas oublier d'initialisé ton JMF en démarrent bin/jmfinit.exe et à chaque changement de matos.

y a un super débugger qui rend les drivers bcp plus simple  
Le tout sur 4 pages le genre de code instructif que j'aime ;) Merci
Bien à vous

signaler à un administrateur
Commentaire de pomelo le 09/02/2006 12:56:22

par contre j'ai essayé différents drivers son et c'est toujours aussi pourri dans testcam.avi... Pourtant avec JMFStudio c'est parfait.
Une idée?

signaler à un administrateur
Commentaire de nomad56 le 28/02/2006 23:39:11

pour un meilleur son (j'ai fait ca vite fait hein ...) tu modifie le code en ajoutant la partie mise en commentaire :

// search for default audio format // <-- cette ligne existe deja dans le code, debut de repere
/* a ENLEVER */
if (captureAudioDevice == deviceInfo)
{
System.out.println("TEST :"+DeviceInfo.formatToString(deviceFormat[y]));
}
/* fin de a ENLEVER*/

if (captureAudioDevice == deviceInfo) // <-- cette ligne existe deja dans le code, fin de repere

voila et apres tu lance, ca va t'afficher tous les drivers audio que tu as sur ton pc, apres faut changer le code en fonction au tout début de la class, par exemple moi j'ai mis ca :

//private static String defaultAudioFormatString = "linear, 16000.0 hz, 8-bit, mono, unsigned";
private static String defaultAudioFormatString = "linear, 48000.0 hz, 16-bit, stereo, littleendian, signed";

car c'était affiché que j'avais "TEST:linear, 48000.0 hz, 16-bit, stereo, littleendian, signed"
voila, simple mais efficace ... maintenant je sais pas si c la meilleur solution ...

signaler à un administrateur
Commentaire de mehrez01 le 12/03/2006 21:46:30

Salut tout le monde,
Je viens de tester le code et ca marche tres bien! Mais le probleme est que je veux avoir un fichier mpeg et non avi, est ce que vous avez une idee svp?

signaler à un administrateur
Commentaire de bagnoula le 14/03/2006 15:51:03

Merci pour votre générosité.
j'ai eu ce probleme :
Exception in thread "main" java.lang.NullPointerException
at testcam.main <testcam.java:129>
SVP aider moi

signaler à un administrateur
Commentaire de nomad56 le 18/03/2006 19:53:46

bon là g pas la source sous les yeux, mais tu dois te demander :
- t'as installer JMF ?
- t'as bien importer jmf.jar ?
- tu as un capture device video ?( périphérique de capture) genre webCam?
- tu as un capture device audio (normalement oui mais bon .... on peut brancher un micro sur ton pc ?)

si tu as tout ca, lance JMF et relancer une détection des captureDevice, si après ca marche toujours pas ben il nous faudrait plus de précisions...

signaler à un administrateur
Commentaire de bagnoula le 27/03/2006 10:15:03

Je n'ai pas réussie a tourner ce programme c'est la même erreur

signaler à un administrateur
Commentaire de ZeBibiphoque le 16/04/2006 16:00:02

Perso, j'ai eu la même erreur parce que je n'avais pas mis le .jar dans le projet sous NetBeans.

Pour faire fonctionner le projet si vous compilez via l'invite de commande, il ne faut pas oublier de changer le Classpath au lancement du jar en tapant "java -classpath ?/jmf.jar;." où "?" est le chemin vers jmf.jar (moi, il est dans c:/program files/JMF2.1.1e/lib).

Bonne chance !!!

signaler à un administrateur
Commentaire de cooluhuru le 19/10/2006 05:10:37

euh, salut
j'ai exactement me même problème...

JMF est installé. la dernière version -e-.
j'ai deuxcams differentes; une labtec, et une logitech.
avec aucune des deux cela fonctionne.

=> voici ma sortie :

Z:\boulot-boss\wamp\Nouveau dossier\testcam>java TestCam
recherche de la liste de composants media ...
>>> capture audio device = DirectSoundCapture
>>> capture audio format = linear, 16000.0 hz, 8-bit, mono, unsigned
... liste de composants complete.
Exception in thread "main" java.lang.NullPointerException
        at TestCam.main(TestCam.java:129)


/****************************/


Mon but est de créer un serveur media mpeg, via le net, c'est à dire, mon serveur dédié qui envoit des video mpeg à des clients windows internet explorer.
Est-il possible de créer une applet - lecteur qui fonctionne sans obliger le client à telecharger la JMF?
de même dans l'optique d'un "chat" video-audio, chaque membre du caht devrat'il avoir JMF installé et ultra configuré?

gracias d'avance!


signaler à un administrateur
Commentaire de tounissan le 17/11/2006 22:59:16

quelqu'un peut m'aider par un tutorial par exemple a comprendre le streaming mpeg4 ?

merci

signaler à un administrateur
Commentaire de ahikaz le 12/12/2006 23:18:32

Salut, merci pour le code.
En l'exécutant, j'ai eu l'erreur suivante :
Erreur: format video non detecte - programme interrompu

Comment est ce que je peux résoudre ce problème ? Est ce que c'est dû à ma webcam ?

Merci.

signaler à un administrateur
Commentaire de moh___SBA le 13/12/2007 13:11:28

merci c'est trés parfait ce que tu viens de faire
bon courage
A+

signaler à un administrateur
Commentaire de nicolasguillou76 le 18/01/2008 12:08:21

Bonjour,

merci pour ce super code.

Moi j'ai le probleme suivant :

Microsoft Windows XP [version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\namour>cd "Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGI
STREMENT-FLUX___Page\testcam"

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>javac *.java

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>java TestCam
recherche de la liste de composants media ...
>>> capture audio device = DirectSoundCapture
>>> capture audio format = linear, 16000.0 hz, 8-bit, mono, unsigned
>>> capture video device = vfw:Microsoft WDM Image Capture (Win32):0
... liste de composants complete.
Erreur: format video non detecte - programme interrompu

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>javac *.java

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>java TestCam
recherche de la liste de composants media ...
>>> capture audio device = DirectSoundCapture
>>> capture audio format = linear, 16000.0 hz, 8-bit, mono, unsigned
>>> capture video device = vfw:Microsoft WDM Image Capture (Win32):0
... liste de composants complete.
debut de la capture ...
... capture terminee
datasink: ... end of stream reached.
[fin du test]

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>javac *.java

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>javac *.java

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>java TestCam
recherche de la liste de composants media ...
>>> capture audio device = DirectSoundCapture
>>> capture audio format = linear, 16000.0 hz, 8-bit, mono, unsigned
>>> capture video device = vfw:Microsoft WDM Image Capture (Win32):0
... liste de composants complete.
Erreur: format video non detecte - programme interrompu

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>javac *.java
DeviceInfo.java:38: package Stystem does not exist
                        Stystem.out.println(formatControls[x]);
                               ^
1 error

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>javac *.java

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>java TestCam
recherche de la liste de composants media ...
>>> capture audio device = DirectSoundCapture
>>> capture audio format = linear, 16000.0 hz, 8-bit, mono, unsigned
>>> capture video device = vfw:Microsoft WDM Image Capture (Win32):0
... liste de composants complete.
com.sun.media.protocol.vfw.VFWSourceStream@1bf6770
Erreur: format video non detecte - programme interrompu

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>java TestCam
recherche de la liste de composants media ...
>>> capture audio device = DirectSoundCapture
>>> capture audio format = linear, 16000.0 hz, 8-bit, mono, unsigned
>>> capture video device = vfw:Microsoft WDM Image Capture (Win32):0
... liste de composants complete.
com.sun.media.protocol.vfw.VFWSourceStream@1bf6770
Erreur: format video non detecte - programme interrompu

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>java TestCam
recherche de la liste de composants media ...
>>> capture audio device = DirectSoundCapture
>>> capture audio format = linear, 16000.0 hz, 8-bit, mono, unsigned
>>> capture video device = vfw:Microsoft WDM Image Capture (Win32):0
... liste de composants complete.
com.sun.media.protocol.vfw.VFWSourceStream@1bf6770
Erreur: format video non detecte - programme interrompu

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>java TestCam
recherche de la liste de composants media ...
>>> capture video device = vfw:Microsoft WDM Image Capture (Win32):0
>>> capture audio device = DirectSoundCapture
>>> capture audio format = linear, 16000.0 hz, 8-bit, mono, unsigned
... liste de composants complete.
java.io.IOException: Could not connect to capture device
javax.media.NoDataSourceException: Error instantiating class: com.sun.media.prot
ocol.vfw.DataSource : java.io.IOException: Could not connect to capture device

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>java -classpath ./ TestCam
recherche de la liste de composants media ...
>>> capture video device = vfw:Microsoft WDM Image Capture (Win32):0
>>> capture audio device = DirectSoundCapture
>>> capture audio format = linear, 16000.0 hz, 8-bit, mono, unsigned
... liste de composants complete.
java.io.IOException: Could not connect to capture device
javax.media.NoDataSourceException: Error instantiating class: com.sun.media.prot
ocol.vfw.DataSource : java.io.IOException: Could not connect to capture device

C:\Documents and Settings\namour\Bureau\iloDom\javafr_STREAMING-VIDEO-ENREGISTRE
MENT-FLUX___Page\testcam>java  TestCam
recherche de la liste de composants media ...
>>> capture video device = vfw:Microsoft WDM Image Capture (Win32):0
>>> capture audio device = DirectSoundCapture
>>> capture audio format = linear, 16000.0 hz, 8-bit, mono, unsigned
... liste de composants complete.
com.sun.media.protocol.vfw.VFWSourceStream@1201a25
Erreur: format video non detecte - programme interrompu

En commentant la ligne que genere l'erreur j'ai bien le .avi qui se creer mais impossible de le lire ...

Pouvez-vous m'eclairez svp.

CDT.
Nico.

signaler à un administrateur
Commentaire de omar1271 le 25/01/2008 12:47:43

slt tt le monde
le code travaille bien et enregistre le flux
mais je trouve qu'il est un peu tres long
est ce qu'il ya une possibilité pour l'optimiser
merci !!!

signaler à un administrateur
Commentaire de mimi1255 le 07/03/2008 11:57:21

Bonjour, j'ai une erreur qui me dit '.' expected

import Stdout;

Comment celà se fait-il ?

Merci déjà.

signaler à un administrateur
Commentaire de Kiosquec le 14/03/2008 16:54:28

Bonjour,

Je reste bloqué sur cette erreur :

>>> capture audio device = DirectSoundCapture
>>> capture audio format = linear, 16000.0 hz, 8-bit, mono, unsigned
>>> capture video device = vfw:Microsoft WDM Image Capture (Win32):0
>>> capture vidéo format = size=320x240, encoding=yuv, maxdatalength=115200
... liste de composants complète.
Open log file: c:\Java\JMF\Logging\jmf.log
An error has occurred.  Check jmf.log for details.
javax.media.NoDataSourceException: Error instantiating class: com.sun.media.protocol.dsound.DataSource : java.lang.Error: Error opening DSound for capture

J'ai essayé plusieurs formats, aucun ne fonctionne. Le micro de ma webcam Philips (sous XP Pro) fonctionne normalement.
Un autre programme java fonctionne et utilise normalement le micro de ma webcam.:

import javax.media.CaptureDeviceInfo;
import javax.media.CaptureDeviceManager;
import javax.media.DataSink;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Processor;
import javax.media.protocol.DataSource;
import javax.media.protocol.FileTypeDescriptor;

import jmapps.util.StateHelper;

public class ReadOnAudioDevice {

public static void main(String[] args) {
// JavaSound audio capture
CaptureDeviceInfo captureDevice = CaptureDeviceManager
.getDevice("JavaSound audio capture");
// récupération du MediaLocator lié au périphérique de capture
MediaLocator mediaLocator = captureDevice.getLocator();
Processor processor = null;
StateHelper stateHelper = null;

try {
// création d'un processeur
processor = Manager.createProcessor(mediaLocator);

// création d'un objet helper permettant de simplifier la
// configuration
stateHelper = new StateHelper(processor);

// configuration du processeur
stateHelper.configure();

// configuration de la destination => format Wave
processor.setContentDescriptor(new FileTypeDescriptor(
FileTypeDescriptor.WAVE));

// initialisations
stateHelper.realize();

// récupération de la source de sortie
DataSource source = processor.getDataOutput();

// création d'un MediaLocator lié à un fichier (destination)
MediaLocator destination = new MediaLocator(
"file://c:/Java/JMF/capture.wav");

// création d'un DataSink pour écrire dans le fichier le flux
// entrant
// (synchronisation entre la source et la destination)
DataSink fileWriter = Manager.createDataSink(source, destination);

// ouveture de la lecture / enregistrement (préparation)
fileWriter.open();

// démarrage du processor et du filewriter
fileWriter.start();

// capture 10 secondes
stateHelper.playToEndOfMedia(10000);

// fermeture de la capture
stateHelper.close();

// fermeture du fichier
fileWriter.close();
} catch (Exception e) {
System.out.println("error : " + e);
}
}
}

signaler à un administrateur
Commentaire de gksam le 17/07/2008 15:23:55 1/10

un commentaire, juste pour dire que l'original de ce code est apparemment ici : http://www.mutong.com/fischer/java/usbcam/ et expliqué.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Comment perdre les paquets d'un flux vidéo? [ par morfus58 ] Bonjour &#224; tous, &nbsp;J'ai un flux vid&#233;o en h263 et je cherche &#224; perdre quelques paquets afin de voire l'effet de ces pertes. Le probl Récupération du flux vidéo d'une webcam en java [ par romain_seb ] Bonjour tout le monde!Nous sommes deux étudiants qui devont faire un projet pour nos études. On cherche notamment a récupérer le flux d'une webcam bra Récupération d'un flux vidéo à partir d'une webcam WIFI [ par Karras_Le_Fou ] Bonjour, &nbsp;&nbsp;&nbsp; Je suis nouveau sur ce site et commence &#233;galement en JAVA. Je travaille actuellement sur un projet consistant &#224; flux vidéo sécurisé [ par chebil ] Bonjour je travaille sur un projet qui consiste a faire une application en java qui me permet de visualiser et configurer une camera IP (de type LEVEL URL et GET [ par sheorogath ] bonjour a tous,je fais un programme qui recupere un flux de radio gratuite sur le web (shoutcast)et je voudrais recuperer les titre en lecture :j'ai d Enregistrer un flux video camera ip [ par walloudtn ] Bonjour, en fait,j'essaye d'enregistrer un flux video provenant d'une camera ip sous le format mjpeg,mais je bloque un peu.Est ce que quelqu'un peut m Récupérer video.vam (flux vidéo) avec JMF... [ par z980x ] Bonjour à tous,j'aimerais récupérer le flux vidéo de ma caméra IP... Le flux vidéo est en .vam (video.vam), ce qui, d'après mes recherches serait du M Flux vidéo / Camera IP / Fichier xplug.class [ par narfmay ] Bonjour,Mon problème :Je n'arrive pas à avoir la vidéo de ma camera ''Trendnet TV-IP 100'' dans une application JAVA. Je développe: Si je crée une Enregistrer un flux video à partir d'internet [ par kedidi24 ] Bonjour &#224; tous.J'ai besoin d'enregister un flux mjpeg d'internet &#224; partir d'une camera ip axis.Voila l'ip de la camera:http://130.34.82.18/e enregistrer un flux video a partir d'une camera IP [ par wagdifr ] <TD id=HB_Focus_Element vAlign=top width="100%" background="" height=250 UNSELECTAB


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.