2010-05-10 6 views
1

Итак, я искал мир воспроизведения мультимедиа для окон, и я начал создавать медиа-плеер C# с помощью DirectShow. Я начал использовать видеоредактор VRM-7 и был блестящим, за исключением того, что у него было несколько небольших проблем (много мониторов, полноэкранный режим). Но после некоторых исследований я обнаружил, что он устарел, и я должен использовать VRM9. Итак, я изменил его, чтобы использовать VRM9 без окон, а затем выяснил, что это был старый пост rofl> _ <, так что, наконец, я использую Vista/Win7 (или XP .net 3) Enhanced Video Renderer (EVR), который, по-видимому, больше всего датируемый рендерингом Microsoft, и добавляет к нему все яркие показатели производительности/качества. (tbh я не заметил никакой разницы, но, возможно, мне нужен синий луч или видео HQ, чтобы заметить это).Проблема с изменением размера DirectShow EVR

С использованием EVR все работает нормально, за исключением изменения размера видео. Его действительно отсталый/прерывистый/слезливый и, вероятно, что-то связанное с его механизмом очереди кадров.

Чтобы продемонстрировать мою проблему

  1. открыть окна Media Player Classic.
  2. View -> Параметры -> Playback -> выход
  3. Выбрал «EVR» DirectShow видео рендерер

Теперь перезапустите WMP класс и воспроизведения видео, в то время как он играет, нажмите и перетащите угол, чтобы изменить его размер , Вы заметите его ужасно лагги. Это то же самое, что у меня есть.

Но если вы выбрали «EVR Custom Pres. **» или EVR Sync ** «изменение размера прекрасно работает! Поэтому я попытался найти что-то по поводу изменений размера EVR и как исправить это, но я не мог поверить, я мог бы найти. Я предполагаю, что «Custom Pres.» означает «Custom Presenter», который звучит так, как будто они сделали свой собственный. Также вы заметите, что размер правой руки при обмене между EVR и другим EVR будет уменьшен.

Итак, я не знаю, как я могу исправить эту проблему с замедленным изменением размера и есть ли там достойная документация? Существует справедливый бит для VMR7/9, но не так много для EVR Я загрузил DirectX SDK, который, по-видимому, имел образцы, но это была пустая трата в 500 мб у него ничего не было.

Возможно, есть какой-то способ заставить его не стоять в очереди на фреймы, если это проблема? Если вы хотите, чтобы код произносил слово, и я вставляю его. Но это действительно очень просто и ничего не происходит, я убежден, что это проблема с рендерингом EVR.

EDIT: О, и еще одна вещь, что использует VLC? Если вы перейдете в опции vlc и измените рендеринг на что угодно, кроме значения по умолчанию, все они сосут. Так оно использует VMR7? Или его собственный?

+0

я вижу ту же проблему, но с C++. Создал ли собственный пользовательский презентатор решение вашей проблемы? – 2010-11-10 15:15:30

ответ

1

Мне нужно написать собственный пользовательский презентатор, который по внешнему виду http://msdn.microsoft.com/en-us/library/bb530107(VS.85).aspx является относительно большой задачей.

Guess я буду смотреть на образец и попытаться идти оттуда

+0

Мне было бы очень интересно узнать о ваших результатах на этом, пожалуйста, напишите о том, как вы это сделали;) – 2010-11-10 16:25:30

Смежные вопросы