• libwebrtc & libmediasoupclient编译


      本文简单介绍在Ubuntu下libwebrtc的编译过程。

      由于网速限制,实际编译过程是在远程vps上编译滴。

    系统环境

      Ubuntu 18.04系统的虚拟主机。

    root@vultr:~# pwd
    /root
    root@vultr:~# cat /etc/issue
    Ubuntu 18.04.2 LTS 
     l

    编译webrtc

    安装依赖工具

      获取webrtc源代码需要使用Chromium depot tools。

    root@vultr:~# git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git    # 下载工具
    export PATH=$PATH:/path-to/depot_tools                                 # 添加到环境变量
    # 临时添加,如
    root@vultr:~# export PATH
    =$PATH:/root/depot_tools 
    # 添加到/etc/profile中,
    root@vultr:~# vim /etc/profile
    ...  
    export PATH=$PATH:/root/depot_tools  # 在文件最后一行添加,wq!退出
    root@vultr:~# source /etc/profile    # 使配置生效   

      这样便可使用相关命令了。

    下载源代码

      创建一个保存webrtc源代码的目录webrtc-checkout。

    root@vultr:~# mkdir webrtc-checkout
    root@vultr:~# cd webrtc-checkout
    root@vultr:~/webrtc-checkout# apt install python -y         # 需要python 支持
    root@vultr:~/webrtc-checkout# fetch --nohooks webrtc            # 获取和同步代码,下载量很大,约12G
    root@vultr:~/webrtc-checkout# gclient sync &

      Linux (Ubuntu/Debian)系统,在执行完gclient sync命令之后,还需执行如下命令:

    root@vultr:~/webrtc-checkout# cd src
    root@vultr:~/webrtc-checkout/src# ./build/install-build-deps.sh

    Building

      两种编译方式,具体解释可查看Building

    Debug模式:(本文采用这种模式)

    root@vultr:~/webrtc-checkout/src# gn gen out/Default
    Done. Made 990 targets from 201 files in 644ms

    Release模式

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

    清理目录

    gn clean out/Default

    编译

      大致需要编译一个小时左右。

    root@vultr:~/webrtc-checkout/src# ninja -C out/Default

       这样就编译出libwebrtc.a文件,编译结束。

    root@vultr:~# du -sh *
    170M    depot_tools
    17G    webrtc-checkout

    编译mediasoupclient

    Requirements

    POSIX or Windows based operating system
    cmake >= 3.5
    gcc and g++ >= 4.9 or clang (with C++11 support)

      如果是CentOS7系统的话,上面两项都不满足,版本较老,需要先升级,因此不太推荐在CentOS7系统上编译,比较繁琐,Ubuntu较方便。

    编译

      mediasoupclient依赖libwebrtc,具体编译过程可参考libmediasoupclient v3 Installation

      仅一点关于编译需稍微指出:

    cmake . -Bbuild 
    -DLIBWEBRTC_INCLUDE_PATH:PATH=PATH_TO_LIBWEBRTC_SOURCES      # src源代码目录
    -DLIBWEBRTC_BINARY_PATH:PATH=PATH_TO_LIBWEBRTC_BINARY         # 编译出libwebrtc.a目录

      此处的环境设置如下:

    cmake . -Bbuild 
    -DLIBWEBRTC_INCLUDE_PATH:PATH=root/webrtc-checkout/src                   
    -DLIBWEBRTC_BINARY_PATH:PATH=/root/webrtc-checkout/src/out/Default/obj

      其它地方应该没什么大问题。

    参考

      https://webrtc.org/native-code/development/

      https://mediasoup.org/documentation/v3/libmediasoupclient/installation/

  • 相关阅读:
    Restful WCF问题总结
    vs2010发布、打包安装程序(超全超详细)
    WCF and Android Part I
    GCC安装及配置
    mysql5.58的编译安装(转)
    源于魔兽!《植物大战僵尸》成功奥秘 (转)
    mysql5.5.8安装问题解决方法(转)
    RHEL5(CentOS)下nginx+php+mysql+tomcat+memchached配置全过程(转)
    已经安装curses,但cmake安装mysql时,依然提示No curses/termcap library found(转)
    centos5安装飞信机器人监控web服务器(转)
  • 原文地址:https://www.cnblogs.com/Hi-blog/p/webrtc-libmediasoupclient-compilation.html
Copyright © 2020-2023  润新知