0

我正在使用以下代码片段来录制屏幕,并且在大多数情况下录制的 wmv 文件足够清晰,但对于视频的某些部分,它不是很清晰(某些部分为灰色)。我录制的是全屏模式的ppt。我正在使用 Windows Media 编码器 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();

提前谢谢,乔治

4

2 回答 2

0

我猜这是您的编码器配置文件或设置的问题,而不是代码的问题。如果您在 WME9 中使用默认的“屏幕视频/音频高 (CBR)”配置文件,它使用 250Kbps 的视频比特率,这是相当低的。我建议在 Windows Media Encoder Profile Editor Utility 中创建一个自定义配置文件。像这样的东西:

很棒的sc.prx

名称:Awesome Screen Profile

音频:WMA 9.2 CBR(32kbps,44kHz,单声道 CBR)

视频:WMV 9 屏幕质量 VBR(视频大小与视频输入相同,帧速率 10fps,关键帧间隔 3 秒,视频质量 90)

然后只需更改代码以匹配自定义配置文件的名称。

if (Pro.Name == "Awesome Screen Profile")

编码器设置需要更长的时间才能完成,但如果您没有更改它们的默认设置,您应该没问题。

基于质量的 VBR 算法可能非常惊人,并且可能会产生令人惊讶的低平均比特率,但如果 VBR 不能满足您的需求,您可以使用 Windows Media Encoder Profile Editor 实用程序导入schia.prx配置文件您正在使用并调整设置以找到更高的 CBR 比特率,从而产生可接受的质量。

于 2009-09-18T04:06:38.517 回答
-1

“屏幕视频/音频媒体 (CBR)”它解决了我的问题

于 2011-03-30T10:04:52.643 回答