Ubuntu18.04 编译安装 ZLMediaKit

2023-11-09

目录

1-- 下载ZLMediaKit项目代码

2-- 安装依赖

2-1 安装gcc编译器

2-2 安装cmake

2-3 安装依赖库

3-- 编译项目

4-- 运行

5-- 推流测试

6-- 使用url规则播放推流

7-- 参考


1-- 下载ZLMediaKit项目代码

git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit(只能通过git下载,不能用github下载zip包的形式)
cd ZLMediaKit
git submodule update --init

注:只能通过git下载,不能用github下载zip包的形式。

2-- 安装依赖

2-1 安装gcc编译器

# gcc版本>=4.8

# debian系操作系统(包括ubuntu系用户)使用以下代码进行安装gcc编译器

gcc --version

sudo apt-get install build-essential

2-2 安装cmake

# debian系操作系统(包括ubuntu系用户)使用以下代码进行安装cmake

cmake --version
sudo apt-get install cmake

2-3 安装依赖库

# 先执行
apt-get update
# 再安装依赖库
sudo apt-get install libssl-dev
sudo apt-get install libsdl-dev
# 由于源的原因,安装以下三个库的速度较慢,经常time out
sudo apt-get install libavcodec-dev # 安装这个依赖库会很慢,多安装几次,官方安装教程的建议是不安装这个库也不影响
sudo apt-get install libavutil-dev # 安装这个依赖库会很慢,多安装几次,官方安装教程的建议是不安装这个库也不影响
sudo apt-get install ffmpeg # 安装这个依赖库会很慢,多安装几次,官方安装教程的建议是不安装这个库也不影响

3-- 编译项目

cd ZLMediaKit
mkdir build
cd build
cmake ..
make -j4

4-- 运行

cd .. # 退出build文件夹
cd release/linux/Debug

# 运行以下程序了解启动参数
./MediaServer -h

# 以守护进程模式启动
./MediaServer -d &

以后,只需要进入Debug文件夹运行代码 ./MediaServer -d & 即可启动ZLM。

注:再次启动ZLM时,可能会由于进程残留,报端口被占用的错误。

解决方法:更改/ZLMediaKit/release/linux/Debug路径下的config.ini报错的端口号即可。

5-- 推流测试

# 5-1 使用rtsp方式推流
# h264推流(修改以下代码的视频地址即可)
ffmpeg -re -i "/civi/ZLMediaKit/final_demo.mp4" -vcodec h264 -acodec aac -f rtsp -rtsp_transport tcp rtsp://127.0.0.1/live/test

# h265推流
ffmpeg -re -i "/civi/ZLMediaKit/final_demo.mp4" -vcodec h265 -acodec aac -f rtsp -rtsp_transport tcp rtsp://127.0.0.1/live/test
# 使用h265推流时报错

# 5-2 使用rtmp方式推流
ffmpeg -re -i "/civi/ZLMediaKit/final_demo.mp4" -vcodec h264 -acodec aac -f flv rtmp://127.0.0.1/live/test

# 5-3 使用rtp方式推流
# h264推流
ffmpeg -re -i "/civi/ZLMediaKit/final_demo.mp4" -vcodec h264 -acodec aac -f rtp_mpegts rtp://127.0.0.1:10000

# h265推流
ffmpeg -re -i "/civi/ZLMediaKit/final_demo.mp4" -vcodec h265 -acodec aac -f rtp_mpegts rtp://127.0.0.1:10000 # failed

6-- 使用url规则播放推流

# 推流

ffmpeg -re -i "/civi/Running_Recognition_Note/output_5.30/test6.mp4" -vcodec h264 -acodec aac -f rtsp rtsp://127.0.0.1/live/test

  # 播放测试

ffplay rtsp://127.0.0.1/live/test

7-- 参考

