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。

吴尼玛
32 声望11 粉丝

记问之学