你可以使用ffmpeg来创建flash视频的缩略图。
对于.flv文件,您可以使用ffmpeg将视频的某些部分(例如一个帧)转换为图像(序列)。
我通常通过调用Process.Start()
来使用它作为命令行应用程序,但至少有一种.NET包装器(我自己没有测试过):http://www.codeplex.com/ffmpegdotnet
对于.swf文件,我不知道是否有任何方法可以在没有Adobe工具的情况下实现此目的。
对于flv,可以很容易地完成,就像其他人提到的那样...
对于swf,它高度依赖于swf...如果swf的视觉外观是由代码确定的,那么除了在应用程序中嵌入flash播放器并让flash播放器制作快照、将它们编码为JPEG/PNG并使用TCP或LocalConnection发送它们(一种flash<->flash通信连接,也可以与C#一起使用),或者尝试以某种方式抓取其输出缓冲区之外,没有其他方法...第一种可能性应该不超过10-20行actionscript代码...不知道后者...
除此之外,您可以使用外部命令行转换器...网络上有一些浮动...
问候
back2dos
获取图像的唯一方法是使用完整的Flash客户端,开始播放并允许您捕获第一帧。
我会仔细看看flirt(他们实际上有一个渲染PNG的示例)。 也许其他一些Flash库可能会有所帮助(swfdec gnash swift tools gplflash)
Gnash可能是最好的选择,因为它是目前最成熟的项目,但我不知道将其集成到命令行工具或自己的项目中有多容易。
看看this的帖子。它并没有告诉你所有的东西,但我猜它提供了所需的基础工作。你可能需要弄清楚如何从网页中下载的flash-html中获取对象标签。之后,你需要弄清楚何时捕获帧。这是一个漫长的过程。你不需要asp.net部分。只需专注于Windows项目部分。希望这有所帮助。:)