官方安装文档

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu18.04 编译安装 ZLMediaKit 的相关文章

  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 带有 CUDA 的 Tensorflow:导入错误

    我已经按照 NVIDIA 教程中的说明一步步安装了 TensorFlow Ubuntu 16 04 桌面版 GTX 970 http www nvidia com object gpu accelerated applications te
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 为什么 Linux perf 使用事件 l1d.replacement 来处理 x86 上的“L1 dcache misses”?

    在英特尔 x86 上 Linux用途 https stackoverflow com a 52172985 149138事件l1d replacements来实施其L1 dcache load misses event 该事件定义如下 计数
  • 我可以从命令行打印 html 文件(带有图像、css)吗?

    我想从脚本中打印带有图像的样式化 html 页面 谁能建议一个开源解决方案 我使用的是 Linux Ubuntu 8 04 但也对其他操作系统的解决方案感兴趣 你可以给html2ps http user it uu se jan html2
  • Linux中的定时器类

    我需要一个计时器来以相对较低的分辨率执行回调 在 Linux 中实现此类 C 计时器类的最佳方法是什么 有我可以使用的库吗 如果您在框架 Glib Qt Wx 内编写 那么您已经拥有一个具有定时回调功能的事件循环 我认为情况并非如此 如果您
  • fopen 不返回

    我在 C 程序中使用 fopen 以只读模式 r 打开文件 但就我而言 我观察到 fopen 调用没有返回 它不返回 NULL 或有效指针 执行在 fopen 调用时被阻止 文件补丁绝对正确 我已经验证过 并且不存在与权限相关的问题 任何人
  • Android 时钟滴答数 [赫兹]

    关于 proc pid stat 中应用程序的总 CPU 使用率 https stackoverflow com questions 16726779 total cpu usage of an application from proc
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • 在 Ubuntu 中使用 Gstreamer 通过 RTP 协议流式传输 Mp4 视频

    我正在尝试从本地目录获取视频文件 启用来自服务器的流并从客户端捕获这些帧 我使用了以下管道 服务器端 gst launch v filesrc location home gokul Videos Econ TestVideo radioa
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • Pyaudio 安装错误 - “命令‘gcc’失败,退出状态 1”

    我正在运行 Ubuntu 11 04 Python 2 7 1 并想安装 Pyaudio 于是我跑了 sudo easy install pyaudio 在终端中 进程退出并显示以下错误消息 Searching for pyaudio Re
  • Linux:在文件保存时触发 Shell 命令

    我想在修改文件时自动触发 shell 命令 我认为这可以通过注册 inotify 挂钩并调用来在代码中完成system 但是是否有更高级别的 bash 命令可以完成此任务 尝试 inotify 工具 我在复制链接时遇到问题 抱歉 但 Git
  • iptables通过注释删除特定规则

    我需要删除一些具有相同评论的规则 例如 我有带有 comment test it 的规则 所以我可以像这样获得它们的列表 sudo iptables t nat L grep test it 但是我怎样才能删除所有带有注释 测试它 的 PR
  • Linux 中什么处理 ping?

    我想覆盖 更改 linux 处理 ping icmp echo 请求数据包的方式 这意味着我想运行自己的服务器来回复传入的 icmp 回显请求或其他 数据包 但为了使其正常工作 我想我需要禁用 Linux 的默认 ping icmp 数据包
  • ubuntu:升级软件(cmake)-版本消歧(本地编译)[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我的机器上安装了 cmake 2 8 0 来自 ubuntu 软件包 二进制文件放置在 usr bin cmake 中 我需要将 cmake 版本至少

随机推荐

  • zabbix安装部署

    前期准备 安装mysql数据库和nginx 一 下载zabbix rpm Uvh https repo zabbix com zabbix 4 4 rhel 7 x86 64 zabbix release 4 4 1 el7 noarch
  • 关于ue4.27像素流送打包后的本地服务器问题

    我用4 27版本时 打包后老是出问题 只能用引擎的信令服务器 这怎么能行呢 不能把引擎放在服务器上吧 看了好多视频教程 发现有好几个run bat 而我只有一个run local bat 邪门了 后来在b站上 有人在评论区说了下 应该是4
  • 火山PC锐浪报表使用教程1(Grid++Report)

    前言 当前演示环境为Win7 64X 系统环境 因驱动环境不同 连接串 也会有所差异 当前文章中所演示的是在本机电脑 上能成功运行的 如你电脑上无法正常运行 请更换 连接串 准备工作 1 安装Grid Report 锐浪 方便设计使用 下载
  • express集群 redis管理session时,不同子进程sessionID不同的问题

    需要保证session签名一致 否则不同进程间不共享session
  • 已解决AttributeError: ‘function‘ object has no attribute ‘font‘

    已解决 Python xlwt写入Excel报错 AttributeError function object has no attribute font 文章目录 报错代码 报错翻译 报错原因 解决方法 千人全栈VIP答疑群联系博主帮忙解
  • 开源项目-CRM客户关系管理系统

    哈喽 大家好 今天给大家带来一个开源系统 CRM客户关系管理系统 主要功能包括客户管理 客户流失 销售机会 客户关怀等模块 系统开发环境以及版本 操作系统 Windows 7 集成开发工具 Eclipse EE 4 7 编译环境 JDK 1
  • Python UI自动化 —— 关键字+excel表格数据驱动

    步骤 1 对selenium进行二次封装 创建关键字的库 2 准备一个表格文件来写入所有测试用例步骤 3 对表格内容进行读取 使用映射关系来对用例进行调用执行 4 执行用例 1 对selenium进行二次封装 创建关键字的库 from ti
  • RecyclerView多种方法为Adapter设置点击事件

    文章目录 方法一 在Adapter单独设置 方法二 提供自定义接口 方法三 使用回调 方法一 在Adapter单独设置 在Adapter的onCreateViewHolder或者onBindViewHolder单独为每个组件设置点击事件 两
  • 3分钟弄清楚javascript的堆栈原理

    首先了解一下Javascript的堆栈概念 堆 栈 两者都是存放临时数据的地方 栈 stack 栈的特点是 LIFO 即后进先出 Last in first out 数据存储时只能从顶部逐个存入 取出时也需从顶部逐个取出 比如一个乒乓球的盒
  • mysql学习笔记(3)_DDL(Data Define Language)

    DDL Data Define Language 数据定义语言 数据定义语言 库和表的管理 1 库的管理 创建 修改 删除 2 表的管理 创建 修改 删除 创建 create 修改 alter 删除 drop 库的管理 1 创建名为book
  • 笔记-TCP/IP IPv6遇到的问题

    笔记 TCP IP IPv6遇到的问题 linux平台 问题 IPv6地址可ping通 但connect不上 问题 IPv6 Scope Link连接问题 linux平台 问题 IPv6地址可ping通 但connect不上 原因 linu
  • Littlevgl的时间显示

    Littlevgl的时间显示 基于stm32的littlevgl RTC时间显示 获取时间 不想看的可以点击 完整代码下载代码 验证效果 效果图在最底 获取RTC时间 放入main函数的while循环里面 void calendar get
  • Obsidian笔记运用及分享

    这是一篇关于Obsidian笔记软件的运用及本人的做的一些笔记分享 以后也会慢慢的根据自己所学 所看的书籍进行笔记的更新 因为存在着之前看的一些内容没有做笔记 所以会导致部分的内容不在笔记上 笔记中的内容有些部分会比较简洁 也有部分的内容是
  • nginx反向代理服务,因配置文件错误导致访问资源时出现404

    最近测试手上的项目 出现访问服务器的资源出现404的错误 这个是不应该会出现的问题 因为在此之前经过测试是没问题 下面是详细情况 1 公司的服务器都是做过nginx反向代理 2 访问路径是在tomcat中配置过虚拟路径 3 前几天服务器有做
  • 数据挖掘及管理系统-机器学习和数据挖掘课程设计

    这学期做的一个课设 在web的基础上加入了简单的聚类算法 并将其可视化 采用springboot freemarker完成 可视化采用echarts 算是对自己学习web以来的转化实践吧 代码地址米其林餐厅数据挖掘管理系统 具体都在READ
  • 对比损失(Contrastive Loss)

    其中 W 是网络权重 Y是成对标签 如果X1 X2这对样本属于同一个类 Y 0 属于不同类则 Y 1 Dw 是 X1 与 X2 在潜变量空间的欧几里德距离 当Y 0 调整参数最小化X1与X2之间的距离 当Y 1 如果X1与X2之间距离大于m
  • 学java从0开始——记录1

    了解我的文章的知道我是学python的 对于java跟看天书一样 但是没办法生活所迫 兜兜转转开始学java 本次学习记录的是了解java语言特点和JAVA JDK环境变量配置 干不干货我不知道 但是我不记录我会忘 一 java语言特点 1
  • linux查看ssh连接数,查看linux中的TCP连接数

    一 查看哪些IP连接本机 netstat an 二 查看TCP连接数 1 统计80端口连接数 netstat nat grep i 80 wc l 2 统计httpd协议连接数 ps ef grep httpd wc l 3 统计已连接上的
  • Vscode 配置 matlab 环境

    文章目录 一 插件安装与配置 二 实例测试 在文章的开始 说明一下我所使用的是 matlab 2016a vscode 系统为 win10 vscode 可以去官网下载 VSCode中文网 Visual Studio Code中文官网 VS
  • Ubuntu18.04 编译安装 ZLMediaKit

    目录 1 下载ZLMediaKit项目代码 2 安装依赖 2 1 安装gcc编译器 2 2 安装cmake 2 3 安装依赖库 3 编译项目 4 运行 5 推流测试 6 使用url规则播放推流 7 参考 1 下载ZLMediaKit项目代码