我需要捕获在 asp.net 网站上上传的视频的第一帧。我真的很想用 WPF 来做到这一点(如果可能的话),但如果有人知道更简单的方法,我也愿意这样做。
我在 WPF 中看到过使用 MediaPlayer 和 RenderTargetBitmap 的示例,但每个示例都假设可以通过 URI 访问视频。在我的场景中,我只有文件字节,并且不想将视频直接存储在 FS 上。
非常感谢任何帮助!
最佳答案
我根本不知道这是否可取,因为它很可能需要您运行某种消息泵,这在 ASP.NET 站点中是一个非常糟糕的主意。
相反,我会使用 DirectShow API 来尝试处理视频。您应该能够使用它以字节形式传输内容,并且不需要消息循环来处理视频。
您可以使用 DirectShow .NET 包装器通过 .NET 访问它,位于此处:
http://directshownet.sourceforge.net/
您将需要查看 MSDN 上的示例抓取器示例:
http://msdn.microsoft.com/en-us/library/ms787867(VS.85).aspx
请注意,您可能不一定想要第一帧,因为对于许多视频来说,它们可能是黑色的,并不适合作为缩略图。相反,您可能想做 Vista 所做的事情并寻找第一个非黑帧。
关于c# - 使用 WPF 捕获视频的第一帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/678540/