我使用以下代码片段来记录屏幕,并且在大多数情况下记录的wmv文件足够清晰,但对于视频的某些部分它不是很清楚(某些部分的灰色)。我录制的是全屏模式。我正在使用Windows Media Encoder 9。
这是我的代码段,
IWMEncSourceGroup SrcGrp;
IWMEncSourceGroupCollection SrcGrpColl;
SrcGrpColl = encoder.SourceGroupCollection;
SrcGrp = (IWMEncSourceGroup)SrcGrpColl.Add("SG_1");
IWMEncVideoSource2 SrcVid;
IWMEncSource SrcAud;
SrcVid = (IWMEncVideoSource2)SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_VIDEO);
SrcAud = SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_AUDIO);
SrcVid.SetInput("ScreenCap://ScreenCapture1", "", "");
SrcAud.SetInput("Device://Default_Audio_Device", "", "");
// Specify a file object in which to save encoded content.
IWMEncFile File = encoder.File;
string CurrentFileName = Guid.NewGuid().ToString();
File.LocalFileName = CurrentFileName;
CurrentFileName = File.LocalFileName;
// 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 == "Screen Video/Audio High (CBR)")
{
SrcGrp.set_Profile(Pro);
break;
}
}
encoder.Start();
提前谢谢,
乔治
答案 0 :(得分:0)
我猜您的编码器配置文件或设置存在问题,而且代码没有问题。如果你在WME9中使用默认的“屏幕视频/音频高(CBR)”配置文件,那么它使用的视频比特率为250Kbps,非常低。我建议在Windows Media Encoder配置文件编辑器实用程序中创建自定义配置文件。像这样:
名称:很棒的屏幕配置文件
音频:WMA 9.2 CBR(32kbps,44kHz,单声道CBR)
视频:WMV 9屏幕质量VBR(视频大小与视频输入相同,帧速率10fps,关键帧间隔3秒,视频质量90)
然后只需更改代码以匹配自定义配置文件的名称。
if (Pro.Name == "Awesome Screen Profile")
编码器设置需要更长的时间才能完成,但如果你没有从默认设置中更改它们,那么你应该没问题。
基于质量的VBR算法可能相当惊人,并且可能会产生令人惊讶的低平均比特率,但如果VBR无法满足您的需求,您可以使用Windows Media Encoder配置文件编辑器实用程序导入配置文件,并调整设置以找到可产生可接受质量的更高CBR比特率。
答案 1 :(得分:-1)
“屏幕视频/音频媒体(CBR)” 它解决了我的问题