// 參考1內容
最近加入了公司的C++視頻小組,利用中秋這個假期將研究了一些live555的源碼,現在先將如何編譯使用vs2010編譯live555,整理出來,對以後分析代碼有很大幫助。
1.下載live555源碼,下載地址:http://www.live555.com/liveMedia/public/live555-latest.tar.gz
2.live55簡介
Live555 是一個爲流媒體提供解決方案的跨平臺的C++開源項目,它實現了對標準流媒體傳輸協議如RTP/RTCP、RTSP、SIP等的支持。Live555實現了對多種音視頻編碼格式的音視頻數據的流化、接收和處理等支持,包括MPEG、H.263+、DV、JPEG視頻和多種音頻編碼。同時由於良好的設計,Live555非常容易擴展對其他格式的支持。目前,Live555已經被用於多款播放器的流媒體播放功能的實現,如VLC(VideoLan)、MPlayer。
3.live555 vs2010編譯
1)lib文件生成
- 新建解決方案Zhllive555,同時在解決方案下分別新建Visual C++ Empty Project,它們爲:BasicUsageEnvironment、groupsock、liveMedia、UsageEnvironment工程。如下圖:
- 修改工程屬性,將工程修改爲lib工程,如下圖:
- 將下載下來的live源碼中的include文件以及.cpp文件拷貝到對應工程目錄下面,並且設置每個工程的vc++目錄,如下圖:
BasicUsageEnviroment除了需要引入自己的include文件夾下的文件外,同時還需要引入groupsock、UsageEnvironment文件夾下的include文件。
groupsock需要引入的文件爲:自己include下的文件,BasicUsageEnvironment、UsageEnvironment文件夾下的include文件。
liveMedia需要引入的文件爲:自己include下的文件,BasicUsageEnvironment、groupsock、UsageEnvironment文件夾下的include文件。
UsageEnvironment需要引入的文件爲:自己include下的文件,BasicUsageEnvironment、groupsock文件夾下的include文件。
- 將.cpp文件引入工程
- 編譯解決方案,會在outFile下生成BasicUsageEnvironment.lib、groupsock.lib、liveMedia.lib、UsageEnvironment.lib四個文件
- 新建Empty Project,名稱爲mediaServer
工程整體如下圖:
- 修改mediaServer配置,添加C/C++ include Directories
- 添加工程需要支持的lib文件,首先將lib文件拷貝到..\Debug文件夾下,然後修改mediaServer工程屬性Linker,如圖:
- 設mediaServer爲啓動工程,運行即可,如下圖:
// 參考2內容
運行測試程序mediaServer 在mediaServer.exe的目錄加入一個視頻文件test.ts,雙擊運行mediaServer.exe。
使用VLC客戶端,打開網絡串流:rtsp://127.0.0.1:554/test.ts,即可觀看視頻。
參考:
1. http://blog.csdn.net/fengshuiyue/article/details/11873843
2. http://blog.csdn.net/dgyanyong/article/details/41695503