• 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 编译源码。
      • 编译方式类似于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.com/webrtc/ 就可以进行测试了。最简单的就是调用摄像头,一个push,一个play。
  • 相关阅读:
    钉钉小程序入门3—钉钉扫码登录PC端网站
    Redis数据持久化方式RDB和AOF的区别
    linux常用指令
    基于关系图谱的人岗关系研究
    11款新编程工具!
    代码随想录笔记_动态规划_474一和零
    【六十七】【算法分析与设计】[HNOI2003]操作系统,优先队列,自定义比较方式,模拟,提高输入输出效率之神奇小代码,初始化小技巧
    一篇五分生信临床模型预测文章代码复现——Figure 4-6 临床模型构建(四)
    【分布式系统】分布式选举之Bully算法
    以用户需求为核心能玩出什么新花样?魅族 19 主理人计划构建理想机型
  • 原文地址:https://blog.csdn.net/caesar1228/article/details/126531311