铭轩同学

铭轩,为自己代言!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1.项目结构:

 

2.代码:

  

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebFFmpeg
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            string pathString = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
            Process p = new Process();
            p.StartInfo.FileName = pathString + "\\FFmpeg\\ffmpeg.exe";
            p.StartInfo.Arguments = @"-y -r 1 -i " +
                                    pathString + @"FFmpeg\pic\img%2d.jpg -i " +
                                    pathString + @"FFmpeg\music\02.mp3 -s 800x800 -vcodec mpeg4" +
                                    pathString + @"FFmpeg\vedio\out.mp4";
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.Crea teNoWindow = true;
            p.ErrorDataReceived += new DataReceivedEventHandler((s, message) => { Response.Write(message.Data); });//外部程序(这里是FFMPEG)输出流时候产生的事件,这里是把流的处理过程转移到下面的方法中,详细请查阅MSDN
            p.Start();//启动线程
            p.BeginErrorReadLine();//开始异步读取
            p.WaitForExit();//阻塞等待进程结束
            p.Close();//关闭进程
            p.Dispose();//释放资源

            Response.Write("<a href='FFmpeg/vedio/out.mp4'>下载</a>");
        }
    }
}

3.Demo 连接

  http://share.weiyun.com/581ce7da333c175841c90931fdfd1756

 

posted on 2014-10-16 18:14  铭轩同学  阅读(5275)  评论(2编辑  收藏  举报