美文网首页iOS音视频(直播 音频 视频)程序员iOS Developer
iOS音视频开源框架WebRTC入门-编译(前序)

iOS音视频开源框架WebRTC入门-编译(前序)

作者: tjfeng88 | 来源:发表于2017-06-05 18:21 被阅读1060次

    系列

    iOS音视频开源框架WebRTC入门-编译(前序-授人鱼不如授人以渔)
    iOS音视频开源框架WebRTC入门-编译(后序-带WebRTC源码)
    iOS音视频开源框架WebRTC入门-AppRTCMobile(WebRTC官网demo)
    iOS音视频开源框架WebRTC入门-简单应用
    iOS音视频开源框架WebRTC入门-本地/远端图像等比缩放
    iOS音视频开源框架WebRTC入门-外网通信

    1. WebRTC在Mac上编译流程

    WebRTC官网
    官网描述:

    WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.

    官网编译指南
    我的编译流程👇:(根据网友反馈,depot_tools 通过 git 下载不了,原来我这边配置了hosts,所以造成我假象中的全程无需翻墙,在这里说句不好意思!!!)

    1.1. 下载依赖工具:depot_tools

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

    将depot_tools添加到系统环境变量中:

    export PATH=`pwd`/depot_tools:"$PATH"
    

    强制环境变量立即生效

    source $HOME/.bash_profile
    

    查看刚刚的环境变量是否生效:

    echo $PATH
    

    1.2. 下载WebRTC源码

    设置要编译的平台到环境变量中:

    export GYP_DEFINES="OS=ios"
    

    下载源码:
    在这里,推荐一个第三方脚本:webrtcbuilds
    它推荐使用Homebrew!
    Homebrew的安装可以参考我的一篇文章:
    CocoaPods简便安装
    运行webrtcbuilds目录下面的脚本:

    ./build.sh
    

    开启无脑式的刷屏模式,喝杯☕️休息哈...
    但是,最后报错了:

    image.png
    这个错误即使使用像Lantern(蓝灯)这样的翻墙软件也还是会报错,在翻墙环境下也还是下载不了
    针对这个错误我一一按照指定url去下载资源了并上传到百度网盘了,你只需动动手指下载下来对应目录拷贝过去即可...请不用谢我,我只是搬运工!😝
    无法下载的资源
    再次运行:
    cd out/src/tools_webrtc/ios
    ./build_ios_libs.sh
    

    编译成功:


    image.png image.png
    WebRTC.framework(大小只有十几M)即我们要引入到iOS项目中的库(支持arm64和非arm64,以及x64指令集)!!!
    WebRTC编译形成的库
    来说说编译过程中遇到的报错问题:
    权限问题:
    image.png

    1.3. 关于"翻墙"(更新于20171106)

    最近,貌似很紧张,Lantern在某些网络下也不能用了,hosts也失效了,貌似有新的替代品,我目前推荐ShadowSocks用比较稳定,但是这里面的免费账号貌似半小时更新密码,很不方便,至于如何获取免费稳定的SS账号,以及实现ShadowSocks终端访问,这些我都给与了明确的方法,最后用SS应该全程稳定下载无压力实现的,就看你耐得住寂寞不,毕竟6GB左右的大小摆在那儿,需要耗费半天左右的时间,祝大家编译成功!!!

    参考链接:
    WebRTC

    相关文章

      网友评论

      • bf82f0303c09:编译成功。必须说以前的方法花好几天才能编译成功,今天这个基本只用了一天。说几个遇到的问题,都是很简单的问题,有些却折腾了一些时间。
        1. 「它推荐使用Homebrew!」:到底是谁用了 Homebrew 啊,现在仍不能理解。
        2. PATH 即使是当前用户目录也不要用「~」,用全路径,或者是作者「`pwd`」这种形式,总之最重要的是测试一下「gn」命令是否可用
        3. 「./build.sh」这个命令是编译 MAC 平台的,后序里「./build_ios_libs.sh」才是编译 iOS 平台的(截图是对的,应该是写差了。另说一句当前编译 MAC 平台需要在「util.sh」文件中将「rtc_include_tests」设为「true」,否则编译不成功)
        4. VPN 是可以全部下载的,蓝灯的问题有可能是因为它是依赖浏览器的 VPN,而不是全局的那种。
        tjfeng88:同时感谢你指出的文章中的错误描述
        tjfeng88:@南在生活 亲身经历的满满都是经验 挺好的 Homebrew是Mac系统下比较好用的安装利器 很轻松安装一些软件和插件 也能统一管理升级与卸载 其实蓝灯设置里面也有管理所有流量 这个流量不晓得包不包括出浏览器以外的流量
        bf82f0303c09:1 找到了,是 build 时安装依赖的时候
      • 张芳涛:git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git这个步骤报下面的错误:fatal: unable to access 'https://chromium.googlesource.com/chromium/tools/depot_tools.git/': Failed to connect to 127.0.0.1 port 1080: Connection refused
        ,端口什么的都不是我设置的,我只是把上面的命令行粘贴到了终端。,翻墙和没翻墙的都试过了,请问有解决办法么?
        tjfeng88:@张芳涛 文章更新了 麻烦请再次阅读一遍 不好意思
        tjfeng88:@CoderXLL 文章更新了 麻烦请再次阅读一遍 不好意思
        CoderXLL:我的也是:cry:
      • 西西西瓜sama:您好,请问您编译的是最新版本么.是的话 想直接用了...
        我是从github上面 pod的 apprtc,感觉老版本会有卡顿的问题
        西西西瓜sama:@BossKing10086 好的 非常感谢你 :smile:
        tjfeng88:@西西西瓜sama 亦或你按照我写文章的流程去下载编译一遍最新的代码 以后你可以自己去更新了
        tjfeng88:@西西西瓜sama 我写文章的时候下载最新的 你可以尝试到百度网盘下载静态库 试试 看能不能解决你说的额问题
      • _白丁_:田大神威武!

      本文标题:iOS音视频开源框架WebRTC入门-编译(前序)

      本文链接:https://www.haomeiwen.com/subject/cbnifxtx.html