DirectShow IVideoWindow не может быть шире, чем 4096 пикселей - PullRequest
0 голосов
/ 25 марта 2019

У меня есть приложение на C #, которое использует DirectShow для показа воспроизводимых видеоклипов.Недавно мы пытались воспроизвести видео размером 9600x1080 пикселей, и оно не показывалось.DirectShow генерирует события, которые все.

Мы используем пакет кодеков K-Lite (1295) и используем ffdshow libx264 в качестве кодека и видео рендерера.Media Player Classic с использованием того же рендерера может воспроизводить клип просто отлично.В последней версии нашего приложения используется DirectShow.NET, тогда как в более старых версиях интерфейсы DirectShow напрямую.И старые, и новые версии нашего приложения имеют одинаковые проблемы.

После некоторых экспериментов мы обнаружили следующее:

  • Если ширина окна видео 4096px или ужеэто сделает видео.Если он 4097 или больше, он не будет отображать видео.Мы попытались воспроизвести HD-клип и 720-клип с одинаковыми результатами.Они будут воспроизводиться, когда видеоокно имеет размер 4096x1080, но не когда оно составляет 4097x1080 или шире.

  • При изменении разрешения или графических настроек возникают некоторые вспышки (несколько кадров) видео, когданастройки применяются, поэтому можно предположить, что видео действительно воспроизводится, но отображается только черный цвет.

Протестировано в Windows 10, 64-разрядная версия.

Есть идеи, что мы можем сделать, чтобы это исправить?

1 Ответ

1 голос
/ 25 марта 2019

Важной частью является используемый вами видео рендерер.Даже если вы не упомянули, вполне вероятно, что вы просто используете значения по умолчанию, и это VMR-7 в оконном режиме.Это дает вам устаревший устаревший компонент с ограничениями, на которые вы попали.

Вы заинтересованы в обновлении своего приложения для использования EVR.

Выбор правильного видео рендерера

[…]

В Windows Vista и более поздних версиях приложения должны использовать EVR, если оборудование поддерживает его.

[…] методы по умолчанию используют VMR-7.[…] EVR и VMR-9 никогда не являются средствами визуализации по умолчанию.

...