webrtc源碼下載
㈠ webrtc源碼用什麼語言編寫
必須要安裝的軟體如下: SVN,這個是必須的。可以安裝TortoiseSVN,找個合適的版本就可以了。下載地址:http://sourceforge.net/projects/tortoisesvn/。這個軟體等下可以直接需要用到。 安裝msysgit,這也是一定要安裝的,因為等下需要用到。
㈡ 如何獲取 webrtc 特定版本 源碼
必須要安裝的軟體如下:
SVN,這個是必須的。可以安裝TortoiseSVN,找個合適的版本就可以了。下載地址:http://sourceforge.net/projects/tortoisesvn/。這個軟體等下可以直接需要用到。
安裝msysgit,這也是一定要安裝的,因為等下需要用到。下載地址:http://code.google.com/p/msysgit/downloads/list。個人以為這個也是找個合適的版本就可以了,對版本應該沒有要求,我下載的是:1.7.4版本。
也可以再安裝TortoiseGit,下載地址:http://code.google.com/p/tortoisegit/downloads/list。這個應該是可以安裝,也可以不安裝,但如果要安裝的話,一定要安裝msysgit,因為TortoiseGit只是一個Git版本管理的GUI軟體。
安裝python,這個也是必須的,為什麼需要這個呢?因為等下一個下載工具裡面都是python腳本,所以需要這個來執行。下載地址:http://www.python.org/getit/
現在開始准備下載源碼了,下載源碼我是用gclient工具,這是什麼呢?這是在另一個包裡面提供的一個工具,這個包就是depot_tools,所以我們要先下載這個。
一,下載depot_tootls
可以直接用cmd進入到某一個文件夾下,然後用命令
[html] view plain
svn co http://src.chromium.org/svn/trunk/tools/depot_tools
下載,當然也可以新建一個文件夾,然後右鍵,選擇svn checkout。
二,獲取源碼
在獲取源碼之前,我們看一下我們電腦上(windows)已經准備了哪些東西?
安裝了SVN,這個是必須的,就算不用下載depot_tools,也要安裝這個。因為在後面的下載過程中,還是要用這個。
安裝了Git,這個也是必須的,至少命令行是好使的。
准備depot_tools,這個提供gclient工具,因為要用這個工具下載,這個工具需要安裝python。
現在來獲取源碼,步驟如下:
新建一個文件夾,用於保存獲取的源碼。如webrtc_src。
然後在文件夾上右鍵,會有一個git bash選項。如果沒有的話,就直接打開git bash。就是Git的命令行。
如果直接右鍵打開的,那麼當前的目錄就是新建文件夾的目錄,如果不是當前需要保存源碼文件夾的目錄,就cd 至那個目錄。
接下來就運行一些命令,如下:
獲取源碼:svn checkout http://webrtc.googlecode.com/svn/trunk/。這個下載來的文件不是很大,因為操作還沒有完成。
項目配置文件:gclient config https://webrtc.googlecode.com/svn/trunk。這次下載的文件數量很大,有1G以上,也需要很長的時間,是和下面的命令一起使用的。
gclient sync --force 獲取工程的最新文件。
gclient runhooks --force 這個命令用於生產各種項目文件,如webrtc.sln文件,是或者MakeFile文件。
三,後續操作
在獲取了源碼之後,編譯之後,發現少了很多文件,這些文件可以通過SVN再次獲取。
svn co http://vsfiltermod.googlecode.com/svn/trunk/src/BaseClasses
把獲取的文件放在下面這個目錄
C:/ProgramFiles/Microsoft SDKs/Windows/v7.1/Samples/multimedia/directshow/baseclasses/
這個目錄在你不改變源碼的配置時,是固定的,如果相應的文件夾不存在,就新建一個文件夾。
在Windows上,此時已經存在.sln文件了,直接用VS打開,在編譯時,可能還需要安裝DirectX
㈢ 如何在windows環境下配置webrtc
1、首先安裝VisualStudio2008,打上ServicePack1補丁包(也可以安裝VisualStudio 2010,只是後面的編譯過程會稍微麻煩一些)。
2、安裝MicrosoftSDK 7.1,安裝SDK7.1的時候,默認SDK7.1安裝在C盤下。一定要注意SDK7.1的安裝路徑,因為在WebRTC項目在配置中有規定,配置文件在.. .\trunk\src\build 名為common.gypi 的文件,如果你不想安裝在C盤下,那麼就要修改一下這個配置文件了,不然的話,的時候就會出現各種警告問題的。
3、安裝MicrosoftDirectXSDK (June 2010)。
4、安裝Python2.6(也可以是其他的版本,不過經過測試安裝2.6版本出現的問題是最少的)版本,將Python安裝目錄添加到系統環境變數Path中(例如我的安裝目錄是D:\WebRTC\Install\Python26)
5、接下來會有兩種編譯下載方式,如下所述:
5.1、已經存在完整的depot_tools編譯下載包(在文件夾中已給出)的情況:
5.1.1、把解壓後的depot_tools路徑添加到Path系統環境變數當中(例如我的路徑是D:\WebRTC\Install\depot_tools)
5.2、還沒有存在depot_tools編譯下載包情況下的編譯環境的搭建
5.2.1、安裝GIT工具,下載並安裝Git、Tortoisegit:(本機:Git-1.7.11-preview20120710,TortoiseGit-2012-09-08-cb73a5c-32bit)
選擇適合自己系統的版本,下載並安裝(註:TortoiseGit只是一個GUI,必須安裝Git。)
把Git中bin目錄手動添加到系統環境變數Path中,TortoiseGit安裝時會找到Git目錄並自動配置好。
5.2.2、下載、安裝獲取源碼的工具SVN(代碼版本管理工具)TortoiseSVN
5.2.3、下載並配置depot_tools,將文件夾路徑添加到環境變數Path中。
建立一個存放depot_tools的文件夾,cmd進入該目錄(cdd:/depot_tools ;d: ;...)
6、建立WebRTC的存放目錄(例如我這里的存放目錄是D:\WebRTC\WebRtcPj)
5.1.3、打開DOS窗口,進入剛才新建的WebRTC存放目錄,
按順序輸入:
A:gclient config --name trunk
B:gclient sync --force(獲取以前版gclient sync --revision)同步解決方案
C:gclient runhooks--force 生成本地的解決方案
7、打開VS並導入peerconnection_all.sln項目,並按如下要求配置VS環境:Tools|Options|ProjectsandSolutions|VC++Directories
可執行文件:
1. C:\Program Files\MicrosoftSDKs\Windows\v7.1\Bin
2. D:\WebRTC\Install\Python26
3. C:\Program Files\Microsoft DirectX SDK(June2010)\Utilities\bin\x86
包含文件:
C:\Program Files\Microsoft DirectX SDK(June 2010)\Include
C:\Program Files\MicrosoftSDKs\Windows\v7.1\Include
庫文件:
C:\Program Files\MicrosoftSDKs\Windows\v7.1\Lib
C:\Program Files\Microsoft DirectX SDK(June 2010)\Lib\x86
生成的可執行文件位於「\trunk\Debug」下,如「peerconnection_server.exe」和「peerconnection_client.exe」。
㈣ chrome內部的webrtc怎麼改源碼
1).准備環境1.Ubuntu14.04LTS系統2.准備一個穩定的速度還可以的VPN或者VPS,這個很重要,大家都懂,大部分下載代碼失敗都是因為訪問google服務失敗導致的.(本人用的DigitalOcean,之前試過幾個VPN都以失敗而告終,蛋都碎了,要麼是不穩定,要麼速度非常慢,最長一次用了15個小時都沒有下載成功)3.安裝下載$編譯webrtc代碼所需工具a.jdk(本人用的sunjdk1.6.0_45)配置到環境變數中
㈤ webrtc linphone 到底哪個
最新要做一個移動端視頻通話軟體,大致看了下現有的開源軟體
一) sipdroid
1)架構
sip協議棧使用java實現,音頻Codec使用skype的silk(Silk編解碼是Skype向第三方開發人員和硬體製造商提供免版稅認證(RF)的Silk寬頻音頻編碼器)實現。NAT傳輸支持stun server.
2)優缺點:
NAT方面只支持STUN,無ICE框架,如需要完全實現P2P視頻通話需要實現符合ICE標準的客戶端,音頻方面沒看到AEC等技術,視頻方面還不是太完善,目前只看到調用的是系統自帶的MediaRecorder,並沒有自己的第三方音視頻編解碼庫。
3)實際測試:
基於sipdroid架構的話,我們要做的工作會比較多,(ICE支持,添加迴音消除,NetEQ等gips音頻技術,添加視頻硬體編解碼codec.),所以就不做測試了。
二) imsdroid
1)架構:
基於doubango(Doubango 是一個基於3GPP IMS/RCS 並能用於嵌入式和桌面系統的開源框架。該框架使用ANSCI-C編寫,具有很好的可移植性。並且已經被設計成非常輕便且能有效的工作在低內存和低處理能力的嵌入式系統上。蘋果系統上的idoubs功能就是基於此框架編寫) .音視頻編碼格式大部分都支持(H264(video),VP8(video),iLBC(audio),PCMA,PCMU,G722,G729)。NAT支持ICE(stun+turn)
2)效果實測
測試環境:公司區域網內兩台機器互通,伺服器走外網sip2sip
音頻質量可以,但是AEC打開了還是有點迴音(應該可以修復)。視頻馬賽克比較嚴重,延遲1秒左右。
3)優缺點
imsdroid目前來說還是算比較全面的,包括音視頻編解碼,傳輸(RTSP,ICE),音頻處理技術等都有涉獵。doubango使用了webrtc的AEC技術,但是其調用webrtc部分沒有開源,是用的編譯出來的webrtc的庫。如果要改善音頻的話不太方便,Demo的音頻效果可以,視頻效果還是不太理想。
三)csipsimple
1)sip協議棧用的是pjsip,音視頻編解碼用到的第三方庫有ffmpeg(video),silk(audio),webrtc.默認使用了webrtc的回聲演算法。支持ICE協議。
2)優缺點:
csipsimple架構比較清晰,sip協議由C實現,java通過JNI調用,SIP協議這一塊會比較高效。其VOIP各個功能也都具備,包括NAT傳輸,音視頻編解碼。並且該項目跟進新技術比較快,官方活躍程度也比較高。如果做二次開發可以推薦這個。
3)實測效果
測試環境:公司區域網內兩台機器互通,伺服器走外網sip2sip
音頻質量可以,無明顯迴音,視頻需要下插件,馬賽克比imsdroid更嚴重。
四)Linphone
這個是老牌的sip,支持平台廣泛 windows, mac,ios,android,linux,技術會比較成熟。但是據玩過的同事說linphone在Android上的bug有點多,由於其代碼實在龐大,所以我暫時放棄考慮Linphone.不過如果誰有跨平台的需要,可以考慮Linphone或者imsdroid和下面的webrtc.。。。好像現在開源軟體都跨平台了。。。
五) webrtc
imsdroid,csipsimple,linphone都想法設法調用webrtc的音頻技術,本人也測試過Android端的webrtc內網視頻通話,效果比較滿意。但是要把webrtc做成一個移動端的IM軟體的話還有一些路要走,不過webrtc基本技術都已經有了,包括p2p傳輸,音視頻codec,音頻處理技術。不過其因為目前僅支持VP8的視頻編碼格式(QQ也是)想做高清視頻通話的要注意了。VP8在移動端的硬體編解碼支持的平台沒幾個(RK可以支持VP8硬體編解碼)。不過webrtc代碼里看到可以使用外部codec,這個還是有希望調到H264的。
總結:sipdroid比較輕量級,著重基於java開發(音頻codec除外),由於其音視頻編碼以及P2P傳輸這一塊略顯不足,不太好做定製化開發和優化。imsdroid,遺憾就是直接調用webrtc的庫,而最近webrtc更新的比較頻繁,開發比較活躍。如果要自己在imsdroid上更新webrtc擔心兼容性問題,希望imsdroid可以直接把需要的webrtc相關源碼包進去。csipsimple的話,都是圍繞pjsip的,webrtc等都是以pjsip插件形式擴充的,類似gstreamer. webrtc如果有技術實力的開發公司個人還是覺得可以選擇這個來做,一個是google的原因,一個是其視頻通話相關關鍵技術都比較成熟的原因。個人覺得如果能做出來,效果會不錯的。
㈥ webrtc源碼中哪個文件有版本
1). 准備環境
1. Ubuntu 14.04 LTS 系統
2. 准備一個穩定的速度還可以的VPN 或者 VPS ,這個很重要,大家都懂,大部分下載代碼失敗都是因為訪問google服務失敗導致的.(本人用的Digital Ocean, 之前試過幾個VPN都以失敗而告終,蛋都碎了,要麼是不穩定,要麼速度非常慢,最長一次用了15個小時都沒有下載成功)
3. 安裝下載$編譯webrtc代碼所需工具
a. jdk (本人用的 sun jdk1.6.0_45)
配置到環境變數中