Bonjour,
Je viens de réussir à créer un gif animé, et je voudrai maintenant pouvoir aussi avoir les memes images mais dans une vidéo wmv.
Comment à partir d'une serie d'image créer un fichier wmv ?
Merci, d'avance pour vos réponse.
Bonjour,
Je viens de réussir à créer un gif animé, et je voudrai maintenant pouvoir aussi avoir les memes images mais dans une vidéo wmv.
Comment à partir d'une serie d'image créer un fichier wmv ?
Merci, d'avance pour vos réponse.
J'avance doucement je viens de mettre la main la dessus "WMEncoderLib". Mais maintenant je ne sais pas comment l'utiliser.
Donc si quelqu'un y connais quelque chose.
Merci
Bonjour,
Voilà j'avance toujours aussi doucement. Maintenant j'arrive à créer une vidéo depuis un seul gif, mais je voudrai pouvoir en mettre plusieurs, et pouvoir aussi seter le temps de chaque image dans la vidéo.
voici le bout de code que j'ai utilisé :
Ce code me genere une vidéo wmv avec les options que je choisie grace au fichier profile.asx (bitrate, résolution, etc...), mais comme je l'ai dit plus haut je ne peut pas spécifier combien de temps chaque image doit être afficher, et aussi pouvoir mettre plusieur images.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 WMEncoder Encoder; Encoder = new WMEncoder(); IWMEncSourceGroupCollection SrcGrpColl = Encoder.SourceGroupCollection; IWMEncSourceGroup SrcGrp = SrcGrpColl.Add("SG_1"); IWMEncVideoSource2 SrcVid = (IWMEncVideoSource2)SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_VIDEO); SrcVid.SetInput("C:\\chemin du fichier\\test.gif", "", ""); //Bitmap file (.bmp, .gif or .jpg file) IWMEncProfile2 Pro = new WMEncProfile2(); Pro.LoadFromFile("C:\\profile.prx"); SrcGrp.set_Profile((IWMEncProfile)Pro); IWMEncFile2 File = (IWMEncFile2)Encoder.File; File.LocalFileName = @"C:\output.wmv"; Encoder.PrepareToEncode(true); Encoder.Start();
Donc si vous connaissez le sujet merci de m'en faire profiter.
Bon alors voila:
Maintenant je fait un vidéo avec un GIF animé en Source, et le WMV qui est en sortie fait bien apparaitre les differents images présente. Mais lors de l'encodage on dirait que mon soft ne trouve pas l'information de fin de mon GIF. Donc la vidéo boucle à l'infini.
si quelqu'un sait comment mettre le temps que doit durer la vidéo, ou connais l'astuce pour trouver la fin de l'animation du GIF.
Merci d'avance.
Bon est bien pour ceux que ca intéresserai un jour j'ai TROUVE ^^
Il faut faire une prévisualisation et faire un Stop(), Voila le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 // Create a WMEncoder object. WMEncoder Encoder = new WMEncoder(); // Add an audio source and a video source. IWMEncSourceGroupCollection SrcGrpColl = Encoder.SourceGroupCollection; IWMEncSourceGroup SrcGrp = SrcGrpColl.Add("SG_1"); IWMEncVideoSource2 SrcVid = (IWMEncVideoSource2)SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_VIDEO); // Specify a source file. SrcVid.SetInput("C:\\Chemin\\test.gif", "", ""); //Bitmap file (.bmp, .gif, Animated .gif or .jpg file) // Specify an output file. IWMEncFile2 File = (IWMEncFile2)Encoder.File; File.LocalFileName = "C:\\OutputFile2.wmv"; // Select a profile from the collection and set it into the source group. IWMEncProfileCollection ProColl = Encoder.ProfileCollection; IWMEncProfile2 Pro = new WMEncProfile2(); Pro.LoadFromFile("C:\\profile.prx"); SrcGrp.set_Profile((IWMEncProfile)Pro); // Create two IWMEncDataViewCollection objects--one for the preview // collection and one for the postview collection. IWMEncDataViewCollection DVColl_preview = SrcVid.PreviewCollection; IWMEncDataViewCollection DVColl_postview = SrcVid.PostviewCollection; // Create two WMEncDataView objects--one for previewing and one for postviewing. WMEncDataView Preview = new WMEncDataView(); WMEncDataView Postview = new WMEncDataView(); // Add the WMEncDataView objects to the collection. int lpreviewStream = DVColl_preview.Add(Preview); int lpostviewStream = DVColl_postview.Add(Postview); // Start encoding. Encoder.PrepareToEncode(true); Encoder.Start(); // Display the preview in a frame named Panel_Preview. Preview.SetViewProperties(lpreviewStream, (int)Panel_Preview.Handle); Preview.StartView (lpreviewStream); // Display the postview in a frame named Panel_Postview. Postview.SetViewProperties(lpostviewStream, (int)Panel_Postview.Handle); Postview.StartView (lpostviewStream); Encoder.Stop(); //Empeche le gif anime de bouclé
Partager