网上看了不少,终于把ZlmediaKit流媒体框架搭建起来啦
wptr33 2025-05-24 17:33 48 浏览
你都站在2023年代了,视频通话、视频直播、视频会议、视频监控就是风口浪尖上的猪师兄,只要你学那么一丁点,拿个高薪的工作不过分吧!我也是半瓶子晃荡的,所以路人呀,共学习,同进步!本篇开始,只讲在Linux系统安装ZlmediaKit框架!
ZLMediaKit 是一个基于C++11的高性能运营级流媒体服务框架。它到底有多强,一张图即是巅峰!另外这家伙的官网:
https://github.com/ZLMediaKit/ZLMediaKit
<--------ZlmediaKit的部署-------->
《ZlmediaKit流媒体服务器框架部署文档》
目录
一、 准备系统环境
二、安装相关软件包
三、部署ZlmediaKit软件
文档版本  | 修改时间  | 修改者  | 备注  | 
V1  | 2023-07  | 记录生活那些事儿  | 新建  | 
一、准备系统环境
- Centos7.9的操作系统;
 - 可以连接到公网网络。
 
二、安装相关软件包
以下使用root身份去安装:
安装GCC编译器,版本不低于4.8.5版本
yum -y install gcc
yum -y install gcc-c++安装并升级cmake至3.1版本以上。
删除cmake旧版本
yum remove cmake -y创建安装目录,安装新版本cmake
mkdir /opt/cmake
cd /opt/cmake
tar zxvf cmake-3.9.2.tar.gz编译和安装:
cd cmake-3.9.2
./configure --prefix=/usr/local/cmake
make && make install修改环境变量:
vi /etc/profile
在最后PATH添加环境变量:
export CMAKE_HOME=/usr/local/cmake
export PATH=$PATH:$CMAKE_HOME/bin
保存环境变量:
source /etc/profile查看cmake版本
cmake --version安装其他rpm包
yum install -y zlib zlib-devel perl-CPAN安装openssl,使用webrtc功能,需要替换为1.1.1k的版本。
解压tar -zxvf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k
./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
make && make install
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig此时,系统中同时存在2个版本的openssl,如下图:
【注】修改软连接。
备份原来的openssl可执行命令文件
mv /usr/bin/openssl /usr/bin/openssl_old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl (替换系统中的原openssl)安装 yasm软件
tar -zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make && make install安装libsrtp软件
tar -zxvf libsrtp-2.5.0.tar.gz
cd libsrtp-2.5.0
./configure --enable-openssl --with-openssl-dir=/usr/local/openssl(这个要用新的1.1.1k)
make -j8 && make install安装ffmpeg新版本5.1
unzip FFmpeg-master
cd FFmpeg-master
./configure --prefix=/usr/local/ffmpeg
make && make install配置文件:
vim /etc/profile
export PATH=$PATH:/usr/local/ffmpeg/bin
source /etc/profile 设置生效查看版本:
ffmpeg -version三、部署ZlmediaKit软件
1)获取代码
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
#千万不要忘记执行这句命令
git submodule update --init2)构建和编译
cd ZLMediaKit
mkdir build
cd build
cmake .. -DENABLE_WEBRTC=true -DOPENSSL_ROOT_DIR=/usr/local/openssl -DOPENSSL_LIBRARIES=/usr/local/openssl/lib
make -j4- 运行ZlmediaKit程序
 
cd ZLMediaKit/release/linux/Debug
#通过-h可以了解启动参数
./MediaServer -h
#以守护进程模式启动
./MediaServer -d &
#以自定义配置文件启动
./MediaServer -c 配置文件具体地址4)webrtc推流测试
在上步骤进行完成后,以内网测试服务器为例,访问 https://192.168.X.X:80 获取更
【多余的解释:】
第一步先搞定ZlmediaKit的部署,然后再学习使用,过程中才能遇到问题,克服困难,收获知识点,之后你才算是有技术的小伙子!
上面用到的几个文件,放到了百度网盘:
链接:https://pan.baidu.com/s/1LI-ja5lf8FqFF8KRlDLKIQ
提取码:1234相关推荐
- oracle数据导入导出_oracle数据导入导出工具
 - 
                        
关于oracle的数据导入导出,这个功能的使用场景,一般是换服务环境,把原先的oracle数据导入到另外一台oracle数据库,或者导出备份使用。只不过oracle的导入导出命令不好记忆,稍稍有点复杂...
 
- 继续学习Python中的while true/break语句
 - 
                        
上次讲到if语句的用法,大家在微信公众号问了小编很多问题,那么小编在这几种解决一下,1.else和elif是子模块,不能单独使用2.一个if语句中可以包括很多个elif语句,但结尾只能有一个...
 
