mfh265enc.dll发送未处理的异常

时间:2015-07-23 05:27:26

标签: ms-media-foundation mft h.265

我正在尝试使用Win10 Pro Insider Preview上的H.265编码器MFT对视频进行编码。

  • 最初我在自己的程序中创建/初始化H.265编码器并调用ProcessInput / ProcessOuput并且它在ProcessOuput内崩溃(它在第一帧没有崩溃,而是在处理了几帧之后崩溃)。
  • 为了简化问题,我使用IMFSinkWriter创建了一个接收器,因此帧编码/写入完全由sinkwriter处理。但不幸的是,mfh265enc.dll中仍然发生了崩溃。

    请注意,在上述两种情况下,我所做的更改是在一个可以成功编码H.264视频的程序上。我只更改了Encoder / SinkWriter的输出媒体类型(将子类型从H.264更改为H.265)。构建视频帧的方式,提供给编码器/写入器保持不变。当用H.264编码时,一切都很好,但一旦改为H.265就崩溃了。

  • 然后我转向示例程序附带 Win7 SDK:MFCaptureToFile ,它可以将视频捕获到MP4文件中。

    我确信摄像机的视频格式是H.265编码器可以接受的。

    我所做的唯一改变是传递给SinkWrite.AddStream的outputmedia类型。

    我已将子类型更改为MFVideoFormat_HEVC,并将MF_MT_MPEG2_PROFILE设置为1(eAVEncH265VProfile_Main_420_8)。

    但是上面有两个变化,程序仍然崩溃。在MFCaptureToFile.exe中显示“0x5A025085处于未处理的异常(mfh265enc.dll):0xC0000005:访问冲突读取位置0xFFFFFFFF”

    以下是我对MFCaptureToFile程序所做的更改。 https://www.dropbox.com/s/oytqen13m7bcs23/DIFF.PNG?dl=0

希望有人可以提供帮助。感谢

1 个答案:

答案 0 :(得分:1)

这是Windows 10(版本10240)的RTM版本以及任何先前的Windows Insider版本中的错误。

我可以确认the latest Insider build (10532)已修复此错误,但此时没有公开发布日期,以便将修补程序推送给所有Windows用户。

我注意到在Visual Studio中的x64版本中没有出现此问题,因此如果构建64位版本的应用程序是可接受的解决方法,那么在此修复程序公开之前,这可能有助于解除阻止。