2009-05-09 25 views
0

J'utilise le code suivant pour utiliser Windows Media Encoder pour enregistrer l'écran. J'utilise Windows Vista, résolution d'écran 1024 × 768, 32 bits. Mon problème est, la vidéo pourrait être enregistrée avec succès, mais quand je lis la vidéo enregistrée, la qualité de la vidéo n'est pas très bonne - par exemple. les caractères sont très obscurs. Je me demande quels sont les paramètres que je devrais essayer de régler pour obtenir une meilleure qualité de la vidéo de l'enregistreur?comment améliorer mon code pour améliorer la qualité vidéo?

Mon code,

  static WMEncoder encoder = new WMEncoder(); 

      IWMEncSourceGroup SrcGrp; 
      IWMEncSourceGroupCollection SrcGrpColl; 
      SrcGrpColl = encoder.SourceGroupCollection; 
      SrcGrp = (IWMEncSourceGroup)SrcGrpColl.Add("SG_1"); 

      IWMEncVideoSource2 SrcVid; 
      SrcVid = (IWMEncVideoSource2)SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_VIDEO); 
      SrcVid.SetInput("ScreenCap://ScreenCapture1", "", ""); 
      IWMEncFile File = encoder.File; 
      File.LocalFileName = "C:\\OutputFile.avi"; 

      // Choose a profile from the collection. 
      IWMEncProfileCollection ProColl = encoder.ProfileCollection; 
      IWMEncProfile Pro; 
      for (int i = 0; i < ProColl.Count; i++) 
      { 
       Pro = ProColl.Item(i); 
       if (Pro.Name == "Windows Media Video 8 for Local Area Network (384 Kbps)") 
       { 
        SrcGrp.set_Profile(Pro); 
        break; 
       } 
      } 

     encoder.Start(); 

merci à l'avance, George

+0

Formatez-vous? . –

+0

Format fait, laissez-moi savoir si d'autres questions. :-) – George2

Répondre

3

codeurs vidéo utilisent un certain kbits/seconde rapport pour limiter la taille du flux généré. Moins le nombre de kbits/s est faible, moins vous obtiendrez de détails en raison de la réduction des coefficients de la DCT et des valeurs de quantification plus élevées. En d'autres termes: plus vous mettez de kbits/s dans la vidéo, plus le détail peut être stocké dans le flux par l'encodeur. En fonction de votre code, vous avez choisi un profil qui utilise 384 kbit/s, ce qui n'est pas vraiment le cas pour une vidéo 1024 * 768. Vous devriez essayer d'autres profils ou définir le débit que vous voulez vous-même.

+0

@emktas, quels indices suggérez-vous? Je ne suis pas un expert en vidéo. :-) – George2

+0

Je pense que votre suggestion est que nous pourrions utiliser un profil vidéo plus élevé kps, correct? Mais s'il vous plaît corrigez-moi si je me trompe, je n'ai pas trouvé de profil vidéo kps plus élevé. :-( – George2

+0

@emktas, j'ai essayé et ça fonctionne quand je mets des kps plus élevés, merci! – George2