C#从wmv文件中抓取帧

C#从wmv文件中抓取帧,c#,directx,wmv,C#,Directx,Wmv,是否有人知道是否可以使用C#从位置X上的视频(.wmv)中捕获帧/图像,而无需安装DirectX和Windows 2008(我希望安装的Web服务器越少越好) 甚至使用directx的简单解决方案也不错 Henk你应该试试。你应该试试。你实际上需要研究的是Windows的通用媒体(音频和视频)库。它曾经是DirectX的一部分,但几年前它分支并成为Windows(平台)SDK的一部分。这里我还应该指出,自从WindowsVista支持Windows以来,它现在已经被弃用了。从我读到的,它是一个更

是否有人知道是否可以使用C#从位置X上的视频(.wmv)中捕获帧/图像,而无需安装DirectX和Windows 2008(我希望安装的Web服务器越少越好)

甚至使用directx的简单解决方案也不错


Henk

你应该试试。

你应该试试。

你实际上需要研究的是Windows的通用媒体(音频和视频)库。它曾经是DirectX的一部分,但几年前它分支并成为Windows(平台)SDK的一部分。这里我还应该指出,自从WindowsVista支持Windows以来,它现在已经被弃用了。从我读到的,它是一个更好的图书馆(DirectShow是复杂任务的地狱),但不幸的是,目前只针对媒体基础,因为缺乏对XP和较早的支持…… 我所能做的最好的事情就是向您指出,DirectShow的.NET包装器库目前相当稳定且经过良好测试。它包括了各种各样的样本,这些样本应该可以帮助您开始工作,但这绝不是一个简单的解决方案。另外,我强烈建议您看一看/示例应用程序。它处理网络摄像头视频捕获和文件(包括WMV)的视频播放。稍微玩玩一下,学习如何进行帧搜索/单帧捕获(我认为该项目甚至可能需要一些代码来实现这一点)应该可以满足您的需要。也许你甚至可以在CodeProject应用程序的DirectShow.NET示例中找到精确的解决方案


当然,如果可以的话,我会在这里建议一个更简单的解决方案,但你现在几乎被DirectShow的可怕性所困扰。祝你好运

您实际上需要了解的是Windows的通用媒体(音频和视频)库。它曾经是DirectX的一部分,但几年前它分支并成为Windows(平台)SDK的一部分。这里我还应该指出,自从WindowsVista支持Windows以来,它现在已经被弃用了。从我读到的,它是一个更好的图书馆(DirectShow是复杂任务的地狱),但不幸的是,目前只针对媒体基础,因为缺乏对XP和较早的支持…… 我所能做的最好的事情就是向您指出,DirectShow的.NET包装器库目前相当稳定且经过良好测试。它包括了各种各样的样本,这些样本应该可以帮助您开始工作,但这绝不是一个简单的解决方案。另外,我强烈建议您看一看/示例应用程序。它处理网络摄像头视频捕获和文件(包括WMV)的视频播放。稍微玩玩一下,学习如何进行帧搜索/单帧捕获(我认为该项目甚至可能需要一些代码来实现这一点)应该可以满足您的需要。也许你甚至可以在CodeProject应用程序的DirectShow.NET示例中找到精确的解决方案


当然,如果可以的话,我会在这里建议一个更简单的解决方案,但你现在几乎被DirectShow的可怕性所困扰。祝你好运

看看Windows Media Format SDK,它旨在让您非常直接地访问WMV(/WMA/ASF)文件中的帧


特别是,您对读取这些文件的同步API感兴趣(IWMSyncReader是接口名)。WMFSDK中有一些相当不错的样本;我相信这里最有趣的是WMSyncReader,它将向您展示如何从位置X开始挖掘WMV文件并获取帧。

看看Windows Media Format SDK,它旨在让您非常直接地访问WMV(/WMA/ASF)文件中的帧


特别是,您对读取这些文件的同步API感兴趣(IWMSyncReader是接口名)。WMFSDK中有一些相当不错的样本;我相信这里最有趣的是WMSyncReader,它将向您展示如何从位置X开始挖掘WMV文件并获取帧。

尝试了DirectShow.Net,在vista上工作,但在windows 2008上无法工作:(嗯……这听起来很奇怪——在Windows Server 2008上出现故障不应该有什么特别的原因。也许这与它使用的是Windows SDK v6.1而不是6.0(Vista)有关?值得尝试运行本机(C++)该电脑上的SDK示例。您是否检查过其他Server 2008计算机上是否缺少此qedit.dll文件?尝试了DirectShow.Net,可在vista上运行,但无法在windows 2008上运行:(嗯……这听起来很奇怪——在Windows Server 2008上出现故障不应该有什么特别的原因。也许这与它使用的是Windows SDK v6.1而不是6.0(Vista)有关?值得尝试运行本机(C++)那台电脑上的SDK示例。你检查过其他Server 2008机器上是否缺少此qedit.dll文件吗?我认识一个人,他必须从视频中捕获缩略图,并使用FFmpeg,但必须从主干上构建,以获得允许他这样做的最新功能。我不确定从那以后它是否已成为完整版本的一部分。它在或者他真的很好。我知道有人必须从视频中捕获缩略图,他使用FFmpeg,但必须从主干构建最新的功能,使他能够这样做。我不确定从那时起它是否是完整版本的一部分。这对他来说非常有效。