private void testfn() // 压缩视频
        {
            string file_name = 视频文件路径;
            string command_line = " -i " + file_name + " -vcodec` libx264 -cqp 25 -y " + file_name.Replace(".avi", "_264") + ".avi";
            System.Diagnostics.Process proc = new System.Diagnostics.Process();
            proc.StartInfo.WorkingDirectory = Application.StartupPath;
            proc.StartInfo.UseShellExecute = false; //use false if you want to hide the window
            proc.StartInfo.CreateNoWindow = true;
            proc.StartInfo.FileName = "ffmpeg";
            proc.StartInfo.Arguments = command_line;
            proc.Start();
            proc.WaitForExit();
            proc.Close();            // 删除原始avi文件
            FileInfo file = new FileInfo(file_name);
            if (file.Exists)
            {
                try
                {
                    file.Delete(); //删除单个文件
                }
                catch(Exception e) {
                   MessageBox.Show("删除视频文件“"+file_name+"”出错!"+e.Message);
                }
            }
            //myThread.Abort();
        }
这是我在网上找的一个压缩视频的例子,windowForm的,运行没有出错,可是看不到什么效果,除了删除了我的视频外,请高手给看下这是什么问题,说说怎么判断压缩是否成功。

解决方案 »

  1.   

    就是说你是用ffmpeg来做视频压缩。
    最好是,你能了解下ffmpeg,再使用ffmpeg的代码自己写个程序。
    这种利用别人的软件做处理的东西,写出来也不会太好用的。
    如果只是做压缩,也不一定非要使用ffmpeg的。
    网上有其他的编码(压缩)器,可以使用这些编码器进行压缩的。
    不过都是要花时间研究,写代码的。
    不是这么简单就可以的。当然,效果也要好很多的。
      

  2.   

    代码是正确,就是没下载一个ffmpeg安装一下....可能还要把ffmpeg文件复制到程序目录下