2009-05-09 3 views
0

Я использую следующий код, чтобы использовать Windows Media Encoder для записи экрана. Я использую Windows Vista, разрешение экрана 1024 × 768, 32-бит. Моя проблема заключается в том, что видео можно записать успешно, но когда я воспроизвожу записанное видео, качество видео не очень хорошее - например, символы очень неясны. Мне интересно, какие параметры я должен попытаться настроить, чтобы улучшить качество видеозаписей?Как улучшить мой код, чтобы улучшить качество видео?

Мой код,

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

спасибо заранее, Джордж

+0

Формат It? , –

+0

Формат сделан, дайте мне знать, если возникнут какие-либо проблемы. :-) – George2

ответ

3

Видеокодеры используют/второе отношение определенное кбит ограничить размер генерируемого потока. Чем меньше кбит/с, тем меньше деталей вы получите из-за меньшего количества коэффициентов из DCT и больших значений квантования. Другими словами: чем больше kbits/sec вы помещаете в видео, тем больше деталей может быть сохранено в потоке кодер.

Судя по вашему коду, вы выбрали профиль, который использует 384 кбит/с, что не очень подходит для видео с разрешением 1024 * 768. Вы должны попробовать другие профили или настроить битрейт, который вам нужен.

+0

@emktas, любые подсказки, какие профили вы предлагаете? Я не эксперт по видео. :-) – George2

+0

Я думаю, ваше предложение состоит в том, что мы могли бы использовать более высокий профиль видео в формате kps, правильно? Но, пожалуйста, поправьте меня, если я ошибаюсь, я не нашел более высокого профиля видео в формате kps. :-( – George2

+0

@emktas, я пробовал, и он работает, когда я устанавливаю более высокие kps, спасибо! – George2