• 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 }

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

  • 相关阅读:
    Oracle工具的探索之旅(一)
    对ODB管理工具(EM,SQL Plus,Net Manager,Net Configuration Assistant,Administration Assistant for Windows,Database Configuration Assistant......)的简单认识
    偶然发现的VS2010的调试Watch查看也有F11的调试功能
    安装和卸载Oracle 10g数据库
    对Oracle的初步了解
    Oracle工具的探索之旅(二)
    对Oracle的初步认识
    [HDL]4/8/16/32/64位乘法器的设计(转)
    用ASP.NET WebForm的FileUpload控件上传文件
    C#图片和byte[]的互相转换
  • 原文地址:https://www.cnblogs.com/lei2007/p/2096423.html
Copyright © 2020-2023  润新知