CentOS7编译ZLMediaKit并使能WebRTC

使能WebRTC需要libsrtp库, libsrtp库需要openssl, 所以第一步先安装openssl, 系统自带的版本是1.0.2的, libsrtp需要1.1.1以上版本, 需要使用源码进行编译;

GCC准备

需要安装gcc7以上版本, 并切换到gcc7的编译环境

yum install centos-release-scl
yum install devtoolset-7-gcc*
yum install devtoolset-7-gdb*

scl enable devtoolset-7 bash

使用gcc --version验证下看是否为gcc7了, 接下来进入编译环节

OpenSSL编译安装

使用1.1.1版本的代码, 下载地址:https://github.com/openssl/openssl/archive/refs/heads/OpenSSL_1_1_1-stable.zip

解压, 进入目录, 进行配置

./Configure shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
make
make install

一定要配置安装目录, 后面编译libsrtp要用到, 否则编译会很遇到很多麻烦;

libsrtp库编译安装

使用2.4.2版本的代码, 这是咨询

### 编译和部署 ZLMediaKit 集成 FFmpeg 的教程 在 CentOS 7 系统上编译和部署 ZLMediaKit集成 FFmpeg,需要完成以下任务:安装必要的依赖、编译和安装 Yasm 和 FFmpeg、克隆和编译 ZLMediaKit 源码以及配置相关环境变量。以下是详细的说明: #### 1. 安装必要的依赖 在开始之前,确保系统已经安装了基本的开发工具和依赖库。运行以下命令以安装所需的依赖: ```bash sudo yum groupinstall "Development Tools" -y sudo yum install epel-release -y sudo yum install cmake libuuid-devel openssl-devel curl-devel ffmpeg-devel -y ``` #### 2. 编译和安装 Yasm Yasm 是一个汇编语言编译器,FFmpeg 的编译需要它。按照以下步骤安装 Yasm: ```bash wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz tar zxvf yasm-1.3.0.tar.gz cd yasm-1.3.0 ./configure make sudo make install ``` #### 3. 编译和安装 FFmpeg 安装完 Yasm 后,可以继续安装 FFmpeg。以下是具体步骤: ```bash git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg cd ffmpeg ./configure make sudo make install ``` 安装完成后,验证 FFmpeg 是否成功安装: ```bash ffmpeg -version ``` 如果显示版本信息,则表示安装成功[^1]。 #### 4. 克隆和编译 ZLMediaKit ZLMediaKit 是一个高性能的流媒体服务器框架,支持 RTSP、RTMP 等协议。以下是克隆和编译 ZLMediaKit 的步骤: ```bash git clone https://github.com/ZLMediaKit/ZLMediaKit.git cd ZLMediaKit mkdir build && cd build cmake .. make -j$(nproc) sudo make install ``` 编译完成后,启动 ZLMediaKit 服务: ```bash ./../bin/server ``` #### 5. 配置环境变量 为了使 FFmpeg 和 ZLMediaKit 的命令全局可用,需要将它们的路径添加到环境变量中。编辑 `/etc/profile` 文件添加以下内容: ```bash export PATH=$PATH:/usr/local/bin ``` 保存文件后,执行以下命令以应用更改: ```bash source /etc/profile ``` #### 6. 集成 FFmpeg 和 ZLMediaKit ZLMediaKit 支持通过 API 调用与 FFmpeg 集成。例如,可以通过 FFmpeg 将本地视频推送到 ZLMediaKit 服务器。以下是一个示例命令: ```bash ffmpeg -re -i input.mp4 -c copy -f flv rtmp://127.0.0.1/live/stream ``` 上述命令会将 `input.mp4` 文件推送到 ZLMediaKit 的 RTMP 流服务中[^2]。 ### 注意事项 - 确保系统的时间和时区设置正确,避免因时间不同步导致服务异常。 - 如果遇到编译错误,请检查是否遗漏了某些依赖库。 - 在生产环境中,建议使用防火墙规则限制对 ZLMediaKit 服务的访问。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值