Я начал использовать версию Windows 7 для RC1 и заметил, что для воспроизведения видео Windows 7 не использует ffdshow после установки. Я сузил проблему до того факта, что Windows 7 предпочитает использовать новый Windows Media Foundation, а не фильтры DirectShow, если таковые имеются.

Проблема в том, что у меня заикается декодер H.264 Windows Media Foundation, и я бы предпочел использовать декодер из ffdshow.

Кто-нибудь знает, как "заставить" Windows 7 использовать фильтр DirectShow вместо фильтра Windows Media Foundation?

Спасибо

2 ответа2

2

Вот статья, показывающая, как делать то, что вы хотите сделать.

Другой вариант, который вы можете попробовать - это использовать медиаплеер, основанный исключительно на DirectShow, например, Media Player Classic. Я не уверен на 100%, что он не будет использовать встроенные кодеки, но его стоит попробовать, прежде чем испортить вашу систему.

1

DirectShow и Media Foundation - это API, а приложения создаются на основе одного из API, против обоих API с жестко заданным приоритетом или API по выбору / конфигурации пользователя. Это только последний случай, когда у вас могут быть варианты переключения между API. То есть ваш выход - выбрать приложение, которое вы можете настроить для использования определенного интересующего вас кодека.

Изменение в Windows 7, о котором вы говорите, является системным приоритетом стандартного декодера H.264. В то время как в большинстве случаев кодеки борются друг с другом за то, что их подняли, зарегистрировав себя с более высокими достоинствами, Windows 7 положила конец этой борьбе, безоговорочно поставив стандартный декодер.

Чтобы добавить к этому, если вы играете с Windows Media Player, он пытается играть с Media Foundation, и если только эта попытка не удалась, то есть вторая попытка с DirectShow. Таким образом, вы должны испортить Media Foundation API/ компоненты, чтобы они были непригодны для использования WMP для перехода на DirectShow для H.264. Я, конечно, не рекомендую это, и другой более подходящий игрок - правильный альтернативный вариант.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .