0

私は次のコード スニペットを使用して画面を記録しています。ほとんどの場合、記録された wmv ファイルは十分に鮮明ですが、ビデオの一部ではあまり鮮明ではありません (一部の部分が灰色です)。私が記録するのは全画面モードのpptです。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();

前もって感謝します、ジョージ

4

2 に答える 2

0

コードの問題ではなく、エンコーダーのプロファイルまたは設定に問題があると思います。WME9 でデフォルトの「Screen Video/Audio High (CBR)」プロファイルを使用している場合、250Kbps のビデオ ビットレートが使用されていますが、これはかなり低い値です。Windows Media Encoder Profile Editor Utility でカスタム プロファイルを作成することをお勧めします。このようなもの:

awesomesc.prx

名前: 素晴らしいスクリーン プロファイル

オーディオ: WMA 9.2 CBR (32kbps、44kHz、モノラル CBR)

映像:WMV9 画質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 に答える