как улучшить качество видео? - PullRequest
0 голосов
/ 19 мая 2009

Я использую следующие фрагменты кода для записи экрана, и в большинстве случаев записанный файл 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();

спасибо заранее, George

Ответы [ 2 ]

0 голосов
/ 30 марта 2011

"Экран видео / аудио носитель (CBR)" это решило мою проблему

0 голосов
/ 18 сентября 2009

Я предполагаю, что это проблема с вашим профилем или настройками кодера, а не проблема с кодом. Если вы используете стандартный профиль «Screen Video / Audio High (CBR)» в WME9, он использует битрейт видео 250 Кбит / с, что довольно мало. Я бы предложил создать пользовательский профиль в утилите редактора профилей кодировщика Windows Media. Примерно так:

awesomesc.prx

Имя: Потрясающий экранный профиль

Аудио: WMA 9,2 CBR (32 кбит / с, 44 кГц, моно CBR)

Видео: WMV 9 Качество экрана VBR (размер видео такой же, как у видеовхода, частота кадров 10 кадров в секунду, интервал ключевых кадров 3 с, качество видео 90)

Затем просто измените код в соответствии с именем пользовательского профиля.

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

Настройки кодера будут проходить намного дольше, но если вы не изменили их по умолчанию, у вас должно быть все в порядке.

Алгоритм VBR, основанный на качестве, может быть довольно удивительным и, вероятно, будет производить удивительно низкий средний битрейт, но если VBR не подойдет для ваших нужд, вы можете использовать утилиту Windows Media Encoder Profile Editor для импорта schia.prx профиля, который вы используете, и настройте параметры, чтобы найти более высокую скорость передачи данных CBR, которая обеспечивает приемлемое качество.

...