В настоящее время моделируя Windows приложение.NET, которое должно воспроизвести WMV с высоким разрешением и видео H264. Мои тестовые файлы составляют полные 1 080 пунктов.
Целевые аппаратные средства имеют слабые процессоры Atom, но сильную графику NVidia 9400. Я знаю, что графика интегрируется, но мое понимание - то, что они хороши для воспроизведения видео.
При тестировании в Windows 7, если я играю свои тестовые файлы в WPF, с помощью управления MediaElement, мое использование ЦП 0.
Однако целевой ОС является Windows XP, и у нас не может быть.NET 3.0. Поэтому приложение должно работать в WinForms. По различным причинам Windows Media Player ActiveX не является опцией. Таким образом, мы смотрим на DirectShow.
Я соединил плеер, использующий DirectShow.NET, играя видео назад полный экран с помощью VMR9. Используя этот подход, мои файлы WMV используют где-нибудь между 20 - 30% ЦП. Я должен был установить mp4 muxer/demuxer, чтобы даже заставить файлы H264 играть, и затем они использовали 40 - 50% ЦП.
tldr: как я могу достигнуть аппаратно ускоренного WMV и воспроизведения видео H264 в WinForms?
Спасибо!
Нет прямого ответа для вас, но утилита DXVA Checker помогла мне отлаживать проблемы DXVA в прошлом. Вот скачать ссылку: http://bluesky23.hp.infoseek.co.jp/en/index.html
Я сделал некоторую проверку утилитой DXVA, рекомендованной Иеремией Морилл.
У меня довольно хорошая идея о том, что происходит сейчас ....
, поэтому нижняя строка в том, что мне нужно проверить в поле Windows XP с графикой 9400. Похоже, что полное оборудование будет невозможно (так как у нас нет MediaFoundation, и, следовательно, у нас нет DXVA2) ...
Спасибо снова за помощью!
Существует много коммерческих аппаратных средств, ускоренных фильтров DirectShow H264, доступных там. Некоторые используют DXVA, некоторые используют CUDA. Никто из них не свободен, но большинство из них не дороги. FFDShow и связанные с ними проекты FFMPEG великолепны, но они не будут абсолютно не делать HD H264 на процессоре Atom. (Если кто-то может доказать иначе, я хотел бы услышать от вас.)
Я занимаюсь воспроизведением HD H264 на той же ионной платформе, которую вы описали, используя DirectShow в XP. Это пограничное пограничное исполнение для 1080p, но может управлять им, если вы можете ограничить битрейт и не нужно делать много других процессоров или графических процессоров одновременно. 720P - это намного удобнее, особенно если вы можете получить с 24 или 30 кадров в секунду вместо 60.
от верхней части моей головки, кодеки, которые лучше всего работали на ионе H264, были MainConcept, Coreavc и Cyberlink.
Я бы также предложил попробовать VMR7 вместо VMR9, если это вариант для вас. Некоторые кодеки DXVA более надежны и имеют лучшую производительность с VMR7.