在不更改服务器权限的情况下在ASP.NET中获取FLV缩略图的简单方法?

时间:2008-10-14 13:28:56

标签: asp.net ffmpeg flv thumbnails tao.ffmpeg

我正在寻找一种在ASP.NET中抓取FLV缩略图的简单方法,而无需更改服务器上的任何权限/设置。理想情况下,服务器计算机上没有安装任何内容,但如果需要,可以使用FFmpeg等小工具。

我已经尝试使用带有Process.Start的命令行工具FFmpeg,但是在Windows窗体应用程序和命令提示符下工作的相同命令在ASP.NET中不起作用(可能是因为权限)。

我也尝试过使用TAO.FFmpeg,它似乎大部分时间都在工作,但随机失败,并且在机器重启之前不会再次开始工作。即使我使用示例代码(decoder.cs),当我尝试在单个请求中打开多个视频时,它有时会失败。

如果不能以干净/直接的方式进行,我会接受其他建议。

2 个答案:

答案 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)

http://www.all4dotnet.com/

尝试Media Manager Pro