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於浙江杭州

發佈了155 篇原創文章 · 獲贊 1997 · 訪問量 127萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章