ZLMediaKit webRTC编译

ZLMediaKit webrtc编译

    • 安装编译环境
    • 代码下载
    • 编译器要求
    • 编译器安装
    • 运行ZLMediaKit
    • 测试webrtc
    • 参考

最近公司要提高流媒体视频的播放性能,多方查询资料后,发现ZLMediaKit流媒体服务器的性能比较高,延迟主要存在于web播放器,而webrtc是浏览器低延时播放视频比较好的解决方案之一,查询了几天资料,终于将webrtc应用成功了,这里记录一下。

安装编译环境

OS版本: Ubuntu 16.04
openssl版本: OpenSSL 1.1.1l-dev

代码下载

国内用户推荐从同步镜像网站gitee下载

git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit

千万不要忘记执行这句命令

git submodule update --init

编译器要求

ZLMediaKit采用了C++11的语法和库,要求编译器支持完整的C++11标准,亦即:
linux上要求gcc 版本 >= 4.8(4.7应该也能支持)

编译器安装

  • 安装gcc
sudo apt-get install build-essential
  • 安装cmake
sudo apt-get install cmake
  • 安装依赖库
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,这里装在了opt下
    openssl version 看下版本 (openssl版本要求1.1以上)
git clone https://github.com/openssl/openssl.git

或者搞一个稳定版本

wget https://github.com/openssl/openssl/archive/refs/heads/OpenSSL_1_1_1-stable.zip
unzip OpenSSL_1_1_1-stable.zip

或者

$ wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
$ tar -xvzf openssl-1.1.1k.tar.gz

然后

cd openssl
./config
make -j4
sudo make install

指定快捷方式
因为默认安装到/opt/openssl目录,或者config的时候指定/usr/lib,要不就把库链接过去,
注意libssl.so.1.1 看安装的版本(建议openssl版本1.1),可ls查看openssl目录中文件名后缀

sudo ln -s /opt/openssl/libssl.so.1.1 /usr/lib/libssl.so.1.1
sudo ln -s /opt/openssl/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1
  • 编译libsrtp
    返回上一级
git clone https://gitee.com/mirrors/cisco-libsrtp.git

注意,这里需要将cisco-libsrtp重命名

mv cisco-libsrtp libsrtp
cd libsrtp
./configure --enable-openssl
make -j4
sudo make install
  • 编译ZLmediaKit
cd..
cd ZLmediaKit
mkdir build
cd build
cmake -DENABLE_WEBRTC=on ..
make -j4

(附)cmake这里可配置openssl路径

cmake .. -DENABLE_WEBRTC=true  -DOPENSSL_ROOT_DIR=/opt/openssl  -DOPENSSL_LIBRARIES=/opt/openssl/lib
make -j4

运行ZLMediaKit

返回上一级

cd  release/linux/Debug
sudo ./MediaServer -s ./ssl.pem

将ZLMediaKit下的整个www目录移动到/release/linux/Debug中

cp -r /opt/ZLMediaKit/www/ /opt/ZLMediaKit/release/linux/Debug/www

测试webrtc

zlmeiakit工程自带webrtc测试播放/推流器,启动zlmediakit后,浏览器访问http://127.0.0.1/webrtc/就可以访问之。webrtc在"ZLMediaKit/release/linux/Debug/www"目录下有一文件夹“webrtc”,参考其中webrtc的使用方式,引入到自己代码中。

参考

  • 夏楚/ZLmediaKit wiki
    https://gitee.com/xia-chu/ZLMediaKit/wikis/Home?sort_id=19420
  • 网友大神ubuntu编译webrtc
    https://blog.csdn.net/haysonzeng/article/details/116754065

你可能感兴趣的:(前端)