日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

Windows平台WebRTC编译-VS2017

發(fā)布時(shí)間:2023/12/20 windows 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows平台WebRTC编译-VS2017 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載網(wǎng)站:https://blog.jianchihu.net/webrtc-build-vs2017.html

在音視頻領(lǐng)域,想深入研究的話,必定會(huì)接觸WebRTC。WebRTC是一個(gè)龐大的工程,就像是音視頻領(lǐng)域的百科全書,音視頻采集,編解碼,傳輸,渲染等一條龍?jiān)赪ebRTC里都有,而且WebRTC還有很多先進(jìn)的音視頻處理算法。由于WebRTC代碼過于龐大,所以最好單步調(diào)試跟蹤代碼運(yùn)行,這樣才可以更好地學(xué)習(xí)WebRTC,否則很難有頭緒。工欲善其事必先利其器,作為調(diào)試神器,宇宙第一IDE Visual Studio必不可少。所以本篇文章主要講下如何在Windows上編譯WebRTC,同時(shí)得到VS工程,然后調(diào)試。

系統(tǒng)要求

  • Win7及以上64位系統(tǒng)。
  • 內(nèi)存至少8G,當(dāng)然越大越好。
  • 100G磁盤空間(NTFS格式),不能是FAT32,因?yàn)闀?huì)生成大于4G的文件。

Visual Studio安裝

WebRTC用到了很多C++最新特性,所以編譯最新WebRTC代碼VS要求為2017版本。我用的是VS2017社區(qū)版。安裝VS2017時(shí)選擇自定義安裝,必須勾選如下幾項(xiàng):

其他選項(xiàng)可以選擇安準(zhǔn)。如下是我的安裝配置。

  • 10.0.17134 或以上的Win10 SDK,后面還要安裝調(diào)試工具
  • MFC以及ATL這兩項(xiàng)

安裝完VS2017后,必須安裝SDK調(diào)試工具。打開控制面板->程序與功能,找到剛才安裝的Windows Software Development Kit,鼠標(biāo)右鍵->change。

勾選Debugging Tools For Windows,然后點(diǎn)擊change。

depot_tools安裝

下載depot_tools然后解壓到某個(gè)目錄,比我的解壓到E盤根目錄。接著將該depot_tools目錄的路徑加到系統(tǒng)環(huán)境變量Path里,然后把該路徑移到最前面(避免已安裝的python與git造成影響)。

然后新建一個(gè)系統(tǒng)環(huán)境變量:?DEPOT_TOOLS_WIN_TOOLCHAIN?,值設(shè)置為0,這是為了告訴depot_tools使用我們本機(jī)的VS進(jìn)行編譯。

獲取WebRTC源碼

由于WebRTC的源碼地址被墻了,所以需要通過代理才能得到源碼。后面都是命令行操作,打開cmd窗口,由于我用的是ss代理,在cmd窗口我按如下設(shè)置:

?

1

2

set http_proxy=127.0.0.1:1080

set https_proxy=127.0.0.1:1080

設(shè)置當(dāng)前cmd窗口代理上網(wǎng),如果cmd窗口關(guān)閉了重開得重新設(shè)置。當(dāng)然了,也可以設(shè)置系統(tǒng)全局代理上網(wǎng)。其他代理方法也類似。如果是VPN之類非代理,就不用這樣設(shè)置了。

接著執(zhí)行g(shù)client命令,安裝編譯需要用到的一些工具,比如git以及python。

?

1

gclient

再接著設(shè)置一些環(huán)境變量。

?

1

2

3

set GYP_MSVS_VERSION=2017

set GYP_MSVS_OVERRIDE_PATH=D:\Program Files (x86)\Microsoft Visual Studio\2017\Community

set GYP_GENERATORS=msvs-ninja,ninja

?

其中GYP_MSVS_OVERRIDE_PATH是我們安裝的VS2017路徑。

然后cd到要放源碼的地方(要遵守前面說的磁盤要求),執(zhí)行:

?

1

2

3

4

mkdir webrtc-checkout

cd webrtc-checkout

fetch --nohooks webrtc

gclient sync

這一過程是個(gè)漫長(zhǎng)的等待,要下的東西將近10G,包括源碼以及一些測(cè)試的音視頻文件資源等。

使用gclient sync這一步得注意下,可能會(huì)報(bào)類似如下錯(cuò)誤:

?

1

UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)

Unicode字符編碼問題,python的一個(gè)bug,因?yàn)楹芏嗳讼到y(tǒng)語言都是中文的,所以得按如下設(shè)置,把系統(tǒng)區(qū)域改為英文,然后重啟即可。

編譯

生成VS2017工程文件:

?

1

2

cd src

gn gen --ide=vs out/Default

可以在src\out\Default\ 下得到 all.sln解決方案文件。

執(zhí)行編譯命令:

?

1

ninja -C out/Default

用VS2017打開:

可以看到眾多工程,到此算是完成了。找到我們感興趣的,就可以用VS單步調(diào)試,跟蹤代碼運(yùn)行了。這么多寶貝夠研究很久了。

代碼更新

?

?

1

2

3

git checkout master

git pull origin master

gclient sync

?

總結(jié)

總之WebRTC在Windows上的編譯很考驗(yàn)?zāi)托?#xff0c;也很苛刻,需要電腦性能夠好,有個(gè)好代理。

參考

1.?WebRTC Native code Development
2.?Chromium’s build instructions for Windows

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的Windows平台WebRTC编译-VS2017的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。