如何提高视频质量?

时间:2009-05-19 05:47:05

标签: windows video media encoder

我使用以下代码片段来记录屏幕,并且在大多数情况下记录的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();
提前谢谢, 乔治

2 个答案:

答案 0 :(得分:0)

我猜您的编码器配置文件或设置存在问题,而且代码没有问题。如果你在WME9中使用默认的“屏幕视频/音频高(CBR)”配置文件,那么它使用的视频比特率为250Kbps,非常低。我建议在Windows Media Encoder配置文件编辑器实用程序中创建自定义配置文件。像这样:

awesomesc.prx

  

名称:很棒的屏幕配置文件

     

音频: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)” 它解决了我的问题