ZLMediakit编译(Win32)

489 阅读1分钟

ZLMediakit编译流程,本文是编译32位的ZLMediakit

下载OpenSSL

直接下载binary就好了,地址:slproweb.com/download/Wi… 也可以根据自己的需求下载其他版本,地址slproweb.com/products/Wi…

编译libsrtp

下载libsrtp,地址:github.com/cisco/libsr… 解压文件并进入文件夹,将下面的脚本放到根目录

@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),会看到如下画面

image.png

播放即可

image.png