最近的工作需要架设一台流媒体服务器用于后续的业务开发。在git上找到了很好的开源框架ZLMediaKit,按照页面教程操作之后,总是不能成功编译webrtc模块,通过各种搜索和尝试,总算是搭建成功,现把过程分享如下,也给自己留个记录。
系统环境:Ubuntu20.04.4
1.获取代码
代码从git获取,如果没安装git,需要执行
sudo apt-get install git
cd /opt
#拉取项目代码
git clone https://github.com/ZLMediaKit/ZLMediaKit.git
#国内用户推荐从同步镜像网站gitee下载
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
#不要忘了这句命令
git submodule update --init
2.安装编译器
#安装gcc
apt install build-essential
#安装cmake
apt install cmake
3.依赖库
1.openssl安装编译
#如果之前安装了可以先卸载:apt -y remove openssl
cd /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/openssl
make -j4
sudo make install
cd /opt/openssl
cp -rf lib64 lib
2.libsrtp安装编译
cd /opt
git clone https://gitee.com/mirrors/cisco-libsrtp.git
cd cisco-libsrtp
./configure --enable-openssl --with-openssl-dir=/opt/openssl
make -j4
sudo make install
4.构建和编译ZLMediaKit
cd /opt/ZLMediaKit
mkdir build
cd build
cmake .. -DENABLE_WEBRTC=true -DOPENSSL_ROOT_DIR=/opt/openssl -DOPENSSL_LIBRARIES=/opt/openssl/lib
cmake --build . --target MediaServer
5.补充操作
上一步操作执行后,运行服务成功但没有demo页面,发现对应的www文件夹以及ssl证书并未放入指定目录,需要进行补充操作
#把www文件夹复制到编译后的目录
cd /opt/ZLMediaKit
sudo 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 &
#如果需要优雅的关闭
killall -2 MediaServer
之后浏览器打开https://你的服务器ip/webrtc
可以成功推流拉流
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。