按时派.NET实现视频转换

 

使用ffmpeg进行视频转换(flv文件)详解

1、从 http://ffdshow.faireal.net/mirror/ffmpeg/ 下载最新版本的 FFMpeg.exe
2、解压缩之后文件夹里有ffplay.exe、ffmpeg.exe和pthreadGC2.dll三个文件,其中ffplay.exe是用于做播放器用的,我们现在只用到ffmpeg.exe和pthreadGC2.dll这两个文件,将这两个文件复制到ffmpeg目录下。
                     
注意:ffmpeg无法解析的文件格式(WMV9,rm,rmvb),可以先用别的工具转换为avi或者mpg格式。

ffmpeg参数设定解说
-bitexact 使用标准比特率
-vcodec xvid 使用xvid压缩
-s 320x240 指定分辨率
-r 29.97 桢速率(可以改,确认非标准桢率会导致音

ASP.net实例:

转换视频:                                           
string strCmd1=Server.MapPath("input/06.asf")+" "+Server.MapPath("output/06.mpg"); //转换成mpg格式
RunFFMpeg(strCmd1);
string strCmd2=Server.MapPath("input/06.asf")+" "+Server.MapPath("output/06.flv"); //转换成flv格式
RunFFMpeg(strCmd2);
视频抓图: 
string strCmd3=Server.MapPath("input/06.asf")+" -y -f image2 -t 0.001 -s 300*200 "+Server.MapPath("output/06.jpg"); //获取静态图
RunFFMpeg(strCmd3);
string strCmd4=Server.MapPath("input/06.asf")+" -vframes 30 -y -f gif "+Server.MapPath("output/06.gif"); //获取动态图
RunFFMpeg(strCmd4);


  //运行FFMpeg的视频解码,
  public void RunFFMpeg(string strCmd)
  {
    //创建并启动一个新进程
    Process p = new Process();
   
    //设置进程启动信息属性StartInfo,这是ProcessStartInfo类,包括了一些属性和方法:
    p.StartInfo.FileName = Server.MapPath("ffmpeg/ffmpeg.exe");          //程序名
    p.StartInfo.Arguments = " -i " + strCmd;    //执行参数
    p.Start();
  }

你可能感兴趣的:(.net,String,image,asp.net,flv,avi)