问题描述
有没有绕过MF_MEDIA_ENGINE_PLAYBACK_HWND的方法?我的意思是,说一个命令行exe应用程序,它使用IMFMediaEngine来
读取视频并发现从随机帧生成5个缩略图。所以我真的不想在某个Window Handle中看到视频,只想要
的其他功能
IMFMediaEngine (例如帧处理,将帧转移到图像)。 所以是
完全有必要使用手柄吗? 请提供一种初始化IMFMediaEngine界面的方法,不需要Window
句柄。
Is there any way to bypass the MF_MEDIA_ENGINE_PLAYBACK_HWND ? I mean, say an command-line exe application, which uses IMFMediaEngine to read the video and finds generate 5 thumbnails from random frames. So I really don't want to see the video in some Window Handle, just want other capabilities ofIMFMediaEngine(such as frame prcessing, transfer frame to image). So is it completely necessary to have the handle ? please provide a way to initilize the IMFMediaEngine interface without Window Handle.
推荐答案
感谢您在此处发帖。
>>那么拥有句柄是否完全必要?请提供一种在没有窗口句柄的情况下初始化IMFMediaEngine界面的方法。
据我所知,您可以使用扩展IMFMediaEngine界面的IMFMediaEngineEx。
As far as I know, you could use IMFMediaEngineEx which extends the IMFMediaEngine interface.
它提供无窗口交换链模式。在无窗口交换链模式下,媒体引擎创建无窗口交换链并将视频帧呈现给交换链。要呈现视频,请拨打
获取交换链的句柄,然后将句柄与Microsoft DirectComposition视觉关联。
It provides windowless swap-chain mode. In windowless swap-chain mode, the Media Engine creates a windowless swap chain and presents video frames to the swap chain. To render the video, callIMFMediaEngineEx::GetVideoSwapchainHandle to get a handle to the swap chain, and then associate the handle with a Microsoft DirectComposition visual.
它可能对您有帮助。
最好的问候,
Baron Bi
这篇关于如何在没有PlayBack Handle的情况下使用IMFMediaEngine界面来处理视频?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!