乐趣区

关于windows:Windows端ZLMediaKit编译与webrtc推拉流测试

之前编译过 linux 端的 ZLMediaKit,做过 webrtc 的推拉流测试。这次编译 Windows 端的 ZLMediaKit,也做下 webrtc 的推拉流测试。特此记录下编译和测试过程。
特地提醒下,如果不须要做 webrtc 测试,只有编译 ZLMediaKit,则能够疏忽装置 libsrtp 的流程。

编译环境

OS 版本:Windows 10
openssl 版本:Win32OpenSSL-1_1_1q
cmake 版本:3.20.0
vs 版本:vs2017

编译筹备工作

  • 装置 openssl

    • 下载地址:Win32/Win64 OpenSSL Installer for Windows
    • Windows 下的 openssl 装置办法不赘述,只有找到须要的版本的安装程序,下载下来间接装置就行,最初,记得装置完后将 openssl 装置的根目录、bin 目录和 lib 目录 的门路配置到 Windows 的零碎环境变量 Path 中。
  • 装置 libsrtp

    • 下载地址:libsrtp releases
    • 下载最新的 libsrtp 的源码 zip 包,而后解压到适合的地位。新建 build 文件夹。
    • 首先,确认 openssl 的环境变量曾经配置好了。
    • 而后,关上 cmake-gui,别离设置 srtp 的源代码和 build 文件夹 的地位。点击 Configure,在弹框中设置 vs2017 和 win32。确定后,能够看到 cmake 的配置选项,勾选 BUILD_SHARED_LIBS 和 ENABLE_OPENSSL。同时,能够批改 CMAKE_INSTALL_PREFIX 的值为你想要 装置 libsrtp 的目录
    • 实现所有配置后,顺次点击 Generate 和 Open Project,就会关上 vs2017 的解决方案。在解决方案中生成 install 工程,就能够将 libsrtp 装置到上一步 CMAKE_INSTALL_PREFIX 指定的文件夹中。
    • 最初将 libsrtp 装置的根目录 和 cmake 中设置的srtp 的 build 文件夹中的 Release 目录(如果编译的是 Debug,则这里是 Debug 目录)门路配置到 Windows 的零碎环境变量 Path 中。

编译 ZLMediaKit

  • 下载源码。

    # 国内用户举荐从同步镜像网站 gitee 下载 
    $ git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
    $ cd ZLMediaKit
    # 千万不要遗记执行这句命令, 同步三方依赖
    $ git submodule update --init
  • 编译源码。

    • 编译形式相似于 libsrtp 的编译,也是应用 cmake-gui。
    • 首先,确认所有环境变量都配置好了。
    • 而后,关上 cmake-gui,别离设置的 ZLMediaKit 源代码和 build 文件夹(与后面 libsrtp 的 build 文件夹辨别开)的地位。点击 Configure,在弹框中设置 vs2017 和 win32。确定后,能够看到 cmake 的配置选项,勾选 ENABLE_WEBRTC。同时,能够批改 CMAKE_INSTALL_PREFIX 的值为你想要装置 ZLMediaKit 的目录。
    • 实现所有配置后,顺次点击 Generate 和 Open Project,就会关上 vs2017 的解决方案。在解决方案中生成 install 工程,就能够将 ZLMediaKit 装置到上一步 CMAKE_INSTALL_PREFIX 指定的文件夹中。
    • 编译胜利后,在装置目录下会有三个文件夹。其中 bin 外面有 MediaServer.exe,这是 ZLMediaKit 作为服务器的主过程,也就是接下来测试中应用的流媒体服务器。另外,还会有一个 include 和 lib 文件夹,这是 ZLMediaKit 提供的基于 c 语言的二次开发 sdk 库。

测试 webrtc 推拉流

  • 在 webrtc 推拉流测试前,须要把 ZLMediaKit 源码目录下 release\windows\Debug 目录中 www 文件夹、config.ini 和 default.pem 拷贝到装置目录的 bin 文件夹中。其中,config.ini 是配置文件,能够依据须要批改;default.pem 是 ZLMediaKit 源码自带无效的 ssl 证书,对应的域名是 default.zlmediakit.com,该域名解析到的 ip 为 127.0.0.1,webrtc 的推拉流测试会用到它。
  • 双击 MediaServer.exe 就能够启动流媒体服务器了。
  • 启动服务后,浏览器拜访 https://default.zlmediakit.co… 就能够进行测试了。最简略的就是调用摄像头,一个 push,一个 play。
退出移动版