如何提高我的代码,使更好的video质量?

我正在使用下面的代码来利用Windows Media编码器来logging屏幕。 我使用的是Windows Vista,屏幕分辨率为1024×768,32位。 我的问题是,video可以成功录制,但是当我播放录制的video时,video的质量不是很好 – 例如字符很模糊。 我想知道我应该尝试调整哪些参数以获得更好的录像机video质量?

我的代码,

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

在此先感谢乔治

Solutions Collecting From Web of "如何提高我的代码,使更好的video质量?"

视频编码器使用特定的千位/秒的比率来限​​制生成的流的大小。 由于来自DCT的系数较小和较大的量化值,所以K比特/秒越少,得到的细节越少。 换句话说:放入视频的kbits / sec越多,编码器可以在流中存储更多细节。

根据你的代码判断,你选择了一个384kbit / s的配置文件,这对1024 * 768的视频来说并不是很好。 你应该尝试其他配置文件或设置你想要的比特率。