我使用下面的代码利用Windows Media编码器,记录屏幕。我使用的是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();

预先感谢, 乔治

有帮助吗?

解决方案

视频编码器使用某一千比特/秒的比例,以限制所产生的流的大小。在千位少/秒的较少细节你会得到由于从DCT系数更少,更大的量化值。换句话说:越千位/秒你放入更详细可由编码器被存储在流中的视频

这是你的代码来看你选择它使用384 kbit / s的这是不是很为1024 * 768的视频资料。你应该尝试你想自己的其他配置文件或设置的比特率。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top