仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1038|回复: 12
打印 上一主题 下一主题

[学习教程] ASP.NET编程:视频转成flv格局仓酷云

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:15:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

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:40 | 只看该作者
但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
山那边是海 该用户已被删除
板凳
发表于 2015-1-22 11:43:46 | 只看该作者
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
莫相离 该用户已被删除
地板
发表于 2015-1-31 06:15:09 | 只看该作者
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
只想知道 该用户已被删除
5#
发表于 2015-2-6 17:04:39 | 只看该作者
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
6#
发表于 2015-2-17 12:58:01 | 只看该作者
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
透明 该用户已被删除
7#
发表于 2015-2-19 00:01:28 | 只看该作者
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
飘飘悠悠 该用户已被删除
8#
发表于 2015-2-20 00:45:31 | 只看该作者
最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。
再见西城 该用户已被删除
9#
 楼主| 发表于 2015-2-22 11:32:22 | 只看该作者
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
愤怒的大鸟 该用户已被删除
10#
发表于 2015-3-7 00:10:02 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
分手快乐 该用户已被删除
11#
发表于 2015-3-11 11:51:14 | 只看该作者
如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。
冷月葬花魂 该用户已被删除
12#
发表于 2015-3-13 01:09:28 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
简单生活 该用户已被删除
13#
发表于 2015-3-20 08:43:25 | 只看该作者
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 00:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表