windows下 webrtc的獲得原始碼和編譯
自己安裝總結:
之前網上的程式碼已經被全刪掉了,會有一個readme
webrtc的下載路徑是
https://chromium.googlesource.com/external/webrtc/
git clone https://chromium.googlesource.com/external/webrtc
1、安裝了svn小烏龜,但是識別不了svn命令 需要安裝 Setup-Subversion-1.6.16.msi,並配置Path
2、depot-tool主要是用裡面的gclient命令,需要安裝python,都需要配置Path
3、MSysGit(git) 是一個git命令 TortoiseGit-2.0.0.0-64bit 是一個GUI介面
WebRTC編譯
本人環境:
作業系統:XP SP3
VS 2008
編譯原始碼之前所需的工具
獲取原始碼工具:
1、 首先需要安裝獲取原始碼的工具SVN(專案程式碼版本管理工具,Google也用這個)
TortoiseSVN 1.6.12
2、下載並安裝msysgit和Tortoisegit
msysgit:http://code.google.com/p/msysgit/downloads/list
選擇Git-1.7.4-preview20110204.exe,下載並安裝
Tortoisegit:http://code.google.com/p/tortoisegit/downloads/list
選擇適合自己系統的版本,下載並安裝(注:Tortoisegit只是一個gui,必須安裝msysgit)
Tortoisegit安裝時會找到git目錄並自動配置好。
把msysgit中bin目錄手動新增到系統環境變數PATH中,比如我的目錄是“D:/ProgramFiles/Git/bin”
3. 下載並安裝Python,建議安裝Python2.6,比如安裝在C盤
安裝將C:\Python26執行目錄自動被新增入系統環境變數PATH中。
(WebRTC是用C++寫的為什麼要用到Python,因為WebRTC原始碼和depot_tools裡面有很多.py的Python程式,用於配置專案,生成各種環境下的工程檔案)
官方要求說明:
1、 Depot Tools
1. You'll need to have the depot tools installed:
https://sites.google.com/a/chromium.org/dev/developers/how-tos/depottools
2. You need git installed (needed for getting WebM source):
http://git-scm.com/
/*====================================================*/
好了,外部工具準備得差不多了
4. 下載並配置depot_tools
很多人都建議建立一個存放depot_tools的目錄,command進入該目錄
這在Linux下面應該是要這樣做的,不過在Windows系統下,我覺得這樣做更方便一點:
推薦操作:
由於之前安裝了SVN、Git等工具,所以我們可以直接這樣取depot_tools工具:
回到桌面,右擊
直接選擇SVN Checkout
將 http://src.chromium.org/svn/trunk/tools/depot_tools 填到URL of respository去,Checkout directory可以自己隨便指定你要存檔的路徑(建議存在不要有中文的路徑,因為一會要新增到系統的PATH的),其他預設,然後點選OK,自動下載,就可以拿到depot_tools工具了。
重頭戲來了!獲取WebRTC原始碼:
原始碼網址為 http://webrtc.googlecode.com/svn/trunk/
5. 為了把原始碼抓下來,可以建立一個WebRTC的原始碼目錄
比如D:\WebRTC
一般操作:(不推薦)
用DOS命令進入該目錄,然後
下載完成後, WebRTC下會得到一個預設名為trunk的資料夾,裡頭就是WebRTC原始碼了,只是原始碼而已,並沒有編譯的相應工程檔案。
然後
>gclient sync --force (同步專案檔案)
> gclient runhooks --force (生產各種專案檔案,像VS專案檔案webrtc.sln檔案,Linux的MakeFile檔案)
等等…可是我發現很多嘗試編譯WebRTC的同學在DOS命令進入操作就出現了各種問題了、、、
比如:Installing subversion ...
[-] XMLHTTP 80072ee2: Cannot make HTTP request (操作超時
... Failed to checkout svn automatically.
Please visit http://subversion.tigris.org to download the latestsubversion clie
nt
before continuing.(這個是網路連線問題,多試幾次)
F:\WEBRTC\webrtc>gclient.bat confighttps://webrtc.googlecode.com/svn/trunk
Installing python ...(這個是配置問題)
等等令人抓狂的問題。本來我們已經安裝好了python、SVN了,怎麼還需要Installing呢、、、而且會讓你等很久,鬱悶吧!
推薦操作:
但是我這樣做更好:
選擇WebRTC資料夾,右擊->
然後選擇Git Bash,然後就直接進入該目錄了:(如下圖)
OK了,是時候獲取WebRTC原始碼來生產工程了(如果單純是為了獲取WebRTC原始碼,完全可以按照獲取depot_tools那樣來操作,但是我們還要獲取完原始碼後需要生產工程檔案的)
第三步,與Google同步專案檔案,獲取最新工程:gclient sync --force
第四步,生產各平臺的專案檔案:gclient runhooks --force
注意:在第四步之前,如果在Windows平臺下,需要安裝Windows的DirectX SDK和SDK 7.1
下載地址:
SDK 7.1:
DirectX SDK:
再注意:
安裝SDK 7.1的時候,一定要注意SDK 7.1的安裝路徑,因為在WebRTC專案在配置中有規定,配置檔案在.. .\trunk\src\build 名為common.gypi 的檔案
如圖:
就是說Google預設SDK 7.1安裝在C盤下,如果同學你不想安裝在C盤下,那麼就要修改一下這個配置檔案了,不然的話,執行第四步的時候就會出現各種warning問題的。
如果不想安裝SDK,可以從這裡下所依賴的檔案:
svn co http://vsfiltermod.googlecode.com/svn/trunk/src/BaseClasses,然後把檔案放置在這個路徑:C:/ProgramFiles/Microsoft SDKs/Windows/v7.1/Samples/multimedia/directshow/baseclasses
如果你順利完成以上四步的話,而且在第四步的時候沒有出現什麼問題的話,那麼恭喜你,就可以在trunk目錄下看到Windows系統平臺下的webrtc.sln專案工程檔案了。Linux的專案檔案在trunk\build的install-build-deps.sh指令碼。還有Mac OS和Android等等。。。
Linux平臺需要安裝的東西更多:
g++ (>= 4.2)
python (>= 2.4)
libasound2-dev
libpulse-dev
libjpeg62-dev
libxv-dev
libgtk2.0-dev
libexpat1-dev
For 32-bit builds on a 64-bit system:
lib32asound2-dev
ia32-libs
好了,本人是在VS 2008上研究的,開啟webrtc.sln,然後生成解決方案,目前為止已經解決方案裡有122個專案,音訊引擎,視訊引擎,還有很多測試程式碼,視訊聊天測試,API測試,自動測試,VP8和H.264編碼測試,聲音測試,通道測試、、、等等,全部生成完成大概半個小時左右。。。、、、OK,Enjoy!
編譯時要注意,解決方案的配置:
保證有如下配置:包含檔案 DirectX SDK\Include和$(WindowsSdkDir)\include
庫檔案:DirectX SDK\Lib\x86 DirectX SDK\Lib SDKs\Windows\v7.1\Lib