我正在寻找一种在ASP.NET中抓取FLV缩略图的简单方法,而无需更改服务器上的任何权限/设置。理想情况下,服务器计算机上没有安装任何内容,但如果需要,可以使用FFmpeg等小工具。
我已经尝试使用带有Process.Start的命令行工具FFmpeg,但是在Windows窗体应用程序和命令提示符下工作的相同命令在ASP.NET中不起作用(可能是因为权限)。
我也尝试过使用TAO.FFmpeg,它似乎大部分时间都在工作,但随机失败,并且在机器重启之前不会再次开始工作。即使我使用示例代码(decoder.cs),当我尝试在单个请求中打开多个视频时,它有时会失败。
如果不能以干净/直接的方式进行,我会接受其他建议。
答案 0 :(得分:1)
如果您可以在页面上嵌入Flash,显示FLV缩略图的最简单方法是将视频对象放在舞台上,通过动作脚本中的NetStream将视频附加到其中,然后放入事件处理程序在开始播放后立即暂停移动。
例如,如果您在舞台上有一个名为“myVideo”的视频对象,并且您尝试显示“someVideo.flv”的缩略图,请尝试使用此动作脚本(2.0)代码,
var connection_nc:NetConnection = new NetConnection(); connection_nc.connect(null); var stream_ns:NetStream = new NetStream(connection_nc); myVideo.attachVideo(stream_ns); stream_ns.play("someVideo.flv"); stream_ns.seek(0); stream_ns.onStatus = function(info) { if(info.code = "NetStream.Play.Start") { stream_ns.pause(); } }
就ASPX与Flash交谈而言,您可以通过FlashVars将FLV视频名称传递给Flash,以便您的SWF知道要显示的缩略图。
答案 1 :(得分:0)