zoukankan      html  css  js  c++  java
  • ffmpeg.exe的使用

           

            ffmpeg.exe是一个源于Linux的工具软件,是FLV视频转换器,可以轻易地实现FLV向其它格式avi、asf、 mpeg的转换或者将其它格式转换为flv。

            视频转码(Video Transcoding)是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。转码本质上是一个先解码,再编码的过程,因此转换前后的码流可能遵循相同的视频编码标准,也可能不遵循相同的视频编码标准。

             从上传视频到用户能看到上传的视频为止,它需要在服务器内部经历复杂的过程,下图就是一段视频在服务器内部挣扎的过程:

           

         一般我们在使用此项技术(要引入ffmpeg文件)的时候,通常另配置一台视频转码的服务器,我们就从上传视频开始来模拟它在服务器内部的处理过程:

    一、用户上传视频文件:Asp.net为了防止过大的http恶意请求阻塞网站,限定了每次上传文件最大4M,如果上传的文件不大,则先把它保存在内存中,如果文件过大,就会保存在磁盘中。为了保证安全,我们可以只对上传的ashx文件夹添加独立的web.config。其配置如下:

    <system.web>

    <HttpRuntime  maxRequestLength="204800"  requestLengthDiskThreshold="1024"/>

    </system.web>

           首先,我们需要上传视频,视频上传前台代码部分如下:

         

    视频上传到服务器的代码如下:

     

     视频上传成功之后,会将上传视频的内容保存在数据库中,并将它的状态信息设置为“已经上传到服务器上”另外会将它的信息通

    过url传参的形式上传到解码服务器上,视频在解码服务器上的处理过程如下:

      

                          由于会经常有视频文件进行上传,我们的服务器需要不停的判断是否有新的视频进行转码操作,所以我们可以通过采用网站应

                          用程序启动的时候调用启动线程的方法。在Global.asax.cs文件的Application_Start方法下启动线程,启动方式为

                          ConverterMgr.Instance.Start();

                          将视频文件进行转码之后,将数据库中的视频的状态更新为"转换完成”,将转码视频文件的信息回交给原来的服务器,也是通

                          过url传参的形式,在一般程序中进行处理,原因是一般处理程序不走页面生命周期,执行效率高。

      

                      接收到内容以后,我们可以使用Dreamweaver CS3插入flash文件(这样做比在.aspx文件中做要简单),播放文件,后台代码

                      为:

                        

               我们从网站上看到的视频就可以这样来做了。

         

  • 相关阅读:
    POJ 1873 计算几何
    POJ 1584 计算几何
    POJ 1410 计算几何
    BZOJ 1208 set
    BZOJ 1503 splay
    BZOJ 5277 IQ题orz
    Codeforces Round #549 (Div. 2)A. The Doors
    (原创)同余定理
    April Fools Day Contest 2019 A. Thanos Sort
    PTA数据结构之 List Leaves
  • 原文地址:https://www.cnblogs.com/hanwenhuazuibang/p/3013515.html
Copyright © 2011-2022 走看看