c# - 使用 WPF 捕获视频的第一帧

标签 c# asp.net wpf

我需要捕获在 asp.net 网站上上传的视频的第一帧。我真的很想用 WPF 来做到这一点(如果可能的话),但如果有人知道更简单的方法,我也愿意这样做。

我在 WPF 中看到过使用 MediaPlayer 和 RenderTargetBitmap 的示例,但每个示例都假设可以通过 URI 访问视频。在我的场景中,我只有文件字节,并且不想将视频直接存储在 FS 上。

http://blogs.msdn.com/delay/archive/2008/09/03/video-frame-grabbing-made-easy-how-to-quickly-capture-multiple-video-frames-with-wpf.aspx

非常感谢任何帮助!

最佳答案

我根本不知道这是否可取,因为它很可能需要您运行某种消息泵,这在 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/

相关文章:

c# - 使用 Visual C# 连接到远程 MySQL 数据库

c# - 跟踪按钮点击次数

c# - 将 asp :Image relative path (. ./../images) 替换为另一台服务器上的绝对路径

c# - 将 Zip 文件作为流写入 AWS

c# - Linq 表达式获取插入的 Convert 函数

c# - WPF C# 在特定位置的文本 block 内插入图像(代码)

WPF 分层数据模板

c# - 如何从 WPF 应用程序写入命令行?

c# - C# 应用程序中插入语句时 MySql ODBC 5.1 驱动程序的内存分配错误

asp.net - ADFS 2.0超时以及Freshness Value,TokenLifetime和WebSSOLifetime参数之间的关系