IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#] Conversion d'un gif animé en wmv


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de toflofr
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Par défaut [C#] Conversion d'un gif animé en wmv
    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.

  2. #2
    Membre confirmé Avatar de toflofr
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Par défaut
    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

  3. #3
    Membre confirmé Avatar de toflofr
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Par défaut
    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é :

    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();
    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.

    Donc si vous connaissez le sujet merci de m'en faire profiter.

  4. #4
    Membre confirmé Avatar de toflofr
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Par défaut
    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.

  5. #5
    Membre confirmé Avatar de toflofr
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Par défaut
    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é

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FLASH MX 2004] Probleme de creation de GIF anime
    Par hedgehog dans le forum Flash
    Réponses: 5
    Dernier message: 13/03/2005, 19h07
  2. Vitesse d'un gif animé
    Par lucas-18 dans le forum Access
    Réponses: 1
    Dernier message: 25/10/2004, 08h29
  3. [MFC]afficher un gif animé
    Par Blo0d4x3 dans le forum MFC
    Réponses: 26
    Dernier message: 04/10/2004, 15h51
  4. Rx Controls Gif animés
    Par toufou dans le forum Composants VCL
    Réponses: 6
    Dernier message: 23/08/2002, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo