ZLMediaKitwebRTC编译与测试⼀、背景
NB的ZLMediaKit开始⽀持了webrtc,今天有点时间,好奇测试之。
⼆、代码下载
拉最新的master代码 已经⽀持webrtc
git pull origin master
编译时候cmake加上
-DENABLE_WEBRTC=on
或者直接加到
option(ENABLE_WEBRTC "Enable WebRTC" true)
三、编译
1. 编译环境
OS版本: Ubuntu 16.04
openssl版本: OpenSSL 1.1.1l-dev
window版本请移步《ZLMediaKit在Windows下启⽤WebRtc编译(64位)》
2. openssl版本检查
openssl verison
看⼀下⾃⼰系统的版本
我的是openssl-1.0.2g⽐较⽼,编译的时候会遇到问题,⾛了⼀些弯路,建议⼤家先升级openssl版本。
sudo ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
sudo ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1
1
2
3.编译libsrtp
git clone git@github:cisco/libsrtp.git
./configure --enable-openssl
make -j4;sudo make install
1
2
4.编译ZLMediaKit
可以⽤根⽬录脚本
build_for_linux.sh
也可以⾃⼰cmake
mkdir build;cd build; cmake -DENABLE_WEBRTC=on ../
然后就ok了
错误⼀ libsrtp
srtp2/srtp.h: 没有那个⽂件或⽬录
这是因为缺少libsrtp2这个库
so…
sudo apt-get install libsrtp0-dev
⽼版本⾏不通,⽼⽼实实编源码
这⾥插⼀句,因为openssl版本问题导致⼆次编译libsrtp,所以我们先搞定openssl
未定义标识符 HMAC_CTX_init
MediaServer crash
libsrtp 没有–enable-openssl
错误⼆: openssl 版本问题
在这⾥插⼊图⽚描述
SSLUtil.cpp:315:33: error: invalid conversion from ‘const rsa_st*’ to ‘RSA* {aka rsa_st*}’ [-fpermissive]
以上都是openssl版本问题
ln: ⽆法创建符号链接’/usr/lib64/libssl.so.1.1’: 没有那个⽂件或⽬录
创建软连接解决
四、rtmp推流webrtcp拉流测试
这⾥采⽤window做测试,双向测试采⽤linux测试,⾬露均沾,其实都是⼀样的!
window10环境
服务器IP:192.168.10.99webrtc浏览器
拷贝前端测试⽂件
window的编译⽣成release⽬录没有webrtc测试前端⽂件,⼿动拷贝之!
将ZLMediaKit根⽬录下的www⽂件夹,拷贝到同⼀级⽬录(ZLMediaKit\release\windows64\Debug\Debug我的在这⾥)
运⾏服务器
cmd打开服务器⽬录,运⾏
OBS推流测试
没有的同学⾃⼰下载⼀个。设置如下,点击开始推流,将桌⾯rtmp推送到流媒体服务器
在这⾥插⼊图⽚描述
Chrom拉流播放
测试服务器编译⽂件伸⼿电梯直达
五、webrtc双向推拉流测试
运⾏服务器
Ubuntu 环境
服务器IP:192.168.10.9
cd /release/linux/Debug
sudo ./MediaServer -s ./ssl.pem
1
2
推流
最新版本代码已经不分push和play的html⽂件,记得分辨率选VGA
搞定
播放
在这⾥插⼊图⽚描述
错误记录
mediastream-factory.js:222 Uncaught TypeError: Cannot read property 'getUserMedia' of undefined
DOMException: Requested device not found
不到摄像头,换笔记本
⾕歌浏览器记得开权限:
chrome://flags/#unsafely-treat-insecure-origin-as-secure
参考:
chrome浏览器不能录⾳:Uncaught TypeError: Cannot read property ‘getUserMedia‘ of undefined解决⽅法
Uncaught TypeError: diaDevices is undefined
https才有权限请求摄像头
参考
[技术咨询]webrtc编译libsrtp2
openssl 版本_OpenSSL升级版本到最新(1.1.1)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。