使用docker安装zlmediakit服务(zlm)

zlmediakit安装

zlmediakit安装需要依赖环境和系统配置,所以采用docker的方式来安装不容易出错。

docker pull拉取镜像(最新)

docker pull zlmediakit/zlmediakit:master

然后先运行起来

sudo docker run -d -p 1935:1935 -p 80:80 -p 8554:554 -p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp --name zlmediakit zlmediakit/zlmediakit:master

拷贝配置文件到本地,方便之后修改配置文件

sudo docker cp -a zlmediakit:/opt/media  /home/zlmediakit

在这里插入图片描述
删除docker服务

docker rm -f zlmediakit

指定配置文件启动(后面需要修改配置文件)

sudo docker run --net=host -d -p 1935:1935 -p 80:80 -p 20080:20080 -p 554:554 -p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp -p 30000-30500:30000-30500 -p 30000-30500:30000-30500/udp -v /home/zlmediakit/media/bin:/opt/media/bin -v /home/zlmediakit/media/conf:/opt/media/conf --name zlmediakit --restart=always zlmediakit/zlmediakit:master

注意:这里使用的80端口作为后端访问端口以及web页面访问端口(http://192.168.0.38/webrtc/),如下:

启动成后访问:http://192.168.0.38:80/webrtc/

在这里插入图片描述
这里zlmediakit服务就已经部署完成!但注意,zlmediakit的config.ini配置文件需要修改。

zlmediakit的config.ini文件参考:

; auto-generated by mINI class {[api]
apiDebug=1
defaultSnap=./www/logo.png
downloadRoot=./www
secret=ENM4A752UGNZ0CnscUpEnPhculcWUGJU
snapRoot=./www/snap/[cluster]
origin_url=
retry_count=3
timeout_sec=15[ffmpeg]
bin=/usr/bin/ffmpeg
cmd=%s -re -i %s -c:a aac -strict -2 -ar 44100 -ab 48k -c:v libx264 -f flv %s
log=./ffmpeg/ffmpeg.log
restart_sec=0
snap=%s -i %s -y -f mjpeg -frames:v 1 -an %s[general]
broadcast_player_count_changed=0
check_nvidia_dev=1
enableVhost=0
enable_ffmpeg_log=0
flowThreshold=1024
listen_ip=::
maxStreamWaitMS=15000
mediaServerId=zlmediakit-local
mergeWriteMS=0
resetWhenRePlay=1
streamNoneReaderDelayMS=20000
unready_frame_cache=100
wait_add_track_ms=3000
wait_audio_track_data_ms=1000
wait_track_ready_ms=10000[hls]
broadcastRecordTs=0
deleteDelaySec=10
fastRegister=0
fileBufSize=65536
segDelay=0
segDur=2
segKeep=0
segNum=3
segRetain=5[hook]
alive_interval=10.0
enable=0
on_flow_report=
on_http_access=
on_play=
on_publish=
on_record_mp4=
on_record_ts=
on_rtp_server_timeout=
on_rtsp_auth=
on_rtsp_realm=
on_send_rtp_stopped=
on_server_exited=
on_server_keepalive=
on_server_started=
on_shell_login=
on_stream_changed=
on_stream_none_reader=
on_stream_not_found=
retry=1
retry_delay=3.0
stream_changed_schemas=rtsp/rtmp/fmp4/ts/hls/hls.fmp4
timeoutSec=10[http]
allow_cross_domains=1
allow_ip_range=::1,127.0.0.1,172.16.0.0-172.31.255.255,192.168.0.0-192.168.255.255,10.0.0.0-10.255.255.255
charSet=utf-8
dirMenu=1
forbidCacheSuffix=
forwarded_ip_header=
keepAliveSecond=30
maxReqSize=40960
notFound=<html><head><title>404 Not Found</title></head><body bgcolor="white"><center><h1>您访问的资源不存在!</h1></center><hr><center>ZLMediaKit(git hash:8ccb4e9/2024-11-01T14:07:55+08:00,branch:master,build time:2024-11-01T06:09:19)</center></body></html>
port=80
rootPath=./www
sendBufSize=65536
sslport=443
virtualPath=[multicast]
addrMax=239.255.255.255
addrMin=239.0.0.0
udpTTL=64[protocol]
add_mute_audio=1
auto_close=0
continue_push_ms=15000
enable_audio=1
enable_fmp4=1
enable_hls=1
enable_hls_fmp4=0
enable_mp4=0
enable_rtmp=1
enable_rtsp=1
enable_ts=1
fmp4_demand=0
hls_demand=0
hls_save_path=./www
modify_stamp=2
mp4_as_player=0
mp4_max_second=3600
mp4_save_path=./www
paced_sender_ms=0
rtmp_demand=0
rtsp_demand=0
ts_demand=0[record]
appName=record
enableFmp4=0
fastStart=0
fileBufSize=65536
fileRepeat=0
sampleMS=500[rtc]
datachannel_echo=1
externIP=
maxRtpCacheMS=5000
maxRtpCacheSize=2048
max_bitrate=0
min_bitrate=0
nackIntervalRatio=1.0
nackMaxCount=15
nackMaxMS=3000
nackMaxSize=2048
nackRtpSize=8
port=8000
preferredCodecA=PCMA,PCMU,opus,mpeg4-generic
preferredCodecV=H264,H265,AV1,VP9,VP8
rembBitRate=0
start_bitrate=0
tcpPort=8000
timeoutSec=15[rtmp]
directProxy=1
enhanced=0
handshakeSecond=15
keepAliveSecond=15
port=1935
sslport=0[rtp]
audioMtuSize=600
h264_stap_a=1
lowLatency=0
rtpMaxSize=10
videoMtuSize=1400[rtp_proxy]
dumpDir=
gop_cache=1
h264_pt=98
h265_pt=99
opus_pt=100
port=10000
port_range=30000-35000
ps_pt=96
rtp_g711_dur_ms=100
timeoutSec=15
udp_recv_socket_buffer=4194304[rtsp]
authBasic=0
directProxy=1
handshakeSecond=15
keepAliveSecond=15
lowLatency=0
port=554
rtpTransportType=-1
sslport=0[shell]
maxReqSize=1024
port=0[srt]
latencyMul=4
pktBufSize=8192
port=9000
timeoutSec=5; } ---

这里有几点需要注意:
1.部署ZLM时,config文件中的secret不能是默认的,否则会报错
(如上:secret=ENM4A752UGNZ0CnscUpEnPhculcWUGJU)
2.ZLM的config文件所需要修改的参数如下:secret,mediaServerId,http-port(可不改)
(如上:mediaServerId=zlmediakit-local,这里的zlmediakit-local需要注意,在wvp服务中需要对应,否则无法点播成功)

在这里插入图片描述
3.启动wvp的时候,出现了启动成功但是连接zlm失败的情况,因为zlm是docker部署的,因此需要配置config文件中的allow_ip_range参数,将本机的ip地址配置进去,否则连不上
在这里插入图片描述
这里的192.168.0.0-192.168.255.255已经包含了我的本地ip所以不用添加,若未包含则需要添加本地IP

重点:在如上配置中[hook]配置不需要修改,因为在wvp首次连接zlm服务会自动注册当前连接的服务信息!!!

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

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

相关文章

thinkphp如何查出值是null的布尔类型的值

exp 是用原生表达式查询的意思 $resDb::table(tbcardlist)->where(qc_hr_wac_hadsend,exp,is null or qc_hr_wac_hadsend0)->order(ID,asc)->find();查询值是null的字段的值时&#xff0c;要写 name is null 写 name null 是查不出正确的数据的 要写 name is null …

第九周预习报告

文章目录 密码系统设计第九周预习报告学习内容AI 对学习内容的总结&#xff08;1分&#xff09;要求总结 对 AI 总结的反思与补充&#xff08;2分&#xff09;反思与补充 补充内容反思学习思维导图&#xff08;2分&#xff09;要求思维导图代码导图 基于 AI 的学习&#xff08;…

GB/T 43206—2023信息安全技术信息系统密码应用测评要求(五)

文章目录 附录AA.1 概述A.2 密钥产生A.3 密钥分发A.4 密钥存储A.5 密钥使用A.6 密钥更新A.7 密钥归档A. 8 密钥撤销A.9 密钥备份A.10 密钥恢复A.11 密钥销毁 附录B附录C 附录A A.1 概述 密钥管理对于保证密钥全生存周期的安全性至关重要 ,可以保证密钥(除公开密钥外) 不被非授…

phpstudy 使用php8.2.9版本报错问题

phpstudy 使用php8.2.9版本报错问题 1、如果php8的扩展控制面板开启无效的话&#xff0c;可以手动开启试试 2、php有报错日志&#xff1a; Fatal error: Directive ‘track_errors’ is no longer available in PHP in Unknown on line 0 在切换php版本到更高版本时在终端查…

typora-like theme in obsidian

我最近用obsidian的时候会非常怀念typora的公式格式。但是网上搜不到比较合适的typora格式&#xff0c;所以写了一个typora的css代码。 使用方法&#xff1a;obsidian -> 设置 -> 外观 -> &#xff08;最下面&#xff09;css代码片段 -> 点击文件夹图标 -> 在文…

测试实项中的偶必现难测bug--验证码问题

一、收不到验证码 1、网络问题 原因:手机的网络信号弱,或者数据连接不稳定,可能导致验证码短信无法及时接收。解决方法:确保手机有稳定的网络连接,尝试切换到更稳定的 Wi-Fi 网络或移动数据网络。如果信号较弱,可以尝试在信号更好的地方接收验证码。2、短信拦截功能 原因…

【科普小白】LLM大语言模型的基本原理

一、要了解LLM大模型的基本原理就要先来了解一下自然语言处理&#xff08;NLP&#xff09;。 NLP 是 AI 的一个子领域&#xff0c;专注于使计算机能够处理、解释和生成人类语言&#xff0c;主要任务包括&#xff1a;文本分类、自动翻译、问题回答、生成文本等。到底是NLP促生了…

初识网络编程TCP/IP

目录 前言相关名词解释应用层协议——HTTP传输层协议socketTCP帧头格式三次握手、四次挥手 UDPTCP的socket实现 参考博文 前言 刚碰到网络编程&#xff0c;会出现一堆协议、概念、这层次那技术的&#xff0c;头都大了&#xff0c;还是得总结总结…… 相关名词解释 ✨✨网络…

整合本地市场机会 同城小程序打造社区商圈

同城市场中&#xff0c;商家与消费者之间的互动和交易模式正在发生深刻变化&#xff0c;同城小程序成为了企业、商户和消费者之间连接的桥梁&#xff0c;成为打造社区商圈、整合本地市场机会的重要工具。今天小编分享&#xff0c;同城小程序怎么一个软件整合以前十几个APP做的事…

安当ASP系统:适合中小企业的轻量级Radius认证服务器

安当ASP&#xff08;Authentication Service Platform&#xff09;身份认证系统是一款功能强大的身份认证服务平台&#xff0c;特别适用于中小企业。其中&#xff0c;简约型Radius认证服务器是安当ASP系统中的一个重要组成部分。以下是对该系统的详细介绍&#xff1a; 一、主要…

(一)<江科大STM32>——软件环境搭建+新建工程步骤

一、软件环境搭建 &#xff08;1&#xff09;安装 Keil5 MDK 文件路径&#xff1a;江科大stm32入门教程资料/Keil5 MDK/MDK524a.EXE&#xff0c;安装即可&#xff0c;路径不能有中文。 &#xff08;2&#xff09;安装器件支持包 文件路径&#xff1a;江科大stm32入门教程资料…

面试经典 150 题:121,125

121. 买卖股票的最佳时机 【参考代码】 动态规划解决 class Solution { public:int maxProfit(vector<int>& prices) {int size prices.size();int min_price 99999, max_profit 0;for(int i0; i<size; i){if(prices[i] < min_price){min_price prices[i…

Spring boot 读模块项目升级为spring cloud 项目步骤以及问题

1.结构说明 bean 模块 &#xff0c;public 模块&#xff0c; client 模块&#xff0c; erp模块&#xff0c;system 主模块。 2.环境说明以及pom 原本环境 新环境 mysql 5.7 -------------- mysql 8.0 maven 3.9.6 jdk 8 -----------…

Linux系统-初始化

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 这是Linux进阶部分的最后一大章。讲完这一章以后&#xff0c;我们Linux进阶部分讲完以后&#xff0c;我们的Linux操作部分就…

element-plus的Tree 树形控件添加图标

该文章为本菜鸡学习记录&#xff0c;如有错误还请大佬指教 本人刚开始接触vue框架&#xff0c;在使用element-plus组件想实现树形控件&#xff0c;发现官网的组件示例没有图标区分显示 实现效果 代码 <temple 部分 <el-tree :data"data" node-click"hand…

【详细 工程向】基于Smart3D的五镜头相机三维重建

数据部分&#xff1a; 数据要求 &#xff08;1&#xff09;每条行带至少从 3 个不同的视角进行拍摄。 &#xff08;2&#xff09;相邻相片之间的重叠度通常要求大于三分之二。 &#xff08;3&#xff09;不同拍摄视角之间夹角应该少于 15 度。 &#xff08;4&#xff09;通…

pdf转excel;pdf中表格提取

一、问题描述 在工作中或多或少会遇到&#xff1a;需要将某份pdf中的表格数据提取出来&#xff0c;以便能够“修改使用”数据 可将pdf中的表格提取出来&#xff0c;解决办法还有点复杂 尤其涉及“pdf中表格不是标准的单元格”的时候&#xff0c;提取数据到excel不太容易 比…

mean_x2 = (x**2).mean(dim=dims, keepdims=True)

这行代码的作用是计算输入张量 x 在指定维度上的平方均值&#xff0c;并保持原始维度的形状。具体来说&#xff1a; mean_x2 (x**2).mean(dimdims, keepdimsTrue) # [b,1,1] 参数解释 x**2&#xff1a;对输入张量 x 的每个元素进行平方运算。.mean(dimdims, keepdimsTrue)…

数学建模学习(136):使用Python基于Fuzzy WSM、Fuzzy WPM、Fuzzy WASPAS的多准则决策分析

1. 算法介绍 1.1 Fuzzy WSM、Fuzzy WPM、Fuzzy WASPAS 的基本概念和背景 模糊多属性决策(MADM)方法是解决复杂决策问题的重要工具,尤其是在信息不确定且难以量化的情况下。Fuzzy WSM(Fuzzy Weighted Sum Model)、Fuzzy WPM(Fuzzy Weighted Product Model)、以及 Fuzzy…

HikariCP与Druid对比

环境&#xff1a;springboot3、jdk17 1.HikariCP与Druid的对比 HikariCP 与 Druid都是常用的数据库连接池实现&#xff0c;各有各的优点&#xff1b; HikariCPDruid性能目前性能最好的数据库连接池弱于HikariCP功能功能简单功能丰富&#xff0c;提供了SQL执行日志、慢查询日志…