最近的工作须要架设一台流媒体服务器用于后续的业务开发。在git上找到了很好的开源框架ZLMediaKit,依照页面教程操作之后,总是不能胜利编译webrtc模块,通过各种搜寻和尝试,总算是搭建胜利,现把过程分享如下,也给本人留个记录。
零碎环境:Ubuntu20.04.4

1.获取代码

代码从git获取,如果没装置git,须要执行

sudo apt-get intall git
cd /opt#拉取我的项目代码git clone https://github.com/ZLMediaKit/ZLMediaKit.git#国内用户举荐从同步镜像网站gitee下载 git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKitcd ZLMediaKit#不要忘了这句命令git submodule update --init

2.装置编译器

#装置gccsudo apt-get install build-essential#装置cmakesudo apt-get install cmake

3.依赖库

1.openssl装置编译

#如果之前装置了能够先卸载:apt -y remove opensslcd /opt#从git下载git clone https://github.com/openssl/openssl.git#如果git下载太慢或者连贯有问题(比方我),能够到gitee下载git clone https://gitee.com/mirrors/openssl.git#上面的顺次执行mv openssl openssl-src && cd openssl-src./config --prefix=/opt/opensslmake -j4sudo make installcd /opt/openssl && cp -rf lib64 lib

2.libsrtp装置编译

cd /optgit clone https://gitee.com/mirrors/cisco-libsrtp.gitcd cisco-libsrtp./configure --enable-openssl --with-openssl-dir=/opt/opensslmake -j4sudo make install

4.构建和编译ZLMediaKit

cd /opt/ZLMediaKitmkdir buildcd buildcmake .. -DENABLE_WEBRTC=true -DOPENSSL_ROOT_DIR=/opt/openssl -DOPENSSL_LIBRARIES=/opt/openssl/lib cmake --build . --target MediaServer

5.补充操作

上一步操作执行后,运行服务胜利但没有demo页面,发现对应的www文件夹以及ssl证书并未放入指定目录,须要进行补充操作

#把www文件夹复制到编译后的目录cd /opt/ZLMediaKitsudo cp -r www release/linux/Debug/#把自带的ssl证书放到编译后的目录sudo cp -r tests/default.pem release/linux/Debug/

6.启动服务

cd /opt/ZLMediaKit/release/linux/Debug#通过-h能够理解启动参数./MediaServer -h#以守护过程模式启动./MediaServer -d &

之后浏览器关上https://你的服务器ip/webrtc能够胜利推流拉流


以上流程亲测编译胜利且可用。
参考资料: 官网wiki,网络博客