使用.NET从视频文件中读取特定帧(不一定按顺序)

时间:2012-03-23 17:56:00

标签: c# .net wpf video opencv

我有一个.NET Winform应用程序,我需要显示视频文件的特定帧。帧不一定按顺序排列,并在用户移动滑块时或应用程序触发某些事件时加载。我尝试了以下事项:

  1. 使用EmguCV(OpenCV Wrapper):这里的问题是当我使用SetCaptureProperty(使用CAP_PROP.CV_CAP_PROP_POS_FRAMES,AVI_RATIO或MSEC)来设置捕获位置时,该位置是正确安装(我使用SetCaptureProperty指令旁边的GetCaptureProperty检查了它)。因此,QueryFrame返回的帧不是所需的帧。

  2. 使用WPF MediaElement 与时钟驱动的行为:我可以在我需要的地方设置视频的位置。问题是我不知道如何只获得视频序列的一帧。默认情况下,我暂停了时钟控制器。当我设置位置时,如果我调用Clock.Controller.Resume(),那么视频就从这里开始播放。如果我不调用Clock.Controller.Resume(),或者如果我调用Clock.Controller.Resume()然后调用Clock.Controller.Pause(),则不会发生任何事情。

  3. 我正在寻找可以用来完成这项工作的另一个视频库,但我不确定可以使用什么。任何的想法?

  4. 非常感谢所有社区成员,不仅是对这个答案的帮助,而且感谢你每天给我解决我的问题的巨大帮助。我很新,但我会尝试回复这些帮助他人解决你的问题。

    对不起我糟糕的英语! (我的西班牙语和说英语不是我最好的品质:S)

0 个答案:

没有答案