使用ZLMediaKit 开源项目搭建RTSP 服务器

ZLMediaKit 是啥?

ZLMediaKit是国人开发的开源C++流媒体服务器,同SRS一样是主流的流媒体服务器。
ZLToolKit是基于C++11的高性能服务器框架,和ZLMediaKit是同一个作者,ZLMediaKit正是使用该框架开发的。

官网

ZLMediaKit开源地址:https://github.com/ZLMediaKit/ZLMediaKit
ZLToolKit开源地址:https://github.com/ZLMediaKit/ZLToolKit

国内登陆github非常不稳定,如下是ZLMediaKit对应的gitee 网址

ZLMediaKit: 实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
                        

ZLMediaKit源码分析的一篇文章

原文链接:https://blog.csdn.net/weixin_40355471/article/details/135422631

1.如何使用 ZLMediaKit 搭建RTSP 服务器

1.国内⽤户推荐从同步镜像⽹站gitee下载源码

git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit.git
cd ZLMediaKit
  # 千万不要忘记执⾏这句命令
git submodule update --init
强烈建议使⽤ubuntu16或更新版本编译ZLMediaKit,macOS是次选推荐平台,最不推
荐的是centos6.*或windows平台。
本地实验会在 ubuntu上实现。相关截图放在后面

2.编译相关

2.1 编译器版本要求

ZLMediaKit采⽤了C++11的语法和库,要求编译器⽀持完整的C++11标准,亦即:
linux上要求gcc 版本 >= 4.8(4.7应该也能⽀持)
macOS上clang >= ???(我也不知道,估计⼤部分不会遇到这个问题)
windows 上visual stuido >= 2015(vs2013某些版本也能编译通过,如果怕麻烦建议直接vs2017)

ubuntu上查看g++版本

g++ --version

2.2 安装编译器

如果你是debian系操作系统(包括ubuntu系⽤户),⼀般⾃带的gcc版本够新,你可以这样安装gcc编译 器:
sudo apt-get install build-essential
你正在尝试在Ubuntu或其他基于Debian的Linux发行版上安装 build-essential包。 build-essential是一个包含编译软件所需要的基本包集合的元包。它会安装GCC、G++、Make等基本工具,这些工具是编译大部分源代码所必需的

2.3 安装cmake

ZLMediaKit采⽤cmake来构建项⽬,通过cmake才能⽣成Makefile(或Xcode/VS⼯程),所以必须先安装 cmake才能完成后续步骤。
如果你是debian系操作系统(包括ubuntu系⽤户),⼀般⾃带的cmake版本够新,你可以这样安装
cmake
sudo apt-get install cmake

2.4 依赖库

2.4.1 依赖库列表
ZLMediaKit可选依赖⼀些第三⽅库,这些库都不是必选的;在构建ZLMediaKit时,cmake能查找系统路 径中的这些库,并根据安装情况选择是否开启相关特性,你可以选择安装这些依赖并启⽤相关特性:
openssl
flash player在播放rtmp时,采⽤的是复杂握⼿模式,如果不安装该库,flash player将播放不了
zlmediakit 提供的rtmp url. 同时ZLMediaKit的https/rtsps相关功能需要使⽤openssl才能开启。
ffmpeg
### 如何在Linux系统上搭建配置RTSP服务器 #### 关闭防火墙和SELinux 为了确保安装过程顺利,在开始之前应先关闭系统的防火墙(iptables)以及禁用SELinux的安全策略。这可以通过以下命令实现: ```bash chkconfig iptables off vi /etc/sysconfig/selinux # 将 enforcing 修改为 disabled 并保存文件,之后重启系统生效[^1] ``` #### 安装依赖项 对于基于Debian的操作系统及其衍生版本(如Ubuntu),通常自带较新的GCC编译器可以直接用于构建软件包;而对于其他发行版,则可能需要额外安装必要的开发工具链。 #### 使用Darwin Streaming Server作为RTSP服务端 针对CentOS 6.5 64位最小化安装的情况,可以按照如下步骤来部署Darwin Streaming Server (DSS): - 下载并解压适合当前平台架构的二进制分发包; - 配置启动脚本和服务参数; - 启动DSS守护进程,并验证其正常工作状态。 #### 利用ZLMediaKit创建高性能RTSP流媒体网关 另一种方案是采用开源项目 ZLMediaKit 来快速建立支持多种协议传输模式(含RTMP、HLS等)的一站式解决方案。具体操作指南可参照官方文档说明完成环境准备与应用集成环节的工作。 #### 推送视频流至RTSP服务器实例 一旦完成了上述任一种方式的服务端设置后,就可以借助FFmpeg这类强大的多媒体处理库来进行实时数据推送测试了。例如通过执行下列指令向指定的目标地址发送编码后的音视频帧序列: ```bash ffmpeg -re -i 文件名 -vcodec h264 -acodec aac -f rtsp -rtsp_transport tcp rtsp://你的rtsp服务器的ip地址/live/test[^4] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值