ZLMediaKit支持了webrtc的推流与播放。特此记录下编译与测试的过程。
编译环境
OS版本:Ubuntu 20.04.2 LTS
openssl版本:OpenSSL 1.1.1f
gcc版本:9.3.0
cmake版本:3.16.3
编译准备工作
- 安装openssl。
$ git clone https://github.com/openssl/openssl.git
$ ./config
$ make -j4
$ sudo make install
# 查看openssl版本
$ openssl version -a
- 安装libsrtp。
$ git clone https://gitee.com/mirrors/cisco-libsrtp.git
$ cd cisco-libsrtp
# 支持webrtc
$ ./configure --enable-openssl
$ make -j4
$ sudo make install
编译ZLMediaKit
- 下载源码。
# 国内用户推荐从同步镜像网站gitee下载
$ git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
$ cd ZLMediaKit
# 千万不要忘记执行这句命令,同步三方依赖
$ git submodule update --init
- 编译源码。
$ mkdir build
$ cd build
$ cmake -DENABLE_WEBRTC=on ../
$ make -j4
- 如果编译不过可以尝试安装依赖库。
$ sudo apt-get install libssl-dev
$ sudo apt-get install libsdl-dev
$ sudo apt-get install libavcodec-dev
$ sudo apt-get install libavutil-dev
$ sudo apt-get install ffmpeg
- 还需要注意openssl的安装路径,如果没对齐,也可能出现编译或者运行错误。这时只需要在指定路径上给openssl的库建个软连接。
- 编译成功后会在release/linux/Debug/目录中生成相关程序。然后将ZLMediaKit中的www文件夹拷贝到release/linux/Debug/中,就可以进行webrtc的测试了。
测试webrtc推拉流
- 启动ZLMediaKit。
$ cd /release/linux/Debug
$ sudo ./MediaServer -s ./ssl.pem
- 启动zlmediakit后,浏览器访问 http://127.0.0.1/webrtc/ 就可以进行测试了。最简单的就是调用摄像头,一个push,一个play。