编译ZLMediaKit

编译ZLMediaKit

flyfish
环境 Ubuntu20.04

准备工作

sudo apt install git
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install libssl-dev
sudo apt-get install libsdl-dev
sudo apt-get install libavcodec-dev
sudo apt-get install libavutil-dev
sudo apt-get install ffmpeg
sudo apt install net-tools

下载源码

#国内用户推荐从同步镜像网站gitee下载 
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
#千万不要忘记执行这句命令
git submodule update --init

编译命令

cd ZLMediaKit
mkdir build
cd build
#macOS下可能需要这样指定openss路径:cmake .. -DOPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2j/
cmake ..
make -j4

可执行文件MediaServerZLMediaKit/release/linux

执行结果

062 I [MediaServer] [58385-MediaServer] System.cpp:160 systemSetup | core文件大小设置为:18446744073709551615
062 I [MediaServer] [58385-MediaServer] System.cpp:169 systemSetup | 文件最大描述符个数设置为:1048576
062 I [MediaServer] [58385-MediaServer] main.cpp:261 start_main | ZLMediaKit(git hash:f69f3b3/2023-09-09T10:59:27+08:00,branch:master,build time:T23:13:34)
064 D [MediaServer] [58385-MediaServer] SSLBox.cpp:174 setContext | Add certificate of: default.zlmediakit.com
064 D [MediaServer] [58385-stamp thread] util.cpp:366 operator() | Stamp thread started
065 I [MediaServer] [58385-MediaServer] EventPoller.cpp:470 EventPollerPool | EventPoller created size: 8
065 W [MediaServer] [58385-MediaServer] main.cpp:359 start_main | The api.secret is invalid, modified it to: W1208w9vCyzVKkVsNvcUBvuf6fgzcdcW, saved config file: /home/ZLMediaKit/release/linux/Debug/config.ini
065 W [MediaServer] [58385-MediaServer] sockutil.cpp:421 bind_sock6 | Bind socket failed: permission denied
066 E [MediaServer] [58385-MediaServer] main.cpp:399 start_main | Start server failed: Listen on :: 554 failed: permission denied23:54:43.066 I [MediaServer] [58385-MediaServer]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/78407.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端原生socket封装

直接上代码 var _this ;function socket(url) {this.url url;this.websocket ;this.msg ;this.lockReconnect false; } // 初始化 socket.prototype.initWebsocket function() {if (WebSocket in window) {_this this;this.websocket new WebSocket(this.url);this.we…

Facebook最全进阶使用攻略

全球最大的社媒平台Facebook用户人数已经突破30亿,是外贸人不可错过的平台,今天就总结一下Facebook的相关问题,文章略长,建议收藏慢慢看。 本文目录: 1.Facebook账号注册 2.Facebook养号技巧 3.Facebook推广营销技…

mysql 插入更新数据

insert into insert into 语句进行插入时,如果插入的字段包含 主键或者唯一索引字段,那么, 1)主键或唯一索引 已存在,则插入失败 1062 - Duplicate entry 1 for key PRIMARY 2)只有主键或者唯一索 引不存…

java使用itext生成pdf

效果&#xff1a; maven依赖 <!--PDF处理--><!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.3</vers…

【Unity3D赛车游戏优化篇】【十】汽车粒子特效和引擎咆哮打造极速漂移

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

jdk 中的 keytool 的使用,以及提取 jks 文件中的公钥和私钥

这里暂时只需要知道如何使用就可以了。 首先是生成一个密钥&#xff0c; keytool -genkeypair -alias fanyfull -keypass ffkp123456 -validity 365 -storepass ffsp123456 -keystore fanyfull.jks -keyalg RSA解释一下这里的选项&#xff0c; -alias 密钥对的名称-keypass …

前端测试——端对端测试框架 Playwright 总结

在进行前端测试前&#xff0c;我们需要明确我们需要怎样的前端测试。 前端测试类型总结 前端应用测试分为几种常见类型: 端到端&#xff08;e2e&#xff09; &#xff1a;一个辅助机器人&#xff0c;表现得像一个用户&#xff0c;在应用程序周围点击&#xff0c;并验证其功能…

记录一次运行vue项目一直不成功的经历

参考&#xff1a;https://blog.csdn.net/qq_17162169/article/details/115718002 小伙伴昨天给我个项目&#xff0c;后端跑起来了&#xff0c;前端从今天早上到下午三点半都一直在尝试跑起来&#xff0c;终于刚刚搞好了&#xff0c;遇到的坑很多&#xff0c;简单记录一下 具体…

