Как улучшить мой код, чтобы улучшить качество видео? - PullRequest
0 голосов
/ 09 мая 2009

Я использую следующий код для использования Windows Media Encoder для записи экрана. Я использую 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();

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

1 Ответ

3 голосов
/ 09 мая 2009

Видеокодеры используют определенное отношение кбит / с для ограничения размера генерируемого потока. Чем меньше кбит / с, тем меньше деталей вы получите благодаря меньшему количеству коэффициентов из DCT и большим значениям квантования. Другими словами: чем больше кбит / с вы поместите в видео, тем больше деталей может быть сохранено в потоке кодировщиком.

Судя по вашему коду, вы выбрали профиль, который использует 384 кбит / с, что не очень много для видео 1024 * 768. Вы должны попробовать другие профили или установить желаемый битрейт.

...