Фильтр кодера H.264 для DirectShow - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь записать видео с помощью DirectShow, и мне нужен фильтр кодера H.264.Я пытался установить:

x264vfw

, как предложено здесь:

как использовать кодер x264 с DirectShow

, нос помощью перечислителя видеокомпрессора:

IEnumMoniker* EnumIterator = nullptr;
if (DeviceDenumerator->CreateClassEnumerator(CLSID_VideoCompressorCategory, &EnumIterator, 
    0) != S_OK)
{
    return nullptr;
}

этот фильтр указан только для 32-битных приложений.В приложении x64 оно не отображается.

Как установить версию видео компрессора для x64?

1 Ответ

0 голосов
/ 25 мая 2018

Для 64-битных приложений вам действительно нужна 64-битная версия фильтра (также известная как x264vfw64), для которой вы хотели бы взглянуть на следующую заметку на SourceForge:

Начиная с 40_2491bm_40895, выпускаются сборки для 64-битной Windows (x264vfw64), где они объединяются в один установщик со сборками для 32-битной Windows (x264vfw).Так что, если вы хотите использовать последнюю версию x264vfw, вы должны скачать ее отсюда: http://sourceforge.net/projects/x264vfw/files/x264vfw/

Установщик , на который есть ссылка , следовательно, должен установить обе 32и 64-битные версии фильтра кодера.

ОБНОВЛЕНИЕ.Недоступность 64-битной версии, по-видимому, известная проблема .В билете объясняется, что 64-разрядная подсистема не имеет оболочки для приема кодировщиков VFW, а установленное сжатие H.264 остается невидимым для DirectShow.

Лично я не думаю, что это описание является точным.Действительно, когда запрашивается перечисление видеокодера DirectShow, существует слой, который выбирает старые кодеки Video For Windows (такие как x264vfw) и предоставляет их через AVI Compressor Filter , чтобы приложение DirectShow могло воспользоваться такими преимуществами.устаревшие кодеки.

... позволяет кодекам Video Compression Manager (VCM) присоединяться к графу фильтров.Каждый кодек отображается как отдельный экземпляр фильтра.

64-битная подсистема 64-битной Windows по-прежнему имеет этот фильтр (в отличие от оператора в разрешении заявки).И все же может быть причина, по которой такой уровень совместимости больше не доступен в 64-битном DirectShow.Похоже, что текущее состояние таково, что разработчики x264vfw знают о проблеме и не имеют или не планируют найти решение для нее.

...