在例子PlayVideoCap中,还有抓帧和回放的功能。这用到第4个控件TSampleGrabber。

我们以前两个例子为基础,增加抓帧的功能。
打开前面的例子,然后:

1. 在DSPack中选择TSampleGrabber控件,放到窗口上。然后将其FilterGraph属性设置为FilterGraph1。
2. 在选择一个标准控件TImage(在Additional页签中),放在窗口上。
3.讲一个没用的按钮的Caption改为“Snapshot”,在它的OnClick事件中写:
SampleGrabber1.GetBitmap(Image1.Picture.Bitmap);

前面两个例子都可以这样增加抓帧功能。不过,对于第二个例子(即操作摄像头的例子),需要做额外的修改,就是:

    RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter as IBaseFilter, nil, VideoWindow as IbaseFilter);
改为
    RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter as IBaseFilter, SampleGrabber as IBaseFilter, VideoWindow as IbaseFilter);

这样就可以了

 

相关文章:

  • 2021-10-21
  • 2022-12-23
  • 2021-12-02
  • 2022-12-23
  • 2021-08-05
  • 2021-08-07
  • 2021-10-22
  • 2021-09-27
猜你喜欢
  • 2021-08-12
  • 2021-06-06
  • 2021-09-03
  • 2021-11-22
  • 2021-09-08
  • 2021-07-18
相关资源
相似解决方案