一,Ubuntu搭建ZLMediaKit
1,安装cmake
$ apt-get install -y cmake
# 查看cmake版本,如果版本过低需要重新自己下载,ZLM的版本要求使3.13
$ cmake -version
# 卸载
$ apt-get remove cmake
这里选择的使cmake版本3.18.3的。
# 解压
$ tar zxvf cmake-3.18.3-Linux-x86_64.tar.gz
# 重命名
$ mv cmake-3.18.3-Linux-x86_64 cmake-3.18
# 创建软连接ln -sf /cmake路径/bin/* /usr/bin/
$ ln -sf /opt/cmake-3.18/bin/* /usr/bin/
# 验证cmake
$ cmake -version
2,gcc、g++、gdb(如果不调试可以不安装)
3,git(默认安装)
克隆ZLMediaKit
#国内用户推荐从同步镜像网站gitee下载
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
#千万不要忘记执行这句命令
git submodule update --init
安装需要的openssl开发库和ffmpeg
# openssl
sudo apt-get install openssl libssl-dev -y
xz -d ffmpeg-4.2.4.tar.xz
tar xvf ffmpeg-4.2.4.tar
# 安装yasm汇编器
apt-get install -y yasm
# 生成makefile
./configure --enable-shared
# 编译
make -j4
# 安装
make install
# 配置环境变量
vim /etc/ld.so.conf
# 加入lib库的路径,默认是/usr/local/lib,如果前面configure有添加路径则在相应的路径下的lib文件中
/usr/local/lib
# 使环境变量生效
ldconfig
# 验证,如果没有配置环境
ffmpeg -version
安装测试
1,编译ZLMediaKit
cd ZLMediaKit
mkdir build
cd build
cmake ..
make -j4
2,运行测试
cd ZLMediaKit/release/linux/Debug
./MediaServer
3,软连接
ln -sf /home/ZLMediaKit/release/linux/Debug/MediaServer /usr/bin/
二,WIndows下搭建ZLMediaKit
1、依赖库
只编译服务器, 跑起来的话,只需要openssl即可。 参见https://github.com/xiongziliang/ZLMediaKit/wiki/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B
个人建议选择32位的openssl库,必竟通用性强。
如果需要录制功能,需要下载ffmpeg开发库
test_player测试程序,需要用到faac,mp4v,SDL这3个库
各个库的下载地址:
①.openssl (必选)
http://slproweb.com/products/Win32OpenSSL.html
②.ffmpeg
https://ffmpeg.zeranoe.com/builds/ dev目录下是编译好的
③.faac
https://sourceforge.net/projects/faac/
④.mp4v2
https://github.com/TechSmith/mp4v2/releases
⑥.SDL2
https://www.libsdl.org/ 页面上的 SDL2-devel-2.0.12-VC.zip
2、具体流程
建议使用CMake图形窗口生成visual studio的 sln解决方案。
CMake如何使用这里不做说明。
需要指定SSL所用到的库和头文件目录,参照下图
项目Wiki上说vs2017或以上,用vs打开代码根目录,但是个别人发现有问题:https://github.com/xiongziliang/ZLMediaKit/issues/289
3、注意事项
3rdpart目录下的 media-server是另一个项目,如果你是直接下载zip包得到的zlmedia代码,里面没有media-server代码,
要按照wiki文档,用 git submodule update --init 命令下载子模块才可以。
4、运行MediaServer
vs编译非常快的,估计1分多钟就要可以了。
编译成功后,会在ZLMediaKit\release\windows\Debug\Debug\ 目录下生成MediaServer.exe,
要运行此程序需要将 ZLMediaKit\conf\config.ini放到此目录下,具体的端口可以根据需要进行单独配置,
如果要支持https,还要把ZLMediaKit\test\ssl.p12复制到此目录下,里面包含ssl用的证书。
程序运行截图:
5、推流和播放
OBS推流选择正确的端口和地址即可。 推送地址示例: rtmp://127.0.0.1/live/0
ffmpeg 推流命令
./ffmpeg -re -i ./doc/ljg.mp4 -vcodec copy -acodec copy -f flv -y rtmp://localhost/live/0
播放地址:
(rtsp默认554端口,http默认80,https默认443,如果配置文件中不是像这样配置,需要在下面的地址域名后面添加端口号。)
rtsp://somedomain.com/live/0
rtsps://somedomain.com/live/0
rtmp://somedomain.com/live/0
rtmps://somedomain.com/live/0
http://somedomain.com/live/0/hls.m3u8
https://somedomain.com/live/0/hls.m3u8
更多URL信息请参考https://github.com/xiongziliang/ZLMediaKit/wiki/%E6%92%AD%E6%94%BEurl%E8%A7%84%E5%88%99
6、MediaServer作为点播服务器
MediaServer可以将mp4文件转化为媒体流进行分发(目前只支持mp4文件)。
具体做法是:将test.mp4放到 ./www/record/目录下后,用以下地址播放
rtmp://127.0.0.1/record/test.mp4
rtsp://127.0.0.1/record/test.mp4