Android WebRTC+SRS/ZLM视频通话(3):安装ZLMediaKit
来自奔三人员的焦虑日志
接着上一章内容,继续来记录ZLMediaKit的安装,这里的ZLMediaKit实际上和SRS的功能差不多,都是国内流媒体服务框架使用人数比价多,并且还在持续维护的项目,这里一起拿上来学习一下。
ChatGPT提供的安装流程
上实践
照着AI返回的教程来操作,第一步完全没有问题,但第二步就出问题了,链接返回404,所以还是回到官方文档,具体可看看这一步官网是怎么实现的(官方文档)。
官方文档虽然给的是Centos的教程,但能看出来我们只要装上zlib即可,于是我直接从GitHub上找了一个(链接),简单来说就是第二步稍做修改,zlib版本换成最新的即可,可以把AI返回的教程更改如下:
wget https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz
tar zxvf zlib-1.2.13.tar.gz
cd zlib-1.2.13
./configure --prefix=/usr/local/zlib
make && sudo make install
接着第三步又出现问题了,克隆openssl速度太慢,可能是没有梯子原因,所以这一步我回到官方文档,直接装openssl-1.1.1k版本,可以把AI返回的教程更改如下。
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
tar -xvzf openssl-1.1.1k.tar.gz
./config shared --prefix=/usr/local/openssl
make && sudo make install
不出意外的话第四步也出意外了,AI提供的第四步是下载编译安装libwebrtc,由于git clone太慢,我又去逛了一下官方文档,发现根本没有用到这玩意,但是多装了一个libsrtp,索性直接改成安装libsrtp,可以把AI返回的教程更改如下:
wget https://codeload.github.com/cisco/libsrtp/tar.gz/refs/tags/v2.3.0
tar -xvzf v2.3.0
cd libsrtp-2.3.0
./configure --enable-openssl --with-openssl-dir=/usr/local/openssl
make -j8 && make install
到这里环境已基本搭建完成,接下来就是编译安装ZLMediaKit,原以为可以顺利进行,但执行cmake的时候意外还是发生了。
这里直接参照官方文档给的步骤,具体如下:
git clone https://github.com/ZLMediaKit/ZLMediaKit.git
cd ZLMediaKit
git submodule update --init
mkdir -p build && cd build
cmake .. -DENABLE_WEBRTC=true -DOPENSSL_ROOT_DIR=/usr/local/openssl -DOPENSSL_LIBRARIES=/usr/local/openssl/lib
cmake --build . --target MediaServer
编译完成后显示如下:
运行ZLMediaKit
编译成功后就可以直接运行看效果了,
cd ZLMediaKit/release/linux/Debug
#通过-h可以了解启动参数
./MediaServer -h
#以守护进程模式启动
./MediaServer -d &
往ZLMediaKit推流
启动ZLMediaKit后,使用 FFmpeg(点击下载) 、 OBS(点击下载) 或者其他推流工具进行推流,APK推流可以用rtmp-rtsp-stream-client-java、腾讯云视立方等进行推流。
推流地址的ip换成自己的,由于我这里是内网环境,推流端需要和服务器在同一个网段下。
rtmp://192.168.1.172/live/test
运行效果
推流成功后,打开浏览器,进入https://default.zlmediakit.com/webrtc/,点击播放即可看到效果。
第三章到这里就结束了,下节继续记录Android如何推流到SRS和ZLMediaKit,占用您的垃圾时间了,实在对不住
THE END
感谢查阅
玉念聿辉:编辑