Creer video avec images jpeg

fabou64 Messages postés 11 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 13 avril 2006 - 12 avril 2006 à 10:48
cs_fcolo Messages postés 201 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 20 février 2007 - 13 avril 2006 à 13:22
Chalut a tous
Je développe une application qui récupère des images sur le port série et je voudrais les afficher dans une pictureBox(ou autre) et ensuite les enregistrer sous forme d'une vidéo dans un fichier.
Comment je peux faire et es ce que c'est possible??

Fabou.
C'est trop de la boule heu... de la balle!!!

7 réponses

cs_fcolo Messages postés 201 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 20 février 2007 2
12 avril 2006 à 11:39
Pour afficher des images dans un pictureBox c'est possible par contre, pour créer un fichier vidéo ce doit être un peu plus galere, à moin de faire du MJPG mais tu dois avoir une cadence d'image précise (10 img/s par exemple).
Je fais le meme principe d'affichage d'image depuis un flux réseaux (je réceptionne un flux mjpg).
Quel est le format des images recu?
Comment les recois tu? (tableau de char, byte ...)

Voila comment je fais:


private Encoding encoding
= System
.Text
.Encoding
. GetEncoding ("iso-8859-1");


MemoryStream streamImage
= new MemoryStream();




StreamWriter streamWrite = new System
.IO
.StreamWriter(streamImage
,encoding
);


streamWrite.Write(buff
); //dans buff j'ai les les char (octet) de mon image


streamWrite
.Flush();


this.img
= new Bitmap(streamImage
);
0
fabou64 Messages postés 11 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 13 avril 2006
12 avril 2006 à 12:13
Merci de ta réponse
Ben en fait je recois des image jpeg sous forme de tableau de char mais le problème c'est que je ne suis pas sur d'avoir une cadence d'image précise car je recoit les image d'un robot distant.(donc pb de com, latence, perturbation....).
Le truc c'est que j'aimerais rajouter une image a ma video dès que je la recoit en fait.

Fabou.
C'est trop de la boule heu... de la balle!!!
0
fabou64 Messages postés 11 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 13 avril 2006
12 avril 2006 à 18:32
J'ai un souci avec ton code:
this.im = new Bitmap(streamImage);

ecexption:
An unhandled exception of type 'System.ArgumentException' occurred in System.Drawing.dll
Additional information: Parameter is not valid.

Fabou.
C'est trop de la boule heu... de la balle!!!
0
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
12 avril 2006 à 20:24
regarde du côté de DirectShow, c'est le genre d'affaire qu'il sait faire.
Cependant, c'est pas de la tarte.

[:D] @++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_fcolo Messages postés 201 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 20 février 2007 2
12 avril 2006 à 21:51
En fait cette erreur vient du fait que ton memoryStream ne contient pas une image.
J'avais ce probleme lorsque je ne lisais pas le flux MJPG avec le bon encodage.
Essais en écrivant ton tableau de char dans un fichier (juste une image) et tu rajoute l'extension .jpg, comme ca tu seras lorsque tu arrivera à recevoir le bon format.
Ensuite tu pourra utiliser ma technique (surement pas optimale) pour faire ce que tu voulais.
Regarde avec un viewer hexadecimal ton fichier JPG pour voir si tu as bien le bon format (http://www.obrador.com/essentialjpeg/headerinfo.htm). Ca commence par FFD8 et fini par FFD9 pour une fichier JPG.
J'espere avoir pus t'aider.

f.colo
0
fabou64 Messages postés 11 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 13 avril 2006
13 avril 2006 à 10:24
Merci pour votre aide mais quel encoding il me faut pour que ca marche avec des jpg?

Fabou.
C'est trop de la boule heu... de la balle!!!
0
cs_fcolo Messages postés 201 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 20 février 2007 2
13 avril 2006 à 13:22
J'utilise cet encoding lorsque je lis mon stream MJPG et le meme lorsque je l'ecris dans le memoryStream.


private Encoding encoding
= System
.Text
.Encoding
.GetEncoding("iso-8859-1");

f.colo
0
Rejoignez-nous