之前编译过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。