Live555研究之一 原始碼編譯,live555原始碼編譯

來源:互聯網
上載者:User

Live555研究之一 原始碼編譯,live555原始碼編譯
                                            Live555研究之一 原始碼編譯

       Live555 是一個為流媒體提供解決方案的跨平台的C++開源項目,它實現了對標準流媒體傳輸協議如RTP/RTCP、RTSP、SIP等的支援。Live555實現了對多種音視頻編碼格式的音視頻資料的流化、接收和處理等支援,包括MPEG、H.263+、DV、JPEG視頻和多種音頻編碼。同時由於良好的設計,Live555非常容易擴充對其他格式的支援。目前,Live555已經被用於多款播放器的流媒體播放功能的實現,如VLC(VideoLan)、MPlayer。

     從今天開始我們將一起學習live555源碼,第一步就是學習編譯live555源碼。雖然網上有不少已經配置好的工程,但自己動手編譯卻有另外一番樂趣。

  Live555原始碼包括四個基本的庫,分別是UsageEnvironmentr、groupsock、liveMedia、BasicUsageEnvironment。Media Server(伺服器程式)和各種測試代碼。
  
本文使用vc2010編譯環境。

一、獲得live555源碼
    1. live555官網http://www.live555.com/
    2. 從csdn下載獲得http://download.csdn.net/detail/ithzhang/7654535。

    解壓後的源碼如所示:

             


     包括上述四個庫和mediaServer伺服器程式,以及其他的測試代碼。

二、建立工程

     1. 開啟vc2010,建立win32控制台應用程式,項目名稱為BasicUsageEnvironment,指定新解決方案的位置,解決方案名稱live555,如:


      2.點擊確定,在此後的下一步配置中,按配置:
             

      3.添加建立項目,選擇win32控制台項目,項目名稱為UsageEnvironment。
 

         

      4.點擊確定和下一步後,按配置

           

       5. 重複3的步驟,添加groupsock 、liveMedia項目。

       6. 添加mediaServer工程,並按如下配置:

             


         7. 五個工程均建立完畢,添加後的解決方案結構圖如下:
                                       

三、將源檔案加入工程

     1. 開啟源碼目錄,將BasicUsageEnvironment、UsageEnvironment、groupsock、mediaServer、liveMedia目錄下的include目錄和cpp檔案拷貝到上述建立的對應的工程目錄下。BasicUsageEnvironment拷貝後的效果如:

           
       2、接著就是將這些檔案添加進對應項目,將每個工程下的cpp添加到源檔案篩選器下,標頭檔則添加到標頭檔篩選器下。添加後工程結構圖:
                                          


         3.添加依賴標頭檔

      方法一、把該項目需要的其他庫的標頭檔拷貝到該工程的include目錄下。
      方法二、在屬性->C/C++->常規->附加元件封裝含目錄填寫需要包含的標頭檔路徑(推薦)
..\BasicUsageEnvironment\include..\groupsock\include..\liveMedia\include..\UsageEnvironment\include

      

BasicUsageEnvironment添加後效果如:

     

      添加完畢後,即可編譯產生對應lib。

     4. 為MediaServer添加依賴庫。
        MediaServer需要依賴上述工程產生的lib,所以需要將以上產生的lib拷貝到MediaServer工程目錄下。有種方式:
       一、使用#pragma
         在MediaServer的ive555MediaServer.cpp添加如下代碼:

#pragma comment (lib, "Ws2_32.lib") #pragma comment (lib, "BasicUsageEnvironment.lib")#pragma comment (lib, "groupsock.lib")#pragma comment (lib, "liveMedia.lib")#pragma comment (lib, "UsageEnvironment.lib")

    

     二、項目->屬性->配置屬性->連接器->輸入->附加依賴項

UsageEnvironment.lib;liveMedia.lib;groupsock.lib;BasicUsageEnvironment.lib;Ws2_32.lib

此後即可成功編譯並產生MediaServer.exe。

      運行後的效果如:

            


5. 使用VLC測試LIVE555伺服器。
    此時RTSP伺服器已經開始運行,等待來自用戶端的請求。可以使用VLC作為用戶端進行測試。
     一、準備一個錄影檔案, 如aa.264,放在MediaServer.exe同一目錄。(沒有錄影檔案,點此處)。

     二、 開啟網路串流,輸入本機ip+錄影檔案名稱。如rtsp://192.168.0.106/aa.264

          

     三、播放效果
       

     配置好的vc2010工程請點擊此處下載。


                                                                     2014、7、20於浙江杭州


最近學習流媒體伺服器,下了個LIVE555的源碼,在WINDOWS下調試成功,但是播放不了媒體檔案

你可以找一下相關的論壇,最好是那種人氣比較高的論壇,註冊會員,發帖求助,會有高手幫你的。
 
錯誤提示

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.