关于VMR9AllocatorPresenter与多路视频播放实践

    技术2022-05-20  72

    一、几种模式比较

    VMR9 Render在连接AllocatorPresenter时,可以为Renderer设置一个UserID。这个UserID与VMR9Renderer一一对应。

    HRESULT SetAllocatorPresenter( IBaseFilter *filter, HWND window, SmartPtr<IVMRSurfaceAllocator9>, DWORD_PTR UserID );

     

    1、一个VMR9 Renderer对一个AllocatorPresenter

    如果仅有一路视频输入,这也是最简单的情况。解码后的视频流输入VMR9 Renderer后,只要对Direct3D场景进行正确设置,再将从视频输入取得的贴图,渲染到每个窗口表面上,就能实现多窗口播放了。 当VMR9 Renderer有多路视频输入时,Allocator的InitializeDevice仅在连接第一路视频时被调用。(不知如何取到贴图)

    2、多个VMR9 Renderer对一个AllocatorPresenter

    多个VMR9 Renderer在一个FilterGraph中

     测试中...

    每个VMR9 Renderer在一个对应的的FilteGraph中

    测试中...


    最新回复(0)