webrtc下载与编译

本文主要介绍在Linux环境下编译webrtc


一、环境准备

  • 电脑能够科学上网,需要访问Google,虽然国内有很多镜像,但是拉下来参差不齐,浪费时间,建议有条件的还是科学上网吧

  • 电脑要有足够的空间,拉下来的webrtc代码较大,最好预留30G以上

二、depot Tools下载

  • 设置代理服务器(如没有设置代理的可忽略该步骤)
$ export http_proxy=192.168.9.86:9385
$ export https_proxy=192.168.9.86:9385
$ 
  • clone
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
$ export PATH=$PATH:/home/qiuhui/work/open_source/webrtc_src/depot_tools

三、webrtc下载

  • 下载前最好取消git网络限速,以免在网络抖动时下载失败,下载时间取决于网络,最快的时候20几分钟就搞定了
$ git config --global http.lowSpeedLimit 0
$ git config --global http.lowSpeedTime 9999999
$ fetch --nohooks webrtc
$ gclient sync

四、webrtc编译

编译的时候一定要选择适合的版本,不同的版本需要的编译器版本也会不一样,到现在我也没找到WebRTC各版本与编译器版本相关的信息和文档,有找到相关信息的同学欢迎留言哈

  • 查看分支
$ git branch -a
* (HEAD detached at origin/main)
  main
  remotes/branch-heads/3.50
  remotes/branch-heads/3.51
  remotes/branch-heads/3.52
  remotes/branch-heads/3.53
  remotes/branch-heads/3.54
  remotes/branch-heads/3.55
  remotes/branch-heads/38
  remotes/branch-heads/38p
  remotes/branch-heads/39
  remotes/branch-heads/3984
  ...后面信息太多,省略掉

如果没有输出以上对应分支(这次我下载下来分支已经有了,无需做这一步操作),请执行以下命令或参考:https://www.chromium.org/developers/how-tos/get-the-code/working-with-release-branches/

$ gclient sync --with_branch_heads
$ git fetch
$ git branch -r
$ git branch -a
  • 切到对应版本,本文使用的是5061(depot Tools也需切到相关日期的head,否则编译会有兼容性问题),官方发布版本与分支对应关系参考: https://chromiumdash.appspot.com/branches
$ git checkout -b m_local refs/remotes/branch-heads/5061
$ gclient sync --with_branch_heads --with_tags

//depot_Tools同时也切到 8b707654318d0b2b24c0b0bbeeef0ee8b0865007
$ git checkout 8b707654318d0b2b24c0b0bbeeef0ee8b0865007
  • 编译目标平台为aarch64的libwebrtc.a
$ ./build/linux/sysroot_scripts/install-sysroot.py --arch=arm64
$ gn gen out/Release --args='rtc_use_x11=false rtc_use_pipewire=false is_clang=true use_sysroot=true target_cpu="arm64" is_chrome_branded=true is_debug=false use_custom_libcxx=false rtc_include_tests=false rtc_enable_protobuf=false rtc_build_examples=false rtc_build_tools=false treat_warnings_as_errors=false rtc_enable_libevent=false rtc_build_libevent=false'
Done. Made 1192 targets from 272 files in 587ms
$ 
$ ninja -C out/Release webrtc rtc_json jsoncpp builtin_video_decoder_factory builtin_video_encoder_factory peerconnection p2p_server_utils task_queue default_task_queue_factory
ninja: Entering directory `out/Release'
[51/3369] CXX obj/api/audio_codecs/audio_codecs_api/audio_codec_pair_id.o
[3369/3369] AR obj/libwebrtc.a
$ 

总结

编译webrtc一定要选择合适的版本,特别是交叉编译到板子上跑的,一般都是由于版本不合适导致编译、链接、运行出现各种问题,具体的版本需根据各自的环境去适配。

WebRTC下载步骤如下所示。首先,需要准备好Linux环境,并确保电脑有足够的空间,因为Webrtc代码较大,最好预留30G以上的空间。然后,需要下载depot Tools工具,可以使用以下命令设置代理服务器(如果没有设置代理的话可以忽略这一步): ```bash $ export http_proxy=192.168.9.86:9385 $ export https_proxy=192.168.9.86:9385 $ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $ export PATH=$PATH:/home/qiuhui/work/open_source/webrtc_src/depot_tools ``` 接下来,可以下载Webrtc源码。为了避免在网络抖动时下载失败,最好取消git的网络限速。可以使用以下命令: ```bash $ git config --global http.lowSpeedLimit 0 $ git config --global http.lowSpeedTime 9999999 $ fetch --nohooks webrtc $ gclient sync ``` 至此,你已成功下载WebRTC的源码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [webrtc下载编译](https://blog.csdn.net/qq_15762939/article/details/130623750)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [webrtc源码的下载-对应ios-android-linux-mac-window等平台的编译文档](https://download.csdn.net/download/u012836015/88244442)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值