仓酷云

标题: ASP.NET编程:视频转成flv格局仓酷云 [打印本页]

作者: 再见西城    时间: 2015-1-18 11:15
标题: ASP.NET编程:视频转成flv格局仓酷云
net网页编程欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!比来完成了这个小Demo,来分享一下!
下面给了我两地利间,来完成这个小功效
于时我花了半地利间从收集上各处鄱材料,又花了半地利间调试代码,乐成以后,终究有了以下一点的履历之谈:
这里讲一下主要的:
1.用到两个工具,一个是ffmpeg.exe,另外一个是mencoder.exe
ffmpeg最新版本的下载地点:http://ffdshow.faireal.net/mirror/ffmpeg/
Mencoder新版本的下载地点:http://www5.mplayerhq.hu/MPlayer/releases/win32/
这里有一个重点,网上的文章都没讲到,以是形成有些人运转后没反响,缘故原由是下面路径的下载,有良多版本,分歧的版本大概一般参数分歧,而网上的文章所用的参数都是用很早的版本写的,以是会形成运转后因参数毛病而没无效果
复杂处置是:把网上参数在cmd命令行实行一下,这时候命令行会报哪一个参数毛病,把它删了便可!
2.判别处置乐成与失利或是进度是不是完成,从异步猎取的输入信息判别[包含猎取原视频的宽与高]
这里重点在两个托付事务中,概况见以下几行代码
ASP.NET编程:视频转成flv格局仓酷云
登录/注册后可看大图

1
2privatevoidStartProcess(stringtool)
3{
4StartProcess(tool,false);
5}
6privatevoidStartProcess(stringtool,boolonlyCheckInfo)
7{
8System.Diagnostics.Processp=newSystem.Diagnostics.Process();
9p.StartInfo.FileName=tool;
10p.StartInfo.Arguments=commandPara;
11p.StartInfo.UseShellExecute=false;
12p.StartInfo.RedirectStandardInput=true;
13p.StartInfo.RedirectStandardOutput=true;
14p.StartInfo.RedirectStandardError=true;
15p.StartInfo.CreateNoWindow=false;
16p.OutputDataReceived+=newSystem.Diagnostics.DataReceivedEventHandler(p_OutputDataReceived);
17if(onlyCheckInfo)//只检测文件是不是可转换与获到外部宽与高
18{
19p.ErrorDataReceived+=newSystem.Diagnostics.DataReceivedEventHandler(p_CheckInfoDataReceived);
20}
21else
22{
23p.ErrorDataReceived+=newSystem.Diagnostics.DataReceivedEventHandler(p_ErrorDataReceived);
24}
25//入手下手实行
26try
27{
28p.Start();
29p.BeginOutputReadLine();
30p.BeginErrorReadLine();
31p.WaitForExit();
32}
33catch(Exceptionerr)
34{
35Console.WriteLine(err.Message);
36}
37finally
38{
39p.Close();
40}
41}
42voidp_CheckInfoDataReceived(objectsender,System.Diagnostics.DataReceivedEventArgse)
43{
44if(!string.IsNullOrEmpty(e.Data))
45{
46if(e.Data.Contains("Stream")&&e.Data.Contains("Video:"))//设置原视频窗口巨细作为flv视频的宽与高
47{
48Matchmatch=Regex.Match(e.Data,@",(d+)x(d+)");
49if(match!=null)
50{
51videoWidth=match.Groups[1].Value;
52videoHeight=match.Groups[2].Value;
53}
54}
55elseif(e.Data.Contains("couldnotfindcodecparameters"))//ffmpeg转换失利
56{
57isCanChangeToFlv=false;
58Program.SetDataBase(id,1,count+1);
59}
60}
61
62}
63
64voidp_ErrorDataReceived(objectsender,System.Diagnostics.DataReceivedEventArgse)
65{
66if(!string.IsNullOrEmpty(e.Data))
67{
68if(e.Data.Contains("video:")&&e.Data.Contains("muxingoverhead"))//ffmpeg转换完成
69{
70Program.SetDataBase(id,2,count+1);
71Console.WriteLine("转换完成");
72}
73Console.WriteLine(e.Data);
74}
75
76}
77
78voidp_OutputDataReceived(objectsender,System.Diagnostics.DataReceivedEventArgse)
79{
80if(!string.IsNullOrEmpty(e.Data))
81{
82if(e.Data.Contains("Writingindex"))//mencoder转换完成
83{
84Program.SetDataBase(id,2,count+1);
85Console.WriteLine("转换完成");
86}
87//elseif(e.Data.Contains("Exiting"))//mencoder转换失利
88//{
89//Console.WriteLine("转换失利");
90//}
91Console.WriteLine(e.Data);
92}
93}
94
95
本文只讲重点,请分离收集别的文章与本文便可!
你所列的那些其实差不多都可以称为应用服务器(servlet应该说是一种语言更合适)net网页编程是开放的,相同的工具就会有很多公司在做,加上net网页编程已经发展了很多年了,因此这些工具就很多了。他们很多都是类似的。
作者: 海妖    时间: 2015-1-18 16:23
但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
作者: 山那边是海    时间: 2015-1-22 11:43
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
作者: 莫相离    时间: 2015-1-31 06:15
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
作者: 只想知道    时间: 2015-2-6 17:04
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
作者: 仓酷云    时间: 2015-2-17 12:58
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
作者: 透明    时间: 2015-2-19 00:01
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
作者: 飘飘悠悠    时间: 2015-2-20 00:45
最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。
作者: 再见西城    时间: 2015-2-22 11:32
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
作者: 愤怒的大鸟    时间: 2015-3-7 00:10
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
作者: 分手快乐    时间: 2015-3-11 11:51
如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。
作者: 冷月葬花魂    时间: 2015-3-13 01:09
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
作者: 简单生活    时间: 2015-3-20 08:43
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2