Необходим совместимый с технологией DirectShow видео компрессор - PullRequest
1 голос
/ 27 декабря 2011

Я разрабатываю приложение, которое позволяет записывать видео с веб-камеры. (с использованием Visual Studio 2008, C #)

Требуемая степень сжатия составляет приблизительно 10 секунд = 1 МБ. Я нашел единственный, который подходит для этого: тот, что из DivX Codec Pack , но, похоже, он не бесплатный. Или, может быть, нет, я не уверен: он устанавливается через DivXInstaller, который загружает много мусора, который мне не нужен, и на панели управления DivX есть ярлык: DivX Codec, пробная версия, осталось 15 дней И этот ярлык не меняется более двух недель ...

Другой хорошей альтернативой является компрессор VP40®. Коэффициент сжатия составляет от 1 сек до 1 мб. Но у него есть некоторые странные проблемы с Windows XP, и я пока не могу понять, что с ним не так.

Есть вопросы, которые у меня сейчас есть:

  1. Есть ли хороший установщик для DivX Codec Pack, который установит только этот пакет, без добавления 200 МБ веса мусора?
  2. Существуют ли другие хорошие видео компрессоры, совместимые с DirectShow? Те, что у меня по умолчанию (например, Microsoft Video 1, DV Video Кодировщик и т. Д.) Либо имеют плохой коэффициент сжатия, либо ужасно плохое качество записанного видео.
  3. Ну, конечно, предпочтителен бесплатный компрессор.

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();

Ответы [ 2 ]

2 голосов
/ 13 января 2012

Вы можете рассмотреть возможность использования формата Windows Media, если достаточно только Windows-решения.Там может быть поддержка Mac, хотя.Добавление WM ASF Writer Filter к графику фильтра DirectShow приведет к выводу файла в файл Windows Media.Битрейт / качество задается через встроенные или определяемые пользователем профили.

Windows Media Encoder из Windows Media Encoder 9 Series SDK - это инструмент пользовательского интерфейса, который можно использовать для точной настройки параметров сжатия, визуальной проверки качества и т. Д.

1 голос
/ 13 января 2012

Вы пробовали xvid ?

Из википедии:

Xvid является основным конкурентом кодека DivX Pro. По сравнению с кодек DivX, который является проприетарным программным обеспечением, разработанным DivX, Inc., Xvid - это бесплатное программное обеспечение, распространяемое в соответствии с условиями GNU General. Общественная лицензия

...