第十届IEEE电气工程与自动化国际学术论坛(IFEEA 2023)

第十届IEEE电气工程与自动化国际学术论坛&#xff08;IFEEA 2023&#xff09; 2023 10th International Forum on Electrical Engineering and Automation IFEEA论坛属一年一度的国际学术盛会。因其影响力及重要性&#xff0c;IFEEA论坛自创建筹办以来&#xff0c;便受到国内…

新版原型和原型链详解,看完整个人都通透

了解原型、原型链前需要先了解构造函数&#xff0c;new操作符 构造函数 构造函数是一种特殊的函数&#xff0c;主要用来初始化对象&#xff0c;即为对象成员变量赋初始值&#xff0c;它总与 new 一起使用。我们可以把对象中一些公共的属性和方法抽取出来&#xff0c;然后封装到…

手机提词器有哪些?简单介绍这一款

手机提词器有哪些&#xff1f;手机提词器在现代社会中越来越受欢迎&#xff0c;原因是它可以帮助人们提高演讲和朗读的效果。使用手机提词器可以让人们更加自信地面对演讲和朗读&#xff0c;不至于出现口误或读错字的情况。此外&#xff0c;手机提词器还可以帮助人们节省时间和…

淘客商品字符动态商品id转数字id

{ "code": 200, "data": { "itemId": "700407841432", "itemName": "安踏花苞短裤女五分裤夏季新款速干冰丝高腰宽松裤子透气工装短裤", "itemVideo": { "itemVideoThum…

vue3中实现监听dom

在vue3遇到业务需要监听窗口大小然后改变dom大小&#xff0c;下面是实现思路 1.dom <div class"dom"></div> 2.组件初始化获取dom //获取dom const dom ref()const updateDomWidth () > {dom.value document.querySelector(dom)//可以根据dom的值…

认识Git的工作区、暂存区与版本库

使用 git init 命令在 gitcode 文件夹下创建如下图所示的Git仓库。现在思考这样一个问题&#xff1a;gitcode目录下创建的README文件可以直接被git管理和追踪吗&#xff1f; 答案是否定的&#xff0c;因为只有 Git 本地仓库中的文件才可以被版本控制。什么&#xff1f;难道当前…

TableConvert-免费在线表格转工具 让表格转换变得更容易

在线表格转工具TableConvert TableConvert 是一个基于web的免费且强大在线表格转换工具&#xff0c;它可以在 Excel、CSV、LaTeX 表格、HTML、JSON 数组、insert SQL、Markdown 表格 和 MediaWiki 表格等之间进行互相转换&#xff0c;也可以通过在线表格编辑器轻松的创建和生成…

【Spring使用三级缓存解决循环依赖的过程】

testService1和testService2相互依赖 当Spring创建testService1对象时&#xff0c;它会先从一级缓存中查找是否存在testService1的实例。如果缓存中不存在testService1实例&#xff0c;它将继续查找二级缓存中是否存在testService1。如果二级缓存中也不存在testService1实例&…

【SpringCloud微服务--Eureka服务注册中心】

SpringCloud微服务全家桶学习笔记【持续更新】 gitee仓库 内容&#xff1a;SpringCloud SpringCloud alibaba 技术栈&#xff1a;Java8mavengit&#xff0c;githubNginxRabbitMQSpringBoot2.0 微服务架构概述 微服务架构是一种架构模式&#xff0c;它提倡将单一应用程序划…

分布式多级缓存

例子&#xff08;测试环境&#xff09; 项目结构图 运行反向代理服务器也就是负责反向代理到三个nginx的nginx&#xff0c;该nignx也负责前端页面的跳转。 该nginx的conf为下: 突出位置就是该nginx需要反向代理的其他nginx的IP和端口。 Lua语法 linux安装Lua #安装lua环境 …

Uniapp中使用uQRCode二维码跳转小程序页面

下载插件 uQRCode官网地址 引入插件 文件如下 //--------------------------------------------------------------------- // github https://github.com/Sansnn/uQRCode //---------------------------------------------------------------------let uQRCode = {};(functio…

Python--用户输入与While循环

1、input() 函数的工作原理 input() 函数让程序暂停运⾏&#xff0c;等待⽤户输⼊⼀些⽂本。获取⽤户输⼊ 后&#xff0c;Python 将其赋给⼀个变量&#xff0c;以便使⽤。 message input("Tell me something, and I will repeat it back to you: ") print(message…