У меня есть приложение С#, которое использует DirectShow для воспроизведения видеоклипов. Недавно мы пытались воспроизвести видео размером 9600x1080 пикселей, но оно не показывалось. DirectShow выдает события, которые все.
Мы используем пакет кодеков K-Lite (1295) и используем ffdshow libx264 в качестве кодека и средства визуализации видео. Media Player Classic, использующий тот же рендерер, может нормально воспроизводить клип. Последняя версия нашего приложения использует DirectShow.NET, в то время как более старые версии напрямую вызывают интерфейсы DirectShow. И старая, и новая версии нашего приложения имеют одинаковые проблемы.
После некоторых экспериментов мы выяснили следующее:
Если ширина окна видео составляет 4096 пикселей или меньше, оно будет отображать видео. Если это 4097 или шире, видео не будет отображаться. Мы пробовали воспроизводить HD-клип и 720-клип с одинаковыми результатами. Они будут воспроизводиться при разрешении окна видео 4096x1080, но не при разрешении окна 4097x1080 или шире.
При изменении разрешения или графических настроек есть несколько вспышек (несколько кадров) видео, когда применяются настройки, поэтому можно предположить, что на самом деле он воспроизводит видео, но отображает только черный цвет.
Проверено на Windows 10, 64 бит.
Любые идеи о том, что мы можем сделать, чтобы исправить это?