Необработанное исключение в mfh265enc.dll

Я пытаюсь кодировать видео с помощью кодера H.265 MFT в Win10 Pro Insider Preview.

  • Первоначально я создаю / инициализирую кодировщик H.265 в своей собственной программе и вызываю ProcessInput/ProcessOuput, и он падает в ProcessOuput (он не падает в первом кадре, вместо этого он падает после обработки нескольких кадров).
  • Чтобы упростить этот вопрос, я использовал IMFSinkWriter для создания приемника, поэтому кодирование / запись фрейма полностью обрабатывается приемником. Но, к сожалению, сбой все еще произошел внутри mfh265enc.dll.

    Обратите внимание, что в двух вышеуказанных случаях внесенные мной изменения касались программы, которая может успешно кодировать видео H.264. Я изменил только тип выходного носителя для Encoder/SinkWriter (изменил подтип с H.264 на H.265). То, как создавались видеокадры и подавались в кодировщик / приемник, остается тем же. При кодировании с H.264 все было хорошо, но однажды изменившись на H.265, он рухнул.

  • Затем я обратился к примеру программы, поставляемой с Win7 SDK: MFCaptureToFile, которая может записывать видео в файл MP4.

    Я уверен, что формат видео с камеры приемлем для кодера H.265.

    Единственное изменение, которое я сделал, - это тип выходного мультимедиа, который передается в SinkWrite.AddStream.

    Я изменил подтип на MFVideoFormat_HEVC и установил MF_MT_MPEG2_PROFILE равным 1 (eAVEncH265VProfile_Main_420_8).

    Но с 2 изменениями выше, программа все еще падает. Отображение "Необработанное исключение в 0x5A025085 (mfh265enc.dll) в MFCaptureToFile.exe: 0xC0000005: Место чтения нарушения доступа 0xFFFFFFFF"

    Вот изменение, которое я внес в программу MFCaptureToFile. https://www.dropbox.com/s/oytqen13m7bcs23/DIFF.PNG?dl=0

Надеюсь, кто-то может помочь. Спасибо

1 ответ

Это ошибка в окончательной первоначальной версии Windows 10 (сборка 10240) и во всех предыдущих выпусках Windows Insider.

Я могу подтвердить, что эта ошибка была исправлена ​​в последней сборке Insider (10532), но в настоящее время нет общедоступной даты выпуска, когда исправление будет передано всем пользователям Windows.

Я заметил, что проблема не возникает в 64-разрядной сборке в Visual Studio, поэтому, если создание 64-разрядной версии приложения является приемлемым обходным путем, это может помочь разблокировать пользователей, пока это исправление не станет общедоступным.

Другие вопросы по тегам