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文件中做要簡單),播放文件,后台代碼

                  為:

                    

           我們從網站上看到的視頻就可以這樣來做了。

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM