码迷,mamicode.com
首页 > Web开发 > 详细

asp.net中使用ffmpeg

时间:2015-05-18 20:19:45      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

protected void Button1_Click(object sender, EventArgs e)
{
    string FFmpegArguments = @" -i D:\离歌.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 D:\离歌.flv ";
    //ProcessStartInfo info = new ProcessStartInfo("D:/ffmpeg/ffmpeg", FFmpegArguments);
    //Process.Start(info);

    Process p = new Process(); //Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:
    p.StartInfo.FileName = "D:/ffmpeg/ffmpeg.exe";//設定程序名
    p.StartInfo.Arguments = FFmpegArguments;    //設定程式執行參數
    p.StartInfo.UseShellExecute = false;        //關閉Shell的使用
    p.StartInfo.RedirectStandardInput = true;   //重定向標準輸入
    p.StartInfo.RedirectStandardOutput = true;  //重定向標準輸出
    p.StartInfo.RedirectStandardError = true;   //重定向錯誤輸出
    p.StartInfo.CreateNoWindow = true;          //設置不顯示窗口
    p.Start();                                  //啟動
    //p.StandardInput.WriteLine(FFmpegArguments);//也可以用這種方式輸入要執行的命令
    //p.StandardInput.WriteLine("exit");         //不過要記得加上Exit要不然下一行程式執行的時候會當機
}

/// 视频(avi,mov等等格式)转换为flv格式视频
/// </summary>
/// <param name="FromName">被转换的视频文件</param>
/// <param name="ExportName">转换flv后的文件名</param>
/// <param name="ExportName">视频大小的尺寸</param>
/// <returns></returns>
public string VideoConvertFlv(string FromName,string ExportName,string WidthAndHeight)
{
    string ffmpeg=@"D:\ffmpeg\ffmpeg.exe";
    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(ffmpeg);
    startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    //startInfo.Arguments = " -i " + Server.MapPath(FromName) + " -ab 56 -ar 22050 -b 500 -r 15 -s "+WidthAndHeight+" "+Server.MapPath(ExportName);
    startInfo.Arguments = " -i " + FromName + " -ab 56 -ar 22050 -b 500 -r 15 -s " + WidthAndHeight + " " + ExportName;
    try 
    {
        System.Diagnostics.Process.Start(startInfo);
        return ExportName;
    }
    catch(Exception err)
    {
        return err.Message;
    }
}

/// <summary>
/// 从视频画面中截取一帧画面为图片
/// </summary>
/// <param name="VideoName">视频文件pic/guiyu.mov</param>
/// <param name="WidthAndHeight">图片的尺寸如:240*180</param>
/// <param name="CutTimeFrame">开始截取的时间如:"1"</param>
/// <returns></returns>
public string GetPicFromVideo(string VideoName,string WidthAndHeight,string CutTimeFrame)
{
    
    string ffmpeg=@"C:Inetpubwwwrootdemopic fmpeg.exe";
    string PicName =Server.MapPath(Guid.NewGuid().ToString().Replace("-","")+".jpg");
    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(ffmpeg);
    startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
    startInfo.Arguments = " -i " + Server.MapPath(VideoName) + " -y -f image2 -ss "+CutTimeFrame+" -t 0.001 -s " + WidthAndHeight + " " + PicName ;
    try 
    {
        System.Diagnostics.Process.Start(startInfo);
        return PicName;
    }
    catch(Exception err)
    {
        return err.Message;
    }        
}

 

asp.net中使用ffmpeg

标签:

原文地址:http://www.cnblogs.com/superfeeling/p/4512849.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!