.Net 玩视频

简介:

由于平台的特点 用.net做视频网站的不多 作为兴趣研究下


背景

经常上土豆 youku的朋友可能会发现播放的视频格式大多是flv格式的 那么我们先来扫盲下flv

FLV 是FLASH VIDEO的简称,FLV流媒体格式是随着Flash MX的推出发展而来的视频格式。由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等缺点。

更多参考百科 http://baike.baidu.com/view/364757.htm

但是用户手上的资源未必都是flv格式,所以需要格式转换。这里介绍2款工具

FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。

更多参考百科 http://baike.baidu.com/view/856526.htm

mencoder 是一款命令行方式的视频处理软件,mencoder支持几乎所有的格式的视频转换,可以将任意格式转换到任意格式,转换功能可以说是相当强大。目前市面上流行的格式转换器,都是基于mencoder开发的GUI,比如暴风转码,格式工厂等。可以说转换器能办到的,mencoder都能办到,但mencoder能办到的,转换器就不一定能办到了。

更多参考百科 http://baike.baidu.com/view/3353694.htm

不过FFmpeg和在mencoder在应用领域还是有些区别

网摘:

1,在实际的使用当中,ffmpeg 在 Redhat与Suse Linux 下面都运行正常,但是我在Suse Linux 10 上面压缩rm与 rmvb 视频时,压出来的片子声音不正常。在其他参数都完全一样的情况下使用Redhat 压缩,居然是正常的。看来 Suse 对企业应用比较好,但是对多媒体的应用(偏向个人方面)还是 Redhat 比较好一些。
2,ffmpeg 也可以压缩视频,不过,效果可是比mencoder 差好些。所以,基本上我只使用 ffmpeg 来抓取视频中的图片。可以使用 ffmpeg-php 这个开源项目程序来抓取任何一帧的图片,这样,我们就可以很方便地大致了解这个视频的内容了。
3,ffmpeg 压缩一个 wmv 文件,可能使用不到一分钟,但是 mencoder 却压缩了好几分钟,由于 mencoder 需要计算更多东西,所以,需要花更多的时间。
4,mencoder 支持的视频格式非常多,如常见的 wmv,avi,mpg,rm,rmvb,mov,3gp,mp4 等,大约有上百种,不过,我还无法一一测试,估计也是没有问题的。而ffmpeg 不支持 rm与rmvb 格式。
5,做为视频压缩,对机器的要求是比较高的,对系统资源的占用比较大,主要是对CPU与磁盘IO要求高。前两天压缩一个视频,使用 宝德 PR2700D 用了4分钟,使用宝德 PR4800 用了12分钟,使用一台 Dell 2950 上面的 Vmware 虚拟机使用了大约8分钟。综合来看,最好是CPU强一些,内存不要小于2GB,磁盘的IO要快一些。


实践

上述2款工具都有对应的win平台版本 那么我们只需要用.net启动软件进程就可以了 很简单 需要花功夫的是对工具各种复杂参数的把握

先上个简单的demo

我们选举一个很简单的视频 windows自带的示例视频 可以在目录C:\WINDOWS\clock.avi找到


每秒换一个数字

ffmpeg 压缩一个 视频 文件,可能使用不到一分钟,但是 mencoder 却压缩了好几分钟,由于 mencoder 需要计算更多东西,所以,需要花更多的时间。ffmpeg 也可以压缩视频,不过,效果可是比mencoder 差好些。并且ffmpeg对","wmv", "rmvb", "rm" 的效果不是很好,所以考虑的性能以及功能,"asf", "avi", "mpg", "3gp", "mov" 类型和截图功能使用ffmepg,"wmv", "rmvb", "rm"类型使用mencoder实现

所以我们这里用ffmpeg来转换

到输出目录中确认下我们转换的视频是否可用

我们再试试截图功能

我们截取2秒后和4秒后的 按照视频进度 应该截取到3和5 这2个数字

