mac下RTSP服务器搭建(ZLMediaKit)
目录
- 获取代码
- 编译器
- 依赖库
- 构建和编译项目
- 运行
注:参考wiki(包含其他系统安装方式):https://github.com/ZLMediaKit/ZLMediaKit/wiki
1. 获取代码
- 请不要使用github 下载zip包的方式下载源码,务必使用git克隆ZLMediaKit的代码,因为ZLMediaKit依赖于第三方代码,zip包不会下载第三方依赖源码,你可以这样操作:
#国内用户推荐从同步镜像网站gitee下载
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
#千万不要忘记执行这句命令
git submodule update --init
2. 编译器
1. 编译器版本要求
- ZLMediaKit采用了C++11的语法和库,要求编译器支持完整的C++11标准,亦即:
- linux上要求gcc 版本 >= 4.8(4.7应该也能支持)
- macOS上clang >= ???(我也不知道,估计大部分不会遇到这个问题)
- windows 上visual stuido >= 2015(vs2013某些版本也能编译通过,如果怕麻烦建议直接vs2017)
2. 安装编译器
- 如果你是macOS用户,你直接安装xcode即可。
3. cmake
- 如果你是macOS用户,你可以这样安装cmake:
brew install cmake
4. 依赖库
1. 依赖库列表
- ZLMediaKit可选依赖一些第三方库,这些库都不是必选的;在构建ZLMediaKit时,cmake能查找系统路径中的这些库,并根据安装情况选择是否开启相关特性,你可以选择安装这些依赖并启用相关特性:
- openssl
- flash player在播放rtmp时,采用的是复杂握手模式,如果不安装该库,flash player将播放不了zlmediakit 提供的rtmp url.
- 同时ZLMediaKit的https/rtsps相关功能需要使用openssl才能开启。
- ffmpeg
- zlmediakit可以通过fork ffmpeg进程的方式实现多种协议的拉流,编译时不需要安装FFmpeg。
- sdl、avcodec、avutil
- 这3个库供ZLMediaKit的test_player测试程序使用,你通常不需要安装这3个库。
- openssl
2. 安装依赖库
macOS/centos下安装依赖库:下载并安装以上几个库即可
5. 构建和编译项目
- 在linux或macOS系统下,你应该这样操作:
cd ZLMediaKit
mkdir build
cd build
#macOS下可能需要这样指定openss路径:cmake .. -DOPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2j/
cmake ..
make -j4
6. 运行
ZLMediaKit工程主要生成3种二进制目标文件,他们的生成的路径在release目录下,这些目标文件主要分为:
- MediaServer进程
- 这是ZLMediaKit作为服务器的主进程,该进程可以在免去开发的情况下直接作为测试流媒体服务器使用,如果你需要更复杂的业务逻辑,可以通过Web HOOK和RESTful API实现,同时你可以通过配置文件控制其参数。
- 在macos下启动:
cd ZLMediaKit/release/mac/Debug #通过-h可以了解启动参数 ./MediaServer -h #以守护进程模式启动 ./MediaServer -d &