- python continue和break的区别_python中break语句和continue语句的区别
 - 
                        
python中循环语句经常会使用continue和break,那么这2者的区别是?continue是跳出本次循环,进行下一次循环;break是跳出整个循环;例如:...
 
- 简单学Python——关键字6——break和continue
 - 
                        
Python退出循环,有break语句和continue语句两种实现方式。break语句和continue语句的区别:break语句作用是终止循环。continue语句作用是跳出本轮循环,继续下一次循...
 
- 2-1,0基础学Python之 break退出循环、 continue继续循环 多重循
 - 
                        
用for循环或者while循环时,如果要在循环体内直接退出循环,可以使用break语句。比如计算1至100的整数和,我们用while来实现:sum=0x=1whileTrue...
 
- Python 中 break 和 continue 傻傻分不清
 - 
                        
大家好啊,我是大田。...
 
- python中的流程控制语句:continue、break 和 return使用方法
 - 
                        
Python中,continue、break和return是控制流程的关键语句,用于在循环或函数中提前退出或跳过某些操作。它们的用途和区别如下:1.continue(跳过当前循环的剩余部分,进...
 
- L017:continue和break - 教程文案
 - 
                        
continue和break在Python中,continue和break是用于控制循环(如for和while)执行流程的关键字,它们的作用如下:1.continue:跳过当前迭代,...
 
- 作为前端开发者,你都经历过怎样的面试?
 - 
                        
已经裸辞1个月了,最近开始投简历找工作,遇到各种各样的面试,今天分享一下。其实在职的时候也做过面试官,面试官时,感觉自己问的问题很难区分候选人的能力,最好的办法就是看看候选人的github上的代码仓库...
 
- 面试被问 const 是否不可变?这样回答才显功底
 - 
                        
作为前端开发者,我在学习ES6特性时,总被const的"善变"搞得一头雾水——为什么用const声明的数组还能push元素?为什么基本类型赋值就会报错?直到翻遍MDN文档、对着内存图反...
 
- 2023金九银十必看前端面试题!2w字精品!
 - 
                        
导文2023金九银十必看前端面试题!金九银十黄金期来了想要跳槽的小伙伴快来看啊CSS1.请解释CSS的盒模型是什么,并描述其组成部分。...
 
- 前端面试总结_前端面试题整理
 - 
                        
记得当时大二的时候,看到实验室的学长学姐忙于各种春招,有些收获了大厂offer,有些还在苦苦面试,其实那时候的心里还蛮忐忑的,不知道自己大三的时候会是什么样的一个水平,所以从19年的寒假放完,大二下学...
 
- 由浅入深,66条JavaScript面试知识点(七)
 - 
                        
作者:JakeZhang转发链接:https://juejin.im/post/5ef8377f6fb9a07e693a6061目录...
 
- 2024前端面试真题之—VUE篇_前端面试题vue2020及答案
 - 
                        
添加图片注释,不超过140字(可选)...
 
- 今年最常见的前端面试题,你会做几道?
 - 
                        
在面试或招聘前端开发人员时,期望、现实和需求之间总是存在着巨大差距。面试其实是一个交流想法的地方,挑战人们的思考方式,并客观地分析给定的问题。可以通过面试了解人们如何做出决策,了解一个人对技术和解决问...
 
- 一周热门
 
- 最近发表
 - 
- oracle数据导入导出_oracle数据导入导出工具
 - 继续学习Python中的while true/break语句
 - python continue和break的区别_python中break语句和continue语句的区别
 - 简单学Python——关键字6——break和continue
 - 2-1,0基础学Python之 break退出循环、 continue继续循环 多重循
 - Python 中 break 和 continue 傻傻分不清
 - python中的流程控制语句:continue、break 和 return使用方法
 - L017:continue和break - 教程文案
 - 作为前端开发者,你都经历过怎样的面试?
 - 面试被问 const 是否不可变?这样回答才显功底
 
 
- 标签列表
 - 
- git pull (33)
 - git fetch (35)
 - mysql insert (35)
 - mysql distinct (37)
 - concat_ws (36)
 - java continue (36)
 - jenkins官网 (37)
 - mysql 子查询 (37)
 - python元组 (33)
 - mybatis 分页 (35)
 - vba split (37)
 - redis watch (34)
 - python list sort (37)
 - nvarchar2 (34)
 - mysql not null (36)
 - hmset (35)
 - python telnet (35)
 - python readlines() 方法 (36)
 - munmap (35)
 - docker network create (35)
 - redis 集合 (37)
 - python sftp (37)
 - setpriority (34)
 - c语言 switch (34)
 - git commit (34)
 
 
