有什么方法可以在ASP.NET中从flash电影文件(flv / swf)[NOT FROM A VIDEO File]创建缩略图?任何实施样本?
答案 0 :(得分:4)
您可以使用ffmpeg创建Flash视频的缩略图
答案 1 :(得分:2)
对于.flv,您可以使用ffmpeg将部分视频(例如一帧)转换为图像(序列)
我通过调用Process.Start()
将它用作命令行应用程序,但至少有一个.NET包装器(我自己没有测试过):
http://www.codeplex.com/ffmpegdotnet
对于.swf我不知道如何在没有Adobe工具的情况下实现这一目标。
答案 2 :(得分:1)
对于flv,它可以很容易地完成,正如其他人提到的那样......
对于swf来说,它很大程度上取决于swf ...如果swfs的视觉外观是由代码决定的,除了在你的app中嵌入flash播放器并让flash播放器制作快照,编码时别无他法它们作为JPEG / PNG,并使用TCP或LocalConnection(闪存< - >闪存通信连接,也可以与C#一起使用)将它们发送到某处或尝试以某种方式自己获取其输出缓冲区......第一种可能性应该是不超过10-20行动作代码......不知道后者...
除此之外,您可能会使用外部命令行转换器...网上有一些浮动...
格尔茨
back2dos
答案 3 :(得分:1)
看看这个article,它应该指向正确的方向。它使用SharpFFmpeg从各种格式的影片剪辑中提取缩略图。
答案 4 :(得分:0)
获取图像的唯一方法是使用开始播放的完整Flash客户端,并允许您捕获第一帧。
我会仔细看看flirt(他们实际上有一个渲染png的例子) 也许其他一些Flash库可能会有所帮助(swfdec gnash swift tools gplflash)
Gnash可能是最成熟的项目,因为它是最成熟的项目,但我不知道将它集成到命令行工具或自己的项目中是多么容易。
答案 5 :(得分:0)
我们一直在我的公司工作,我们得到了一个非常快速的概念证明(但我们现在正在暂停的项目)。我无法分享代码,但我可以给你一些指示。
它不是纯粹的ASP.NET,但也许你仍然可以使用它。我们制作了一个可以从ASP.NET调用的Windows服务。
基本上你在服务器上安装flash插件,然后windows服务可以通过swf ActiveX组件简单地打开swf,然后你可以拍摄整个事物的图片。它工作得很好,注意你不必在屏幕上实际渲染ActiveX组件来捕获图片。
答案 6 :(得分:0)
查看this帖子。它没有告诉你一切,但我想它提供了它所需的基础工作。您可能必须弄清楚如何从您尝试从网页下载的flash-html中获取对象标记。之后你必须弄清楚何时捕获帧。然而,它很长。你不需要asp.net部分。只关注windows项目部分。希望这可以帮助。 :)