優れたビデオ品質を作るために自分のコードを改善するために、どのように?
質問
私は、画面を録画するには、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と大きな量子化値から少数の係数になります以下詳細。言い換えれば、あなたがビデオに詳細を入れて、よりキロビット/秒は、エンコーダによってストリームに保存することができます。
。あなたは1024×768の映像のために非常に多くのではありません384キロビット/秒を使用するプロファイルを選択したあなたのコードから判断します。あなたがあなた自身をしたい他のプロファイルや設定ビットレートを試してみてください。
所属していません StackOverflow