使用docker安装zlmediakit服务(zlm)

embedded/2024/11/13 22:41:38/

zlmediakit>zlmediakit_0">zlmediakit>zlmediakit安装

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

docker pull拉取镜像(最新)

docker pull zlmediakit>zlmediakit/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>zlmediakit/zlmediakit>zlmediakit:master

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

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

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

docker rm -f zlmediakit>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>zlmediakit/media/bin:/opt/media/bin -v /home/zlmediakit>zlmediakit/media/conf:/opt/media/conf --name zlmediakit>zlmediakit --restart=always zlmediakit>zlmediakit/zlmediakit>zlmediakit:master

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

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

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

zlmediakit>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>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>zlmediakit-local,这里的zlmediakit>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.ppmy.cn/embedded/136849.html

相关文章

为什么在Ubuntu下使用VScode开发C++程序时需要手动配置链接库

为什么在Ubuntu下使用VScode开发C程序时需要手动配置链接库 在Ubuntu下使用VSCode开发C程序时需要手动配置链接库&#xff0c;这主要与VSCode的性质和Linux平台的编译环境有关。以下是几个关键点解释为什么这样做是必要的&#xff1a; 1. VSCode的编辑器性质 VSCode本质上是…

蓝牙音响音频功放:【矽源特HAA9809 AB+D类自动切换】

目录 1&#xff1a;HAA9809特性 2&#xff1a;典型应用电路 3&#xff1a;CTRL管脚控制信息 4&#xff1a;一线脉冲控制方式 5&#xff1a;输入电阻&#xff0c;调节放大增益 6&#xff1a;输入电容&#xff0c;调节频响 7&#xff1a;总结 矽源特ChipSourceTek-HAA9809…

火山引擎云服务docker 安装

安装 Docker 登录云服务器。 执行以下命令&#xff0c;添加 yum 源。 yum update -y yum install epel-release -y yum clean all yum list依次执行以下命令&#xff0c;添加Docker CE镜像源。更多操作请参考Docker CE镜像。 # 安装必要的一些系统工具 sudo yum install -y yu…

信息安全数学基础(47)域的结构

一、域的定义 设F为一个非空集合&#xff0c;在其上定义两种运算&#xff1a;加法和乘法。如果这两种运算在集合上封闭&#xff0c;且满足以下条件&#xff0c;则称F对于规定的乘法和加法构成一个域&#xff1a; F中所有元素对于加法形成加法交换群&#xff0c;即加法满足交换律…

# 10. 同步指令

10. 同步指令 10.1 方法级别的同步 组成 java虚拟机支持两种同步结构:方法级的同步和方法内部一段指令序列的同步&#xff0c;这两种同步都是使用monitor来支持的。 方法级的同步:是隐式的&#xff0c;即无须通过字节码指令来控制&#xff0c;它实现在方法调用和返回操作之中…

android anr input 流程分析

我这里将input anr分两大部分&#xff0c;一个是焦点窗口相关&#xff0c;一个是焦点事件相关 1 焦点窗口 在每次监测anr的时候&#xff0c;最先检查的是焦点窗口的获取情况 在监测事件是否超时之前有一个方法监测焦点窗口的&#xff0c;findFocuseWindowTargetsLocked&#…

【学习笔记】SAP ABAP——OPEN SQL(一)【INTO语句】

【INTO语句】 结构体插入(插入一条语句时) SELECT...INTO [CORRESPONDING FIELDS OF] <wa> FROM <db> WHERE <condition>.内表插入(插入多条语句时) SELECT...INTO|APPENDING [CORRESPONDING FIELDS OF] TABLE <itab>FROM <db> WHERE <con…

【日常经验】RPC 调用的分类及示例

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Vue专栏&#xff1a;日常经验 ⏰️创作时间&#xff1a;2024年11月6日09点23分 文章目录 RPC调用的分类及示例一、RPC调用的分类&#xff08;一&#xff09;基于传统HTTP协议的RPC&#xff08;二&#xff09;基…