ZLMediaKit 下载以及编译(windows,ubuntu)

本文详细介绍了在Ubuntu和Windows环境下搭建ZLMediaKit的步骤,包括安装cmake、gcc/g++、git,以及编译和配置openssl、ffmpeg等依赖。在Ubuntu中,通过编译源码并创建软链接实现MediaServer的运行。在Windows下,通过CMake生成Visual Studio解决方案,并指定了SSL库路径。同时,文章提供了推流和播放的示例,以及MediaServer作为点播服务器的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,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

ffmpeg下载地址

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
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值