码迷,mamicode.com
首页 > Windows程序 > 详细

C#实现 ffmpeg视频转码、播放

时间:2015-10-20 01:13:37      阅读:1168      评论:0      收藏:0      [点我收藏+]

标签:

近来公司项目要求实现全景相机的视频截取,但是截取的视频需求转码上传。经过研究采用ffmpeg转码,奉上一个详细介绍的博文

最简单的基于FFMPEG的转码程序

主要是转码的操作过程,能够实现了从相机获取的MP4转换成普通播放器播放的MP4格式;

 1         //转码方法
 2         private void Test1()
 3         {
 4 
 5             Process p = new Process();
 6             
 7 
 8             p.StartInfo.FileName = path +"ffmpeg.exe";
 9 
10             p.StartInfo.UseShellExecute = false;
11             string srcFileName = "";
12             string destFileName = "";
13             srcFileName = path + "InitVideo1.mp4";
14 
15             destFileName = path + "InitVideo.mp4";
16 
17             p.StartInfo.Arguments = "-i " + srcFileName + " -y  -vcodec h264 -b 500000 " + destFileName;    //执行参数
18 
19             p.StartInfo.UseShellExecute = false;  ////不使用系统外壳程序启动进程
20             p.StartInfo.CreateNoWindow = true;  //不显示dos程序窗口
21 
22             p.StartInfo.RedirectStandardInput = true;
23 
24             p.StartInfo.RedirectStandardOutput = true;
25 
26             p.StartInfo.RedirectStandardError = true;//把外部程序错误输出写到StandardError流中
27 
28             p.ErrorDataReceived += new DataReceivedEventHandler(p_ErrorDataReceived);
29 
30             p.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived);
31 
32             p.StartInfo.UseShellExecute = false;
33 
34             p.Start();
35 
36             p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
37 
38             p.BeginErrorReadLine();//开始异步读取
39 
40 
41 
42             p.WaitForExit();//阻塞等待进程结束
43 
44             p.Close();//关闭进程
45 
46             p.Dispose();//释放资源
47         }

附测试Demo程序:

技术分享

代码下载

C#实现 ffmpeg视频转码、播放

标签:

原文地址:http://www.cnblogs.com/sunrunzhi/p/4893461.html

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