网站首页 > 技术文章 正文
之前编译过linux端的ZLMediaKit,做过webrtc的推拉流测试。这次编译Windows端的ZLMediaKit,也做下webrtc的推拉流测试。特此记录下编译和测试过程。 特别提示下,如果不需要做webrtc测试,只要编译ZLMediaKit,则可以忽略安装libsrtp的流程。
编译环境
OS版本:Windows 10 openssl版本:Win32OpenSSL-1_1_1q cmake版本:3.20.0 vs版本:vs2017
编译准备工作
安装openssl
Windows下的openssl安装方法不赘述,只要找到需要的版本的安装程序,下载下来直接安装就行,最后,记得安装完后将openssl安装的根目录、bin目录和lib目录的路径配置到Windows的系统环境变量Path中。
安装libsrtp
下载最新的libsrtp的源码zip包,然后解压到合适的位置。新建build文件夹。
首先,确认openssl的环境变量已经配置好了。
然后,打开cmake-gui,分别设置srtp的源代码和build文件夹的位置。点击Configure,在弹框中设置vs2017和win32。确定后,可以看到cmake的配置选项,勾选BUILD_SHARED_LIBS和ENABLE_OPENSSL。同时,可以修改CMAKE_INSTALL_PREFIX的值为你想要安装libsrtp的目录。
C++音视频开发学习资料:点击领取→音视频开发(资料文档+视频教程+面试题)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)
完成所有配置后,依次点击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库。
C++音视频开发学习资料:点击领取→音视频开发(资料文档+视频教程+面试题)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)
测试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就可以启动流媒体服务器了。
- 启动服务后,浏览器访问 default.zlmediakit.com/webrtc/ 就可以进行测试了。最简单的就是调用摄像头,一个push,一个play。
- 上一篇: 渗透测试 跨站攻击防御与安全检测手法剖析
- 下一篇: 从零开始精通RTSP之加密
猜你喜欢
- 2024-11-25 最新FFmpeg RTSP流抓取
- 2024-11-25 WebRTC 拥塞控制 | 网络带宽过载检测
- 2024-11-25 YOLO对象检测算法也这么卷了吗——基于YOLOv8的人体姿态检测
- 2024-11-25 rtsp协议之请求响应示例
- 2024-11-25 rtsp开源服务器之live555
- 2024-11-25 全网最全的抓包工具的综合对比
- 2024-11-25 【开源】音视频并发测试工具
- 2024-11-25 深度学习实战 :智慧工地安全帽和危险区域检测系统(含代码)
- 2024-11-25 NAS部署AI视频卫士,压榨NAS的最后一滴性能,NAS性能检测镜像
- 2024-11-25 Java 监控直播流rtsp协议转rtmp、hls、httpflv协议返回浏览器
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)