zoukankan      html  css  js  c++  java
  • 实时语音视频技术webrtc的编译总结

    webrtc编译教程

    一、安装depot_tools工具

    首先你的电脑上安装了git

    1)    下载depot_tools

    cd到下载的目录下

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

     

    使用git下载源码的时候会报这样的错误

    unable to access 'https://chromium.googlesource.com/chromium/tools/depot_tools.git/': Failed to connect to chromium.googlesource.com port 443: Operation timed out

    可以按照下面这篇博客的方式进行配置就能下载了

    https://laod.cn/hosts/2017-google-hosts.html/comment-page-6

    2)    把depot_tools的路径添加到export PATH=`pwd`/depot_tools:"$PATH"

    3)    检测路径是否添加正确

    运行命令echo $PATH,查看工具的路径是否正确,如果不正确的话

    下载webrtc的源码会报错fetch: command not found

    检测depot_tools是否配置正确的方式还可以直接在终端输入gn然后按tab键

    如果配置正确将显示

    gn         gn.py      gnuattach  gnuclient  gnudoit    gnumake    gnuserv

    如果配置不正确将显示

    gnuattach  gnuclient  gnudoit    gnumake    gnuserv

    二、下载webrtc的源码

    首先你需要有VPN能翻墙,推荐使用红杏

    fetch --nohooks webrtc_ios
    gclient sync

    运行以上的命令,前提是depot_tools配置正确

    可能会出现以下的错误

    Error: Command 'download_from_google_storage --no_resume --platform=darwin --no_auth --bucket chromium-luci -d src/tools/luci-go/mac64' returned non-zero exit status 1 in /Users/wuyong/Desktop/build_scripts/webrtc-build-scripts-master/ios/webrtc

    这个错误很奇怪有的朋友就没有遇见这个错误

    如果不管这个错误直接编译源码的话就会出现下面的错误

    gn.py: Could not find gn executable at: /Users/wuyong/Desktop/new/src/buildtools/mac/gn

    是说在这个目录下缺少一个gn的文件,我是在别人那里复制了一个这种gn的文件。

    三、编译webrtc

    运行以下命令后,有两种编译的方式

    # debug build for 64-bit iOS
    gn gen out/ios_64 --args='target_os="ios" target_cpu="arm64"'
     
    # debug build for simulator
    gn gen out/ios_sim --args='target_os="ios" target_cpu="x64"'

    第一种利用ninja编译

    首先你得安装ninja工具,cd到某个目录下下载ninja并安装

     git clone git://github.com/martine/ninja.git
     ./bootstrap.py
    ninja -C out/ios_64 AppRTCMobile

    第二种利用xcode编译

    gn gen out/ios --args='target_os="ios" target_cpu="arm64"' --ide=xcode
    open -a Xcode.app out/ios/all.xcworkspace
    最后在out的目录下生成了all.xcworkspace以及WebRTC.framework
  • 相关阅读:
    tomcat日志信息查看
    "".equals(xxx)和xxx.equals("")的区别
    javax.crypto.BadPaddingException: Given final block not properly padded解决方案
    去掉first li 的list图标
    浮动后的 <li> 如何在 <ul> 中居中显示?
    java冒泡排序
    JSP获取网络IP地址
    <%@ include %>导入的文件乱码
    out.print()与response.sendRedirect()
    王爽汇编语言第三版第5章实验4
  • 原文地址:https://www.cnblogs.com/liyy2015/p/6892726.html
Copyright © 2011-2022 走看看