Я разрабатываю приложение, позволяющее записывать видео с веб-камеры. (используя визуальную студию 2008, С#)
Требуемый коэффициент сжатия составляет примерно 10 секунд = 1 мб. Я нашел единственный, который подходит для этого: тот, что из DivX Codec Pack, но вроде не бесплатно. А может и нет, не уверен: ставит через DivXInstaller, который скачивает много ненужной мне фигни, а в DivX Control Panel метка: DivX Codec, пробная версия, осталось 15 дней. И эта этикетка не меняется уже больше двух недель…
Другой хорошей альтернативой является компрессор VP40®. Коэффициент сжатия составляет примерно 1 сек на 1 Мб. Но у него какие-то странные проблемы с Windows XP, и я пока не могу понять, что с ним не так.
Есть вопросы, которые у меня есть сейчас:
- Есть ли хороший установщик для DivX Codec Pack, который установит только этот пак, не добавляя мусора весом 200 мб?
- Существуют ли другие хорошие видеокомпрессоры, совместимые с DirectShow? Те, которые у меня установлены по умолчанию (например, Microsoft Video 1, DV Video Encoder и т. д.), либо имеют плохую степень сжатия, либо ужасно плохое качество записанного видео.
- Ну и конечно бесплатный компрессор предпочтительнее.
P.S. Извините за мой плохой английский.
Кусок кода:
// the part of method to record video
capture = new Capture(filters.VideoInputDevices[VCB.SelectedIndex], filters.AudioInputDevices[ACB.SelectedIndex]);
// VCB & ACB are the combobox for video & audio capture devices
capture.VideoCompressor = filters.VideoCompressors[CCB.SelectedIndex];
// that's the video compressor, that is used
//and then:
try
{
capture.PreviewWindow = panelVideo;
Log.CreateLogFiles("Video panel initialized");
}
catch (Exception ex) { Log.CreateLogFiles(ex); }
capture.Filename = "Somestring";
capture.Start();