当前位置: 首页 > 工具软件 > licode > 使用案例 >

licode编译

那谦
2023-12-01

licode官方文档:From Source - Documentation (licode.readthedocs.io)

按照官方步骤执行,ubuntu使用20.04的镜像虚拟机。

1 下载代码

sudo apt install git

git clone https://github.com/lynckia/licode.git

cd licode

2 执行安装依赖的脚本

sudo ./scripts/installUbuntuDeps.sh

这里可能会遇到许许多多的问题,需要仔细看看,这里介绍下脚本原理,方便排查问题。

该脚本主要就是下载依赖然后安装,下载目录为./licode/build/libdeps,安装目录为./licode/build/libdeps/build,其定义了很多函数来分别下载对应依赖:

//举例下载安装libav
install_mediadeps(){
  install_opus
  sudo apt-get -qq install yasm libvpx. libx264.
  if [ -d $LIB_DIR ]; then
    cd $LIB_DIR
    if [ ! -f ./v11.9.tar.gz ]; then
      curl -O -L https://github.com/libav/libav/archive/v11.9.tar.gz
      tar -zxvf v11.9.tar.gz
      cd libav-11.9
      PKG_CONFIG_PATH=${PREFIX_DIR}/lib/pkgconfig ./configure --prefix=$PREFIX_DIR --enable-shared --enable-gpl --enable-libvpx --enable-libx264 --enable-libopus --disable-doc
      make $FAST_MAKE -s V=0
      make install
    else
      echo "libav already installed"
    fi
    cd $CURRENT_DIR
  else
    mkdir -p $LIB_DIR
    install_mediadeps
  fi

}


//开始执行脚本
check_sudo        #检查
install_apt_deps  
install_mongodb    #安装mongodb
install_conan        #安装conan,其他下同
check_proxy
install_openssl
install_libsrtp
install_opus
install_libnice
install_cpplint

if [ "$ENABLE_GPL" = "true" ]; then
  install_mediadeps
else
  install_mediadeps_nogpl
fi

if [ "$CLEANUP" = "true" ]; then
  echo "Cleaning up..."
  cleanup
fi

如果遇到下载错误,可以手动下载到libdeps目录后,修改脚本注释掉下载的命令。

大概率不会遇到安装错误,如果遇到估计是编译工具链的问题。

3 安装

./scripts/installNuve.sh    #安装nuve
./scripts/installErizo.sh   #安装erizo

nuve主要是js和db操作相关,具体没有了解。随便引用一个博客介绍:(20条消息) Licode(二):Nuve源码分析_郑亚帅-CSDN博客

erizo就是licode的c++功能模块。

installErizo.sh主要调用两个脚本来生成编译出来的so

./generateProject.sh        # 构建工程:cmake

./buildProject.sh               # 编译工程:make

构建完成后,即可在./build目录中找到对应的生成,比如这里我关心的两个libwebrtc.a和liberizo.so分别在:

./licode/erizo/build/release/third_party/webrtc/src/libwebrtc.a

./licode/erizo/build/release/erizo/liberizo.so

 类似资料: