剑痴乎

  • 首页
  • 文章分类
    • 音视频
    • WebRTC
    • 编程之美
    • Linux
    • Windows
    • 生活点滴
    • 校园生活
  • 参考
    • API参考
    • 实用工具
    • 测试音视频
    • 文档
  • 留言板
  • 关于
剑痴乎
代码为剑,如痴如醉
  1. 首页
  2. WebRTC
  3. 正文

Linux平台WebRTC编译

2021年1月28日 3392点热度 13人点赞 3条评论

系统要求

  • 系统:Ubuntu 16.04及以上(本文Ubuntu 18.04)
  • 磁盘空间:至少6.4 GB磁盘空间

安装工具

1
2
sudo apt-get update
sudo apt-get install -y vim git python

安装depot tools

1
2
3
4
5
6
7
cd ~
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
 
vi ~/.bashrc
# .bashrc添加如下一行
export PATH="$PATH:~/depot_tools"
source ~/.bashrc

获取代码

1
2
3
4
mkdir webrtc-checkout
cd webrtc-checkout
fetch --nohooks webrtc
gclient sync

安装依赖

1
2
cd src
./build/install-build-deps.sh

生成Ninja工程文件

WebRTC默认使用Ninja作为编译系统,Ninja工程文件通过GN生成。

使用如下命令生成默认配置工程(Debug编译,工程文件位于out\Default目录下):

1
gn gen out/Default

如果需要Release编译,通过如下命令生成工程文件:

1
gn gen out/Default --args='is_debug=false'

编译

1
ninja -C out/Default

最后在src/out/Default/obj可以看到生成的静态库文件:libwebrtc.a。

代码更新

后续如需要更新代码,按照如下步骤:

1
2
3
git checkout master
git pull origin master
gclient sync

然后参考前面步骤重新生成工程文件,编译即可。

参考

[1] WebRTC Native code Development.https://webrtc.github.io/webrtc-org/native-code/development/.

本文已收录到大话WebRTC专栏,更多精彩请访问《大话WebRTC》。

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可
标签: WebRTC
最后更新:2021年3月3日

Jeff

管理员——代码为剑,如痴如醉

打赏 点赞
< 上一篇
下一篇 >

文章评论

  • juanhe

    你好 ,刚接触ubuntu,在编译webrtc中遇到一个问题,执行fetch --nohooks webrtc,报错显示/usr/bin/env: "bash\r": 没有那个文件或目录,百度搜索了一下 ,修改后还是不可行,请问有什么方法解决此问题吗?

    2021年8月4日
    回复
    • dongl

      @juanhe vim ~/.bashrc

      ## depot_tools
      export PATH=$PATH:/‘pwd’/depot_tools

      pwd 你的depot_tools安装路径

      2023年10月9日
      回复
  • yezi

    linux下按照这个方法安装后并不能编译通过示例,是不是有什么步骤遗漏了。

    2024年7月25日
    回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    回复 dongl 取消回复

    这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

    版权声明

    为支持原创,创作更好的文章,未经许可,禁止任何形式的转载与抄袭,如需转载请邮件私信!本人保留所有法定权利。违者必究!

    文章目录
    • 系统要求
    • 安装工具
    • 安装depot tools
    • 获取代码
    • 安装依赖
    • 生成Ninja工程文件
    • 编译
    • 代码更新
    • 参考
    最近评论
    ztt 发布于 1 个月前(04月05日) 你好,想看里面的视频和图片为什么没有显示呢?需要下flash吗还是什么。
    huowa222 发布于 1 个月前(03月26日) 同问
    邱国禄 发布于 3 个月前(02月17日) Receive Delta以0.25ms为单位,reference time以64ms为单位,kDe...
    啊非 发布于 4 个月前(12月30日) 大神,请教一个问题: constexpr int kBaseScaleFactor = Tran...
    啊非 发布于 4 个月前(12月30日) reference time:3字节,表示参考时间,以64ms为单位,但是 代码里面是 Trans...
    相关文章
    • WebRTC资讯:H265支持进展
    • WebRTC研究:Audio level
    • Mac平台WebRTC编译
    • WebRTC研究:RTP时间戳的产生
    • WebRTC研究:统计参数之丢包率

    COPYRIGHT © 2024 jianchihu.net. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang