当前位置: 首页 > news >正文

下载webrtc M114版本源码只能使用外网googlesource源-命令版

声网、国内源都不行,只能外网googlesource源!!!

二、创建 Ubuntu 容器(带目录挂载)

拉取Ubuntu镜像

docker pull ubuntu:22.04

创建并启动容器(挂载Windows目录到容器)

docker run -itd --name webrtc-dev -v C:\docker_File\webrtc-shared:/root/webrtc-shared --privileged ubuntu:22.04

三、容器内环境配置

  1. 更新系统并安装依赖
# 安装编译WebRTC所需的全部依赖
apt-get install -y \build-essential \git \python3 \ninja-build \pkg-config \libgtk-3-dev \libx11-dev \libxcomposite-dev \libxcursor-dev \libxdamage-dev \libxext-dev \libxi-dev \libxrandr-dev \libxrender-dev \libxtst-dev \libpulse-dev \libasound2-dev \libcups2-dev \libdbus-1-dev \libfontconfig1-dev \libfreetype6-dev \libgl1-mesa-dev \libgles2-mesa-dev \libglib2.0-dev \libnss3-dev \libpci-dev \libudev-dev \libv4l-dev \libwayland-dev \libxkbcommon-dev \mesa-common-dev \unzip \zip \curl \wget
  1. 安装 depot_tools

进入共享目录

cd /root/webrtc-shared

克隆工具库

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

配置环境变量

echo "export PATH=\$PATH:/root/webrtc-shared/depot_tools" >> ~/.bashrc
source ~/.bashrc

四、下载 WebRTC M114 源码

创建工作目录

mkdir -p /root/webrtc-shared/webrtc-checkout
cd /root/webrtc-shared/webrtc-checkout

初始化源码库

fetch --nohooks webrtc
gclient sync #网中断,可多次执行

切换到M114版本(分支对应5255)

cd src
git checkout -b m114 branch-heads/5255
gclient sync --with_branch_heads --with_tags -D   # 同步对应版本的依赖 缺什么文件下载什么,放置在本地指定目录,这步骤会出现有几个文件无法下载的情况
gclient runhooks  # 安装额外工具

五、编译 WebRTC

1. Debug版本

生成编译配置

gn gen out/Debug --args='is_debug=true rtc_use_h264=true'

开始编译(使用全部CPU核心)

ninja -C out/Debug -j $(nproc)

2. Default 版本

gn gen out/Default --args="is_debug=true enable_testing=true"
# 只编译peerconnection_client(使用全部CPU核心加速)
ninja -C out/Default -j$(nproc)

六、GUI依赖

官网下载VcXsrv

  1. 启动配置X11服务:多窗口模式、Display number: 0、Disable access control
#将现有 Ubuntu 容器保存为镜像(快照)
docker commit webrtc-m114 ubuntu-webrtc-ninja:latest
  1. 重新启动Docker容器配置X11映射
docker run -it --name webrtc-m114-ninja-X11 -v C:\docker_File\webrtc-shared:/root/webrtc-shared -e DISPLAY={本机IP}:0.0 -v C:\docker_File\X11\.X11-unix:/tmp/.X11-unix  --privileged ubuntu-webrtc-ninja 
  1. 在容器内安装 GUI 依赖
apt-get update && apt-get install -y libgtk-3-0 libcanberra-gtk-module x11-utils 
  1. 测试X11是否生效:
#时钟工具apt-get install -y x11-apps #如果未安装xclock
http://www.dtcms.com/a/282541.html

相关文章:

  • i.mx8 RTC问题
  • TEngine学习
  • 【Noah-MP模型】陆面生态水文模拟与多源遥感数据同化的实践技术应用
  • JavaScript进阶篇——第六章 内置构造函数与内置方法
  • alpineLinux修改包管理为国内源
  • 越野小车结构设计\越野小车设计cad【6张】三维图+设计说明书
  • 【Java】【力扣】101.对称二叉树
  • 数据结构与算法——Leetcode215. 数组中的第K个最大元素
  • 中国1km分辨率逐月平均气温数据集 - matlab按shp批量裁剪
  • Git远程仓库与协作技巧详解
  • 【add vs commit】Git 中的 add 和 commit 之间的区别
  • 秘塔AI搜索的深度研究推出:它的“免费午餐”还能走多远?
  • NULL值处理:索引优化与业务设计实践指南
  • GIT版本回退
  • 堆排序算法详解:原理、实现与C语言代码
  • ubuntu--自启动程序
  • Docker Compose 清理指南:`down` 与 `down -v` 的核心区别与使用场景
  • Jenkins credentials 增加了github credential 但是在Git SCM 凭证中不显示
  • 基于SpringBoot+Uniapp球场预约小程序(腾讯地图API、Echarts图形化分析、二维码识别)
  • 如何用 Charles 中文版抓包工具高效调试 API 并优化网络性能
  • 自适应哈希索引 和 日志缓冲区
  • 结构体(二)
  • XXE漏洞1-XXE 漏洞简介-XML 语法-DTD 讲解-外部实体讲解
  • 【React Native】安装配置 Expo Router
  • HTML基础P1 | HTML基本元素
  • Jmeter中Parallel Controller的配置方法(并发)
  • 小白学HTML,操作HTML文件篇(2)
  • 二进制枚举
  • 基于Canal实现MySQL数据库数据同步
  • 百炼Agent MCP与IoT实战(二):阿里云MQTT Broker配置