我正在使用ffmpeg进行视频转换,它在本地运行良好。但是当我在网上上传网站时,它不会转换视频。它显示操作失败,如果我也在服务器上安装ffmpeg。
public void convertFile()
{
lblStatus.Visible = false;
try
{
int i = sFile.LastIndexOf(".");
thumb = sFile.Remove(i);
thumb = thumb + ".jpg";
video = Page.MapPath("../VideoOut/" + sFile);
Image = Page.MapPath("../VideoSnapShots/" + thumb);
ffmpeg = new Process();
ffmpeg.StartInfo.Arguments = " -i \"" + video + "\" -vframes 1 -ss 00:00:10 -s 150x150 -f image2 -vcodec mjpeg \"" + Image + "\""; // arguments !
ffmpeg.StartInfo.FileName = Page.MapPath("FFMPEG\\ffmpeg.exe");
ffmpeg.Start();
Session["image"] = thumb;
string mpg;
string VideoOut;
int j = sFile.LastIndexOf(".");
mpg = sFile.Remove(j);
mpg = mpg + ".flv";
video = Page.MapPath("../VideoOut/" + sFile);
VideoOut = Page.MapPath("../Videos/" + mpg);
ffmpeg.EnableRaisingEvents = true;
ffmpeg.StartInfo.Arguments = " -i \"" + video + "\" -ar 22050 \"" + VideoOut + "\"";
ffmpeg.StartInfo.FileName = Page.MapPath("FFMPEG\\ffmpeg.exe");
ffmpeg.Start();
ffmpeg.StartInfo.UseShellExecute = false;
ffmpeg.StartInfo.CreateNoWindow = false;
ffmpeg.StartInfo.RedirectStandardError = true;
ffmpeg.StartInfo.RedirectStandardOutput = false;
ffmpeg.WaitForExit();
ffmpeg.Close();
Session["videosrc"] = mpg;
InsertVideo();
File.Delete(video);
}
catch (Exception ex)
{
lblStatus.Visible = true;
lblStatus.Text = ex.Message;
}
}发布于 2010-11-04 15:57:36
如果你问了什么,请把你的问题说清楚。
不管怎样,我会试着回答这个问题:
您不需要在服务器上安装ffmpeg,可能是您的代码不正确,或者是其他原因导致了问题。看看我下面的博客吧,也许这能帮到你。
http://www.arief.me/post/2007/05/06/Upload-and-Convert-Video-to-FLV-using-ASPNET-and-Windows-Service.aspx
https://stackoverflow.com/questions/4094687
复制相似问题