ZLMediakit编译流程,本文是编译32位的ZLMediakit
下载OpenSSL
直接下载binary就好了,地址:https://slproweb.com/download/Win32OpenSSL-1_1_1u.msi
也可以根据自己的需求下载其他版本,地址https://slproweb.com/products/Win32OpenSSL.html
编译libsrtp
下载libsrtp,地址:https://github.com/cisco/libsrtp/archive/refs/tags/v2.5.0.zip
解压文件并进入文件夹,将下面的脚本放到根目录
@echo off
cd %~dp0
set WORKSPACE=%~dp0
set BUILD_DIR=%WORKSPACE%win32-build
rd /q /s %BUILD_DIR%
mkdir %BUILD_DIR%
cd %BUILD_DIR%
cmake -G "Visual Studio 16 2019" -AWin32 ../ -DENABLE_OPENSSL=ON -DCMAKE_PREFIX_PATH="C:\Program Files (x86)\OpenSSL-Win32" -DCMAKE_INSTALL_PREFIX="D:\workspace\framework\libsrtp-2.3.0\out" -DBUILD_SHARED_LIBS=ON
cmake --build . --target clean
cmake --build . --config Debug
cmake --build . --target install
-DCMAKE_PREFIX_PATH
指定Openssl安装路径-DCMAKE_INSTALL_PREFIX
指定libsrtp安装路径-DBUILD_SHARED_LIBS
生成动态库
生成的目录如下
D:\workspace\framework\libsrtp-2.3.0\out
├─include
│ └─srtp2
│ auth.h
│ cipher.h
│ cipher_types.h
│ srtp.h
│
└─lib
srtp2.dll
srtp2.lib
编译ZLMediakit
- 下载ZLMediakit
#国内用户推荐从同步镜像网站gitee下载
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
#千万不要忘记执行这句命令
git submodule update --init
- 编译
cmake -G "Visual Studio 16 2019" -AWin32 ../ -DENABLE_WEBRTC=true -DOPENSSL_ROOT_DIR="C:\Program Files (x86)\OpenSSL-Win32" -DOPENSSL_LIBRARIES="C:\Program Files (x86)\OpenSSL-Win32\lib" -DCMAKE_PREFIX_PATH="D:\workspace\framework\libsrtp-2.3.0\out"
cmake --build . --config Debug
推拉流测试
- 推流
ffmpeg -re -stream_loop -1 -i so_many_people_annexb_no_bframe.mp4 -c copy -f rtsp rtsp://127.0.0.1:554/live/test
- 拉流
ffplay rtsp rtsp://127.0.0.1:554/live/test
WebRTC
观看WebRTC需要一些额外的配置
rtsp.directProxy
需要配置成0
rtc.externIP
配置成播放器可见的IP,我在本机测试,所以配置成了127.0.0.1
rtc.port
随便给一个udp
端口,不重复就行,比如8002
http.charSet
设置为utf-8
,不然你可能会乱码MediaServer
启动参数-s {path to certification}\default.pem
经过上面的配置,然后在浏览器输入http://127.0.0.1/index/webrtc
(假设你用的默认配置,HTTP port为80),会看到如下画面
播放即可