OK 貌似很顺利

下面给出具体的参数配置

ffmpeng

 Mencoder 参考http://www.ylmf.net/ubuntu/qa/2010122918996.html


 

附demo 随笔之作 不工整比较丑陋就不直接贴项目了 未加密 有兴趣的同学直接反编译看吧

demo下载 http://files.cnblogs.com/dubing/MaoyaVideo.rar

ffmpeng和mencoder的工具在网上搜一下 然后按照程序里的目录存放就可以了 



本文转自 熬夜的虫子  51CTO博客,原文链接:http://blog.51cto.com/dubing/796592

相关文章
|
4月前
|
SQL 数据库 开发工具
“.NET视频总结:认识框架的结构和组件,掌握开发工具的奥妙“
“.NET视频总结:认识框架的结构和组件,掌握开发工具的奥妙“
56 0
|
存储 开发框架 缓存
【浅谈ASP.NET】——视频总结
【浅谈ASP.NET】——视频总结
103 0
【浅谈ASP.NET】——视频总结
|
数据库
VB.net视频总结二
VB.net视频总结二
81 0
VB.net视频总结二
|
开发框架 .NET Linux
.NET Core跨平台开发BBS论坛(内涵源码+完整操作视频)
今天我们谈谈论坛,和如何利用.NET Core跨平台开发BBS。 在互联网刚刚兴起的年代,BBS是重要的娱乐与信息来源。而随着移动互联网兴起,传统PC产物逐渐没落,许多产品都相继的夭折。 曾经火爆全网的天涯,网易论坛,甚至是猫扑也在今年4月20日关贴了。 论坛的传统形态BBS虽然没落了,但是在两处领域大放异彩; 一为聚焦细分市场的垂直论坛,以虎扑、汽车之家等为代表。 二是充当商业品牌的后花园,以小米、魅族等新兴互联网企业为代表。说多了,好了,下面就来创建一个自己的BBS吧。
.NET Core跨平台开发BBS论坛(内涵源码+完整操作视频)
一起谈.NET技术,Siverlight与WCF通信之双工netTcp实现视频对话
  效果   先看看效果再说,基本逻辑是两个人通过Silverlight端,借助TCP协议分别向服务器不断传输视频,服务器接收到视频后,会检测这些视频是发给谁的,然后回调某个客户端来接收并显示这些视频。
1058 0
|
Web App开发 移动开发 .NET
一起谈.NET技术,浅谈ASP.NET 4中构造HTML5视频控件
  在本文中,将一步步地指导你如何使用Visual Studio 2010和ASP.NET 4的相关知识,打造一个基于HTML5标准规范的视频播放控件,其中你会学习到一些关于HTML 5的知识,还会学到如何使用ASP.NET 4去打造一个服务端的控件。
1185 0
|
Web App开发 移动开发 .NET
浅谈ASP.NET 4中构造“.NET研究”HTML5视频控件
  在本文中,将一步步地指导你如何使用Visual Studio 2010和ASP.NET 4的相关知识,打造一个基于HTML5标准规范的视频播放控件,其中你会学习到一些关于HTML 5的知识,还会学到如何使用ASP.NET 4去打造一个服务端的控件。
980 0
|
前端开发 .NET 数据库
Asp.NET Core2.0 项目实战入门视频课程_完整版
END OR START? 看到这个标题,你开不开心,激不激动呢? 没错,.net core的入门课程已经完毕了。52ABP.School项目从11月19日,第一章视频的试录制,到今天完整版出炉,离不开各位的帮助和加油。
1996 0
|
程序员
[52ABP实战系列] .NET CORE实战入门视频课程出来啦
早安! 各位道友好,.NET CORE入门视频的第一章已经录制完毕了。视频会放在传课网、网易云课堂及segment fault。 本来想的是第一章合计6个小节就可以播放完毕的,结果因为各种加戏所以添加了很多章节出来。
1385 0