WebRTC編譯具體介紹

來源:互聯網
上載者:User

標籤:mat   normal   XML   點擊   epo   sync   手動   csdn   time   


WebRTC編譯具體介紹--記錄+轉載

原文地址:http://blog.csdn.net/temotemo/article/details/7056581


WebRTC編譯

本人環境:

作業系統:XP SP3

VS 2013



編譯原始碼之前所需的工具


擷取原始碼工具:

1、 首先須要安裝擷取原始碼的工具SVN(項目代碼版本號碼管理工具,Google也用這個)

TortoiseSVN 1.6.12

http://sourceforge.net/projects/tortoisesvn/

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程式。用於設定項目。產生各種環境下的project檔案)

 

官方要求說明:

http://www.webrtc.org/reference/getting-started/prerequisite-sw

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進入該檔案夾

svn co http://src.chromium.org/svn/trunk/tools/depot_tools

這在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命令進入該檔案夾,然後

svn checkout http://webrtc.googlecode.com/svn/trunk/

下載完畢後。 WebRTC下會得到一個預設名為trunk的檔案夾,裡頭就是WebRTC原始碼了。僅僅是原始碼而已,並沒有編譯的對應project檔案。

然後

>gclient config https://webrtc.googlecode.com/svn/trunk     (要下載1個多G的檔案,網速不好的。能夠去玩一盤dota回來)

>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原始碼來生產project了(假設單純是為了擷取WebRTC原始碼,全然能夠依照擷取depot_tools那樣來操作。可是我們還要擷取完原始碼後須要生產project檔案的)

第一步,拿原始碼:svn checkout http://webrtc.googlecode.com/svn/trunk/   (源檔案不是非常大,幾十M)

第二步,拿項目project相關設定檔:gclient config https://webrtc.googlecode.com/svn/trunk    (檔案非常大,1G多,要等非常久哦)

第三步,與Google同步專案檔,擷取最新project:gclient sync --force

第四步。生產各平台的專案檔:gclient runhooks --force

注意:在第四步之前。假設在Windows平台下。須要安裝Windows的DirectX SDK和SDK 7.1

SDK 7.1:

http://www.microsoft.com/download/en/details.aspx?

displaylang=en&id=8279

DirectX SDK:

       

displaylang=en&id=6812">http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6812

再注意:

安裝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項目project檔案了。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




以後有時間再和大家分享這些測試。

??

WebRTC編譯具體介紹

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.