我正在创建一个类似于youtube的网站,因此在将视频(将以.flv格式)上传到项目的文件夹中后,必须从相应的视频中捕获缩略图。 在这里,我正在使用 asp.net 和C#设计我的页面。
我从网上得到了一些代码,但它只能工作 2-3Mb 大小的视频......
任何人都可以帮助我为大文件编写代码。
这是我的代码..
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Text;
using All4DotNet;
namespace LiveStreaming
{
public class Class1
{
public static void GrabSingle_Thumb()
{
//Declare object of class MediaManagerPro
MediaManagerPro oMediaManagerPro = new MediaManagerPro();
//Get the rooth path
string strRootPath = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath);
//set the directory path info for ffmpeg file
oMediaManagerPro.FFMPEG_Path = HttpContext.Current.Server.MapPath("~\ffmpeg\ffmpeg.exe");
//Set source file info
oMediaManagerPro.SourceFile_Path = strRootPath + "Videos";
oMediaManagerPro.SourceFile_Name = "HelloWorld.flv";
//set output file info
oMediaManagerPro.OutputFile_Path = strRootPath + "Images";
//Single Thumb - Properties available in free version
oMediaManagerPro.Frame_Time = "5";
oMediaManagerPro.Image_Format = "jpg";
oMediaManagerPro.Image_Name = "Image_" + DateTime.Now.Ticks;
////Single Thumb - Properties available in full version
//oMediaManagerPro.Width = 320;
//oMediaManagerPro.Height = 240;
//grab thumbnails
MediaInfo oMediaInfo = oMediaManagerPro.Grab_Thumb();
#region Print Output Information
StringBuilder strOutputInfo = new StringBuilder();
strOutputInfo.Append("Image Created = " + oMediaInfo.File_Name + "<br />");
HttpContext.Current.Response.Write(strOutputInfo);
#endregion
}
}
}
我从 http://www.helpprogrammers.com/csharpsample.aspx 那里得到了这个代码
嗯,这似乎是一种选择,它一直有效,FFMPEG 是我们可以依靠的解决方案。您还可以尝试 FFMPEG 的托管版本,该版本也在 codeplex 上,即其 Win-FFMPEG。这可能会有所帮助。