From 1892185b23d9e89d2a357cc590066ca99297d771 Mon Sep 17 00:00:00 2001 From: xia-chu <771730766@qq.com> Date: Mon, 1 Dec 2025 20:03:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=BB=98=E8=AE=A4=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=EF=BC=8C=E6=94=AF=E6=8C=81=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=B3=A8=E9=87=8A=E5=92=8C=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 3rdpart/ZLToolKit | 2 +- conf/config.ini | 13 ++++++++++--- src/Common/config.cpp | 17 ++++++++++++++++- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/3rdpart/ZLToolKit b/3rdpart/ZLToolKit index 84a85315..493d14e1 160000 --- a/3rdpart/ZLToolKit +++ b/3rdpart/ZLToolKit @@ -1 +1 @@ -Subproject commit 84a853154215d045be2edb569a357c263e941bf1 +Subproject commit 493d14e1682cc0c79e72b3893dd98f865d45b8e9 diff --git a/conf/config.ini b/conf/config.ini index 40c9cf39..344118bc 100644 --- a/conf/config.ini +++ b/conf/config.ini @@ -338,7 +338,7 @@ gop_cache=1 #国标发送g711 rtp 打包时,每个包的语音时长是多少,默认是100 ms,范围为20~180ms (gb28181-2016,c.2.4规定), #最好为20 的倍数,程序自动向20的倍数取整 -rtp_g711_dur_ms = 100 +rtp_g711_dur_ms=100 #udp接收数据socket buffer大小配置 #4*1024*1024=4196304 udp_recv_socket_buffer=4194304 @@ -359,8 +359,12 @@ iceTransportPolicy=0 #STUN/TURN 服务Ice密码 iceUfrag=ZLMediaKit icePwd=ZLMediaKit +#webrtc datachannel是否回显数据,测试用 +datachannel_echo=1 + +max_stun_retry=7 #TURN服务分配端口池 -portRange=50000-65000 +port_range=49152-65535 #rtc播放推流、播放超时时间 timeoutSec=15 #本机对rtc客户端的可见ip,作为服务器时一般为公网ip,可有多个,用','分开,当置空时,会自动获取网卡ip @@ -426,7 +430,6 @@ pktBufSize=8192 #srt udp服务器的密码,为空表示不加密 passPhrase= - [rtsp] #rtsp专有鉴权方式是采用base64还是md5方式 authBasic=0 @@ -453,9 +456,13 @@ lowLatency=0 #当客户端发起RTSP SETUP的时候如果传输类型和此配置不一致则返回461 Unsupported transport #迫使客户端重新SETUP并切换到对应协议。目前支持FFMPEG和VLC rtpTransportType=-1 + [shell] #调试telnet服务器接受最大buffer大小 maxReqSize=1024 #调试telnet服务器监听端口 port=0 +# onvif搜索用 +[onvif] +port=3702 diff --git a/src/Common/config.cpp b/src/Common/config.cpp index 5810454b..22e95822 100644 --- a/src/Common/config.cpp +++ b/src/Common/config.cpp @@ -30,7 +30,22 @@ bool loadIniConfig(const char *ini_path) { ini = exePath() + ".ini"; } try { - mINI::Instance().parseFile(ini); + mINI tmp; + tmp.parseFile(ini); + + auto &ref = mINI::Instance(); + for (auto &pr : tmp) { + if (ref.find(pr.first) == ref.end()) { + // 新增键 + WarnL << "unknow config: " << pr.first << " = " << pr.second; + ref.emplace(pr); + } else { + // 更新键 + ref[pr.first] = pr.second; + } + } + // 更新注释和排序 + ref.updateFrom(tmp); NOTICE_EMIT(BroadcastReloadConfigArgs, Broadcast::kBroadcastReloadConfig); return true; } catch (std::exception &) {