ffmpeg视频转换问题?

时间:2010-11-04 07:37:12

标签: asp.net ffmpeg

我正在使用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;
    }

}

1 个答案:

答案 0 :(得分:0)

如果您提出问题,请明确说明您的问题。

无论如何,我会试着回答:
您不需要在服务器上安装ffmpeg,也许您的代码不正确,或者其他任何东西都可能导致问题。看看我下面的博客文章,也许这可以帮到你。

http://www.arief.me/post/2007/05/06/Upload-and-Convert-Video-to-FLV-using-ASPNET-and-Windows-Service.aspx