MVC3.0视频点播及上传格式转化

在MVC3.0中播放视频文件需要做一下配置:具体配置如下

View Code
1 < div class = " vidoplay " >
2 < div >
3 < object classid = " clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 " codebase = " http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0 " (提示电脑安装Adobe软件)
4 width = " 400 " height = " 400 " >
5 < param name = " movie " value = " http://www.cnblogs.com/Content/Video/Flvplayer.swf " /> (使用Flvplay播放器,此次是存放在程式中的路径)
6 < param name = " quality " value = " high " /> (高品质视频)
7 < param name = " allowFullScreen " value = " true " /> (支持全屏)
8 < param name = " FlashVars " value = " 读取的视频文件 " />
9 上面在IE下没问题,针对firefox采用下面的方式
10 < embed src = " http://www.cnblogs.com/Content/Video/Flvplayer.swf " allowfullscreen = " true "
11 flashvars = " 读取的视频文件 " quality = " high "
12 pluginspage = " http://www.macromedia.com/go/getflashplayer " type = " application/x-shockwave-flash "
13 width = " 400 " height = " 400 " ></ embed >
14 </ object >
15 </ div >
16 </ div >

 除此之外,还需要一些样式文件。同事在网上选了很多个,最终测试后选择这个,感谢同事!

视频点播的时候,我们从服务器上获取点播的视频,此时格式是.flv的。所以在上传视频的时候
   我们需要进行视频转化。推荐使用两个转换器:
  第一个:FLV视频转换 - ffmpeg.exe

    源于Linux的工具软件ffmpeg可以轻易地实现FLV向其它格式(avi(mpeg4)、asf、mpeg)的转换或者将其它格式转换为flv。注意:该转换器不支持 "wmv", "rm", "rmvb"格式的转化,但我们可以使

用第二个转化器,即:  

  第二个:mencoder.exe 被称为:”全能编码器“
 
  两者使用方法相同:

首先:引用相应的命名空间 using System.Diagnostics;(管理系统进程,事务日志等功能)
 
  其次:

转化 Code
 1 string ffmpegPath //ffmpeg.exe文件所在位置
2 string mencoderPath = //mencoder.exe文件所在位置
3
4 public static string upFile = 上传的视频文件
5 public static string imgFile = 抓张图片,显示在视频
6 public static string playFile = 转化后的文件,即:播放文件
7
8 (可以限制一下视频文件大小)
9
10 //根据不同类型的文件进行不同的转换
11
12 if (!fileName.ToUpper().EndsWith(".FLV"))
13
14 {
15 if (fileName.ToUpper().EndsWith(".WMV")) //利用mencoder.exe将wmv文件转换成flv文件
16 {
17 System.Diagnostics.ProcessStartInfo FilestartInfo= new System.Diagnostics.ProcessStartInfo(mencoderPath, argu);
18 startInfo.WindowStyle = ProcessWindowStyle.Hidden;
19
20 System.Diagnostics.Process.Start(FilestartInfo);
21 CatchImg(fileName, imgFile);//抓张图片 (另写个方法)
22 }
23
24 if (fileName.ToUpper().EndsWith(".AVI")) //利用ffmpeg.exe将avi文件转换成flv文件
25 {
26 System.Diagnostics.ProcessStartInfo FilestartInfo= new System.Diagnostics.ProcessStartInfo(ffmpegPath, argu);
27 startInfo.WindowStyle = ProcessWindowStyle.Hidden;
28
29 System.Diagnostics.Process.Start(FilestartInfo);
30 CatchImg(fileName, imgFile);//抓张图片 (另写个方法)
31 }
32 }

最后:将转化后的保存到服务器。

你可能感兴趣的:(mvc)