Creer video avec images jpeg

Signaler
Messages postés
11
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
13 avril 2006
-
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
-
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

Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
2
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
);
Messages postés
11
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
13 avril 2006

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!!!
Messages postés
11
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
13 avril 2006

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!!!
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008

regarde du côté de DirectShow, c'est le genre d'affaire qu'il sait faire.
Cependant, c'est pas de la tarte.

[:D] @++
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
2
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
Messages postés
11
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
13 avril 2006

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!!!
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
2
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