From 4babf2b47b894c2fc445db46c00d88efbbecc1d0 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 10 一月 2023 16:26:52 +0800
Subject: [PATCH] 更新README

---
 doc/_media/3-1.png                                                                 |    0 
 src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java |    2 
 src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java       |   18 ++--
 doc/_media/index.png                                                               |    0 
 doc/_media/3.png                                                                   |    0 
 doc/_media/3-3.png                                                                 |    0 
 doc/_media/3-2.png                                                                 |    0 
 src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil.java                     |   24 ++++-
 README.md                                                                          |  155 ++++++++++++++------------------------
 doc/_media/2.png                                                                   |    0 
 10 files changed, 85 insertions(+), 114 deletions(-)

diff --git a/README.md b/README.md
index 050c138..b581dd6 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-![logo](https://raw.githubusercontent.com/648540858/wvp-GB28181-pro/wvp-28181-2.0/web_src/static/logo.png)
+![logo](doc/_media/logo.png)
 # 寮�绠卞嵆鐢ㄧ殑28181鍗忚瑙嗛骞冲彴
 
 [![Build Status](https://travis-ci.org/xia-chu/ZLMediaKit.svg?branch=master)](https://travis-ci.org/xia-chu/ZLMediaKit)
@@ -17,7 +17,7 @@
 # 搴旂敤鍦烘櫙锛�
 鏀寔娴忚鍣ㄦ棤鎻掍欢鎾斁鎽勫儚澶磋棰戙��  
 鏀寔鎽勫儚鏈恒�佸钩鍙般�丯VR绛夎澶囨帴鍏ャ�� 
-鏀寔鍥芥爣绾ц仈銆�  
+鏀寔鍥芥爣绾ц仈銆傚骞冲彴绾ц仈銆傝法缃戣棰戦瑙堛��
 鏀寔rtsp/rtmp绛夎棰戞祦杞彂鍒板浗鏍囧钩鍙般��  
 鏀寔rtsp/rtmp绛夋帹娴佽浆鍙戝埌鍥芥爣骞冲彴銆�  
 
@@ -31,62 +31,49 @@
 https://gitee.com/pan648540858/wvp-GB28181-pro.git
 
 # 鎴浘
-![build_1.png](https://images.gitee.com/uploads/images/2022/0304/101513_79632720_1018729.png "2022-03-04_09-51.png")
-![build_1.png](https://images.gitee.com/uploads/images/2022/0304/103025_5df016f9_1018729.png "2022-03-04_10-27.png")
-![build_1.png](https://images.gitee.com/uploads/images/2022/0304/101706_088fbafa_1018729.png "2022-03-04_09-52_1.png")
-![build_1.png](https://images.gitee.com/uploads/images/2022/0304/101756_3d662828_1018729.png "2022-03-04_10-00_1.png")
-![build_1.png](https://images.gitee.com/uploads/images/2022/0304/101823_19050c66_1018729.png "2022-03-04_10-12_1.png")
-![build_1.png](https://images.gitee.com/uploads/images/2022/0304/101848_e5a39557_1018729.png "2022-03-04_10-12_2.png")
-![build_1.png](https://images.gitee.com/uploads/images/2022/0304/101919_ee5b8c79_1018729.png "2022-03-04_10-13.png")
+![index](doc/_media/index.png "index.png")
+![2](doc/_media/2.png "2.png")
+![3](doc/_media/3.png "3.png")
+![3-1](doc/_media/3-1.png "3-1.png")
+![3-2](doc/_media/3-2.png "3-2.png")
+![3-3](doc/_media/3-3.png "3-3.png")
+![build_1](https://images.gitee.com/uploads/images/2022/0304/101919_ee5b8c79_1018729.png "2022-03-04_10-13.png")
 
-# 1.0 鍩虹鐗规��  
-1. 瑙嗛棰勮;  
-2. 浜戝彴鎺у埗锛堟柟鍚戙�佺缉鏀炬帶鍒讹級;  
-3. 瑙嗛璁惧淇℃伅鍚屾;   
-4. 绂诲湪绾跨洃鎺�;  
-5. 褰曞儚鏌ヨ涓庡洖鏀撅紙鍩轰簬NVR\DVR锛屾殏涓嶆敮鎸佸揩杩涖�乻eek鎿嶄綔锛�;  
-6. 鏃犱汉瑙傜湅鑷姩鏂祦;    
-7. 鏀寔UDP鍜孴CP涓ょ鍥芥爣淇′护浼犺緭妯″紡; 
-8. 闆嗘垚web鐣岄潰, 涓嶉渶瑕佸崟鐙儴缃插墠绔湇鍔�, 鐩存帴鍒╃敤wvp鍐呯疆鏂囦欢鏈嶅姟閮ㄧ讲, 闅弚vp涓�璧烽儴缃�;   
-9. 鏀寔骞冲彴鎺ュ叆, 閽堝澶у钩鍙板ぇ閲忚澶囩殑鎯呭喌杩涜浼樺寲;  
-10. 鏀寔妫�绱�,閫氶亾绛涢��;  
-11. 鏀寔鑷姩閰嶇疆ZLM濯掍綋鏈嶅姟, 鍑忓皯鍥犻厤缃棶棰樻墍鍑虹幇鐨勯棶棰�;  
-12. 鏀寔鍚敤udp澶氱鍙fā寮�, 鎻愰珮udp妯″紡涓嬪獟浣撲紶杈撴�ц兘;  
-13. 鏀寔閫氶亾鏄惁鍚湁闊抽鐨勮缃�;  
-14. 鏀寔閫氶亾瀛愮洰褰曟煡璇�;  
-15. 鏀寔udp/tcp鍥芥爣娴佷紶杈撴ā寮�;  
-16. 鏀寔鐩存帴杈撳嚭RTSP銆丷TMP銆丠TTP-FLV銆乄ebsocket-FLV銆丠LS澶氱鍗忚娴佸湴鍧�  
-17. 鏀寔鍥芥爣缃戠粶鏍℃椂  
-18. 鏀寔鍏綉閮ㄧ讲, 鏀寔wvp涓巣lm鍒嗗紑閮ㄧ讲   
-19. 鏀寔鎾斁h265, g.711鏍煎紡鐨勬祦(闇�瑕佸皢closeWaitRTPInfo璁句负false)
-20. 鎶ヨ淇℃伅澶勭悊锛屾敮鎸佸悜鍓嶇鎺ㄩ�佹姤璀︿俊鎭�
-
-# 1.0 鏂版敮鎸佺壒鎬�  
-1. 闆嗘垚web鐣岄潰, 涓嶉渶瑕佸崟鐙儴缃插墠绔湇鍔�, 鐩存帴鍒╃敤wvp鍐呯疆鏂囦欢鏈嶅姟閮ㄧ讲, 闅弚vp涓�璧烽儴缃�;   
-2. 鏀寔骞冲彴鎺ュ叆, 閽堝澶у钩鍙板ぇ閲忚澶囩殑鎯呭喌杩涜浼樺寲;  
-3. 鏀寔妫�绱�,閫氶亾绛涢��;  
-4. 鏀寔鑷姩閰嶇疆ZLM濯掍綋鏈嶅姟, 鍑忓皯鍥犻厤缃棶棰樻墍鍑虹幇鐨勯棶棰�;  
-5. 鏀寔鍚敤udp澶氱鍙fā寮�, 鎻愰珮udp妯″紡涓嬪獟浣撲紶杈撴�ц兘;  
-6. 鏀寔閫氶亾鏄惁鍚湁闊抽鐨勮缃�;  
-7. 鏀寔閫氶亾瀛愮洰褰曟煡璇�;  
-8. 鏀寔udp/tcp鍥芥爣娴佷紶杈撴ā寮�;  
-9. 鏀寔鐩存帴杈撳嚭RTSP銆丷TMP銆丠TTP-FLV銆乄ebsocket-FLV銆丠LS澶氱鍗忚娴佸湴鍧�  
-10. 鏀寔鍥芥爣缃戠粶鏍℃椂  
-11. 鏀寔鍏綉閮ㄧ讲, 鏀寔wvp涓巣lm鍒嗗紑閮ㄧ讲   
-12. 鏀寔鎾斁h265, g.711鏍煎紡鐨勬祦   
-13. 鏀寔鍥哄畾娴佸湴鍧�鍜岃嚜鍔ㄧ偣鎾紝鍚屾椂鏀寔鏈偣鎾椂鐩存帴鎾斁娴佸湴鍧�锛屼唬鐮佽嚜鍔ㄥ彂璧风偣鎾�.  ( [鏌ョ湅WIKI](https://github.com/648540858/wvp-GB28181-pro/wiki/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%9B%BA%E5%AE%9A%E6%92%AD%E6%94%BE%E5%9C%B0%E5%9D%80%E4%B8%8E%E8%87%AA%E5%8A%A8%E7%82%B9%E6%92%AD)锛�
-14. 鎶ヨ淇℃伅澶勭悊锛屾敮鎸佸悜鍓嶇鎺ㄩ�佹姤璀︿俊鎭�
-15. 鏀寔璁㈤槄涓庨�氱煡鏂规硶
-   -  [X] 绉诲姩浣嶇疆璁㈤槄
-   -  [X] 绉诲姩浣嶇疆閫氱煡澶勭悊
-   -  [X] 鎶ヨ浜嬩欢璁㈤槄
-   -  [X] 鎶ヨ浜嬩欢閫氱煡澶勭悊
-   -  [X] 璁惧鐩綍璁㈤槄
-   -  [X] 璁惧鐩綍閫氱煡澶勭悊
-16. 绉诲姩浣嶇疆鏌ヨ鍜屾樉绀猴紝鍙�氳繃閰嶇疆鏂囦欢璁剧疆绉诲姩浣嶇疆鍘嗗彶鏄惁瀛樺偍
-
-# 2.0 鏀寔鐗规��
-- [X] 鍥芥爣閫氶亾鍚戜笂绾ц仈
+# 鍔熻兘鐗规�� 
+-  [X] 闆嗘垚web鐣岄潰
+-  [X] 鍏煎鎬ц壇濂�
+-  [X] 鏀寔鐢靛瓙鍦板浘锛屾敮鎸佹帴鍏GS84鍜孏CJ02涓ょ鍧愭爣绯伙紝骞朵笖鑷姩杞寲涓哄悎閫傜殑鍧愭爣绯昏繘琛屽睍绀哄拰鍒嗗彂
+-  [X] 鎺ュ叆璁惧
+  -  [X] 瑙嗛棰勮
+  -  [X] 鏃犻檺鍒舵帴鍏ヨ矾鏁帮紝鑳芥帴鍏ュ灏戣澶囧彧鍙栧喅浜庝綘鐨勬湇鍔″櫒鎬ц兘
+  -  [X] 浜戝彴鎺у埗锛屾帶鍒惰澶囪浆鍚戯紝鎷夎繎锛屾媺杩�
+  -  [X] 棰勭疆浣嶆煡璇紝浣跨敤涓庤缃�
+  -  [X] 鏌ヨNVR/IPC涓婄殑褰曞儚涓庢挱鏀撅紝鏀寔鎸囧畾鏃堕棿鎾斁涓庝笅杞�
+  -  [X] 鏃犱汉瑙傜湅鑷姩鏂祦锛岃妭鐪佹祦閲�
+  -  [X] 瑙嗛璁惧淇℃伅鍚屾
+  -  [X] 绂诲湪绾跨洃鎺�
+  -  [X] 鏀寔鐩存帴杈撳嚭RTSP銆丷TMP銆丠TTP-FLV銆乄ebsocket-FLV銆丠LS澶氱鍗忚娴佸湴鍧�
+  -  [X] 鏀寔閫氳繃涓�涓祦鍦板潃鐩存帴瑙傜湅鎽勫儚澶达紝鏃犻渶鐧诲綍浠ュ強璋冪敤浠讳綍鎺ュ彛
+  -  [X] 鏀寔UDP鍜孴CP涓ょ鍥芥爣淇′护浼犺緭妯″紡
+  -  [X] 鏀寔UDP鍜孴CP涓ょ鍥芥爣娴佷紶杈撴ā寮�
+  -  [X] 鏀寔妫�绱�,閫氶亾绛涢��
+  -  [X] 鏀寔閫氶亾瀛愮洰褰曟煡璇�
+  -  [X] 鏀寔杩囨护闊抽锛岄槻姝㈡潅闊冲奖鍝嶈鐪�
+  -  [X] 鏀寔鍥芥爣缃戠粶鏍℃椂
+  -  [X] 鏀寔鎾斁H264鍜孒265
+  -  [X] 鎶ヨ淇℃伅澶勭悊锛屾敮鎸佸悜鍓嶇鎺ㄩ�佹姤璀︿俊鎭�
+  -  [X] 鏀寔璁㈤槄涓庨�氱煡鏂规硶
+    -  [X] 绉诲姩浣嶇疆璁㈤槄
+    -  [X] 绉诲姩浣嶇疆閫氱煡澶勭悊
+    -  [X] 鎶ヨ浜嬩欢璁㈤槄
+    -  [X] 鎶ヨ浜嬩欢閫氱煡澶勭悊
+    -  [X] 璁惧鐩綍璁㈤槄
+    -  [X] 璁惧鐩綍閫氱煡澶勭悊
+  -  [X] 绉诲姩浣嶇疆鏌ヨ鍜屾樉绀�
+  - [X] 鏀寔鎵嬪姩娣诲姞璁惧鍜岀粰璁惧璁剧疆鍗曠嫭鐨勫瘑鐮�
+-  [X] 鏀寔骞冲彴瀵规帴鎺ュ叆
+-  [X] 鏀寔鍥芥爣绾ц仈
+  - [X] 鍥芥爣閫氶亾鍚戜笂绾ц仈
     - [X] WEB娣诲姞涓婄骇骞冲彴
     - [X] 娉ㄥ唽
     - [X] 蹇冭烦淇濇椿
@@ -101,54 +88,25 @@
     - [X] 鐩綍璁㈤槄涓庨�氱煡
     - [X] 褰曞儚鏌ョ湅涓庢挱鏀�
     - [X] GPS璁㈤槄涓庨�氱煡锛堢洿鎾帹娴侊級
-- [X] 鏀寔鎵嬪姩娣诲姞璁惧鍜岀粰璁惧璁剧疆鍗曠嫭鐨勫瘑鐮�
-- [X] 娣诲姞RTSP瑙嗛
-- [X] 娣诲姞鎺ュ彛閴存潈
-- [X] 娣诲姞RTMP瑙嗛
-- [X] 浜戠褰曞儚锛堥渶瑕侀儴缃插崟鐙湇鍔¢厤鍚堜娇鐢級
-- [X] 澶氭祦濯掍綋鑺傜偣锛岃嚜鍔ㄩ�夋嫨璐熻浇鏈�浣庣殑鑺傜偣浣跨敤銆�
-- [X] WEB绔敮鎸佹挱鏀綡264涓嶩265锛岄煶棰戞敮鎸丟.711A/G.711U/AAC,瑕嗙洊鍥芥爣甯哥敤缂栫爜鏍煎紡銆�
-- [X] 鏀寔鐢靛瓙鍦板浘銆�
-- [X] 鏀寔鎺ュ叆WGS84鍜孏CJ02涓ょ鍧愭爣绯汇��
+-  [X] 鏀寔鑷姩閰嶇疆ZLM濯掍綋鏈嶅姟, 鍑忓皯鍥犻厤缃棶棰樻墍鍑虹幇鐨勯棶棰�;  
+-  [X] 澶氭祦濯掍綋鑺傜偣锛岃嚜鍔ㄩ�夋嫨璐熻浇鏈�浣庣殑鑺傜偣浣跨敤銆�
+-  [X] 鏀寔鍚敤udp澶氱鍙fā寮�, 鎻愰珮udp妯″紡涓嬪獟浣撲紶杈撴�ц兘;
+-  [X] 鏀寔鍏綉閮ㄧ讲锛� 
+-  [X] 鏀寔wvp涓巣lm鍒嗗紑閮ㄧ讲锛屾彁鍗囧钩鍙板苟鍙戣兘鍔�
+-  [X] 鏀寔鎷夋祦RTSP/RTMP锛屽垎鍙戜负鍚勭娴佹牸寮忥紝鎴栬�呮帹閫佸埌鍏朵粬鍥芥爣骞冲彴
+-  [X] 鏀寔鎺ㄦ祦RTSP/RTMP锛屽垎鍙戜负鍚勭娴佹牸寮忥紝鎴栬�呮帹閫佸埌鍏朵粬鍥芥爣骞冲彴
+-  [X] 鏀寔鎺ㄦ祦閴存潈
+-  [X] 鏀寔鎺ュ彛閴存潈
+-  [X] 浜戠褰曞儚锛屾帹娴�/浠g悊/鍥芥爣瑙嗛缁濆彲浠ュ綍鍒跺湪浜戠鏈嶅姟鍣紝鏀寔棰勮鍜屼笅杞�
 
-[//]: # (# docker蹇�熶綋楠�)
 
-[//]: # (鐩墠浣滆�呯殑docker-compose鍥犱负鏃堕棿鏈夐檺缁存姢涓嶅強鏃讹紝杩欓噷鎻愪緵绗笁鏂规彁渚涚殑渚涘ぇ瀹朵娇鐢紝缁存姢涓嶆槗锛屽ぇ瀹惰寰楃粰杩欎綅灏忎紮浼寸偣涓猻tar銆�  )
-
-[//]: # (https://github.com/SaltFish001/wvp_pro_compose)
-
-[//]: # ([https://github.com/SaltFish001/wvp_pro_compose]&#40;https://github.com/SaltFish001/wvp_pro_compose&#41;)
-
-[//]: # (杩欐槸浣滆�呯淮鎶ょ殑涓�涓暅鍍忥紝鍙兘瀛樺湪涓嶅強鏃剁殑闂銆�)
-
-[//]: # (```shell)
-
-[//]: # (docker pull 648540858/wvp_pro)
-
-[//]: # ()
-[//]: # (docker run  --env WVP_IP="浣犵殑IP" -it -p 18080:18080 -p 30000-30500:30000-30500/udp -p 30000-30500:30000-30500/tcp -p 80:80 -p 5060:5060 -p 5060:5060/udp 648540858/wvp_pro)
-
-[//]: # (```)
-
-[//]: # (docker浣跨敤璇︽儏鏌ョ湅锛歔https://hub.docker.com/r/648540858/wvp_pro]&#40;https://hub.docker.com/r/648540858/wvp_pro&#41;)
-
-# gitee鍚屾浠撳簱
-https://gitee.com/pan648540858/wvp-GB28181-pro.git  
-
-# 閬囧埌闂
+# 閬囧埌闂濡備綍瑙e喅
 鍥芥爣鏈�楹荤儲鐨勫湴鏂瑰湪浜庤澶囩殑鍏煎鎬э紝鎵�浠ラ渶瑕佸ぇ閲忕殑璁惧鏉ユ祴璇曪紝鐩墠浣滆�呮墜閲岀殑璁惧鏈夐檺锛屽啀鍔犱笂浣滆�呮按骞虫湁闄愶紝鎵�浠ラ亣鍒伴棶棰樺湪鎵�闅惧厤锛�
 1. 鏌ョ湅wiki锛屼粩缁嗙殑闃呰鍙互甯綘閬垮厤鍑犱箮鎵�鏈夌殑闂
 2. 鎼滅储issues锛岃繖閲屾湁澶ч儴鍒嗙殑绛旀
-3. 鍔燪Q缇わ紝杩欓噷鏈夊ぇ閲忕儹蹇冪殑灏忎紮浼达紝浣嗘槸鍓嶆彁鏂板笇鏈涗綘宸茬粡浠旂粏闃呰浜唚iki鍜屾悳绱簡issues銆�
+3. 鍔燪Q缇わ紙901799015锛夛紝杩欓噷鏈夊ぇ閲忕儹蹇冪殑灏忎紮浼达紝浣嗘槸鍓嶆彁鏂板笇鏈涗綘宸茬粡浠旂粏闃呰浜唚iki鍜屾悳绱簡issues銆�
 4. 浣犲彲浠ヨ浣滆�呬负浣犺В绛旓紝浣嗘槸鎴戜笉鏄厤璐圭殑銆�
 5. 浣犲彲浠ユ妸閬囧埌闂鐨勮澶囧瘎缁欐垜锛屽彲浠ユ洿瀹规槗鐨勫鐜伴棶棰樸��
-
-
-# 鍚堜綔
-鐩墠寰堝鎵撶潃鍚堜綔鐨勫箤瀛愭潵绉佽亰鐨勶紝鍏跺疄澶у澶у彲涓嶅繀锛岀洰鍓嶄綔鑰呮病鏈夌簿鍔涳紝浣犳湁闂鍙互浠樿垂鎵炬垜瑙g瓟锛屼篃鍙互鎻怭R
-锛屽鏋滃浠g爜鏈夊缓璁彲浠ユ彁ISSUE锛涗篃鍙互鍔犵兢涓�璧疯亰鑱娿�傛垜浠杩庢墍鏈夋湁鍏磋叮鍙備笌鍒伴」鐩腑鏉ョ殑浜恒��
-
-
 
 # 浣跨敤甯姪
 QQ缇�: 901799015, ZLM浣跨敤鏂囨。[https://github.com/ZLMediaKit/ZLMediaKit](https://github.com/ZLMediaKit/ZLMediaKit)  
@@ -156,6 +114,7 @@
 
 # 鎺堟潈鍗忚
 鏈」鐩嚜鏈変唬鐮佷娇鐢ㄥ鏉剧殑MIT鍗忚锛屽湪淇濈暀鐗堟潈淇℃伅鐨勬儏鍐典笅鍙互鑷敱搴旂敤浜庡悇鑷晢鐢ㄣ�侀潪鍟嗕笟鐨勯」鐩�� 浣嗘槸鏈」鐩篃闆剁鐨勪娇鐢ㄤ簡涓�浜涘叾浠栫殑寮�婧愪唬鐮侊紝鍦ㄥ晢鐢ㄧ殑鎯呭喌涓嬭鑷鏇夸唬鎴栧墧闄わ紱 鐢变簬浣跨敤鏈」鐩�屼骇鐢熺殑鍟嗕笟绾犵悍鎴栦镜鏉冭涓轰竴姒備笌鏈」鐩強寮�鍙戣�呮棤鍏筹紝璇疯嚜琛屾壙鎷呮硶寰嬮闄┿�� 鍦ㄤ娇鐢ㄦ湰椤圭洰浠g爜鏃讹紝涔熷簲璇ュ湪鎺堟潈鍗忚涓悓鏃惰〃鏄庢湰椤圭洰渚濊禆鐨勭涓夋柟搴撶殑鍗忚
+
 # 鑷磋阿
 鎰熻阿浣滆�匸澶忔](https://github.com/xia-chu) 鎻愪緵杩欎箞妫掔殑寮�婧愭祦濯掍綋鏈嶅姟妗嗘灦,骞跺湪寮�鍙戣繃绋嬩腑缁欎簣鏀寔涓庡府鍔┿��     
 鎰熻阿浣滆�匸dexter langhuihui](https://github.com/langhuihui) 寮�婧愯繖涔堝ソ鐢ㄧ殑WEB鎾斁鍣ㄣ��     
diff --git a/doc/_media/2.png b/doc/_media/2.png
new file mode 100644
index 0000000..dd982e1
--- /dev/null
+++ b/doc/_media/2.png
Binary files differ
diff --git a/doc/_media/3-1.png b/doc/_media/3-1.png
new file mode 100644
index 0000000..a52620f
--- /dev/null
+++ b/doc/_media/3-1.png
Binary files differ
diff --git a/doc/_media/3-2.png b/doc/_media/3-2.png
new file mode 100644
index 0000000..bef780e
--- /dev/null
+++ b/doc/_media/3-2.png
Binary files differ
diff --git a/doc/_media/3-3.png b/doc/_media/3-3.png
new file mode 100644
index 0000000..3943a52
--- /dev/null
+++ b/doc/_media/3-3.png
Binary files differ
diff --git a/doc/_media/3.png b/doc/_media/3.png
new file mode 100644
index 0000000..913d294
--- /dev/null
+++ b/doc/_media/3.png
Binary files differ
diff --git a/doc/_media/index.png b/doc/_media/index.png
new file mode 100644
index 0000000..15200e6
--- /dev/null
+++ b/doc/_media/index.png
Binary files differ
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java b/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
index d9b9cc5..9d2890e 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
@@ -70,7 +70,7 @@
 			stream ="*";
 		}
 		String key = VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_" + deviceId + "_" + channelId + "_" + callId+ "_" + stream;
-		List<Object> scanResult = RedisUtil.scan(key);
+		List<Object> scanResult = RedisUtil.scan(key, 1);
 		if (scanResult.size() == 0) {
 			return null;
 		}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
index 8cf5293..393fbf1 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
@@ -75,7 +75,7 @@
     @Override
     public void resetAllSN() {
         String scanKey = VideoManagerConstants.SIP_SN_PREFIX  + userSetting.getServerId() + "_*";
-        List<Object> keys = RedisUtil.scan(scanKey);
+        List<Object> keys = RedisUtil.scan(scanKey, null);
         for (Object o : keys) {
             String key = (String) o;
             RedisUtil.set(key, 1);
@@ -129,7 +129,7 @@
     }
     @Override
     public StreamInfo queryPlayByStreamId(String streamId) {
-        List<Object> playLeys = RedisUtil.scan(String.format("%S_%s_*_%s_*", VideoManagerConstants.PLAYER_PREFIX, userSetting.getServerId(), streamId));
+        List<Object> playLeys = RedisUtil.scan(String.format("%S_%s_*_%s_*", VideoManagerConstants.PLAYER_PREFIX, userSetting.getServerId(), streamId), 1);
         if (playLeys == null || playLeys.size() == 0) {
             return null;
         }
@@ -141,7 +141,7 @@
         List<Object> playLeys = RedisUtil.scan(String.format("%S_%s_*_*_%s_%s", VideoManagerConstants.PLAYER_PREFIX,
                 userSetting.getServerId(),
                 deviceId,
-                channelId));
+                channelId), 1);
         if (playLeys == null || playLeys.size() == 0) {
             return null;
         }
@@ -278,7 +278,7 @@
                 stream,
                 callId
         );
-        List<Object> streamInfoScan = RedisUtil.scan(key);
+        List<Object> streamInfoScan = RedisUtil.scan(key, 1);
         if (streamInfoScan.size() > 0) {
             return (StreamInfo) RedisUtil.get((String) streamInfoScan.get(0));
         }else {
@@ -310,7 +310,7 @@
                 stream,
                 callId
         );
-        List<Object> streamInfoScan = RedisUtil.scan(key);
+        List<Object> streamInfoScan = RedisUtil.scan(key, 1);
         return (String) streamInfoScan.get(0);
     }
 
@@ -399,7 +399,7 @@
                 + channelId + "_"
                 + streamId + "_"
                 + callId;
-        List<Object> scan = RedisUtil.scan(key);
+        List<Object> scan = RedisUtil.scan(key, 1);
         if (scan.size() > 0) {
             return (SendRtpItem)RedisUtil.get((String)scan.get(0));
         }else {
@@ -521,7 +521,7 @@
         String key = VideoManagerConstants.PLATFORM_SEND_RTP_INFO_PREFIX
                 + userSetting.getServerId() + "_*_*_"
                 + channelId + "*_" + "*_";
-        List<Object> RtpStreams = RedisUtil.scan(key);
+        List<Object> RtpStreams = RedisUtil.scan(key, 1);
         if (RtpStreams.size() > 0) {
             return true;
         } else {
@@ -613,7 +613,7 @@
                 stream,
                 callId
         );
-        List<Object> streamInfoScan = RedisUtil.scan(key);
+        List<Object> streamInfoScan = RedisUtil.scan(key, 1);
         if (streamInfoScan.size() > 0) {
             return (StreamInfo) RedisUtil.get((String) streamInfoScan.get(0));
         }else {
@@ -732,7 +732,7 @@
         String scanKey = VideoManagerConstants.WVP_SERVER_STREAM_PREFIX  + userSetting.getServerId() + "_*_" + app + "_" + streamId + "_" + mediaServerId;
 
         OnStreamChangedHookParam result = null;
-        List<Object> keys = RedisUtil.scan(scanKey);
+        List<Object> keys = RedisUtil.scan(scanKey, 1);
         if (keys.size() > 0) {
             String key = (String) keys.get(0);
             result = (OnStreamChangedHookParam)RedisUtil.get(key);
diff --git a/src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil.java b/src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil.java
index 3b4bec4..c5be52c 100644
--- a/src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil.java
+++ b/src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil.java
@@ -1,13 +1,12 @@
 package com.genersoft.iot.vmp.utils.redis;
 
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-
 import com.alibaba.fastjson2.JSONObject;
 import com.genersoft.iot.vmp.utils.SpringBeanFactory;
-import gov.nist.javax.sip.stack.UDPMessageChannel;
 import org.springframework.data.redis.core.*;
 import org.springframework.util.CollectionUtils;
+
+import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 /**    
  * Redis宸ュ叿绫�
@@ -865,12 +864,16 @@
      * @param query 鏌ヨ鍙傛暟
      * @return
      */
-    public static List<Object> scan(String query) {
+    public static List<Object> scan(String query, Integer count) {
         if (redisTemplate == null) {
             redisTemplate = SpringBeanFactory.getBean("redisTemplate");
         }
         Set<String> resultKeys = (Set<String>) redisTemplate.execute((RedisCallback<Set<String>>) connection -> {
-            ScanOptions scanOptions = ScanOptions.scanOptions().match("*" + query + "*").count(1000).build();
+            ScanOptions.ScanOptionsBuilder match = ScanOptions.scanOptions().match("*" + query + "*");
+            if (count != null) {
+                match.count(count);
+            }
+            ScanOptions scanOptions = match.build();
             Cursor<byte[]> scan = connection.scan(scanOptions);
             Set<String> keys = new HashSet<>();
             while (scan.hasNext()) {
@@ -883,6 +886,15 @@
         return new ArrayList<>(resultKeys);
     }
 
+    /**
+     * 妯$硦鏌ヨ
+     * @param query 鏌ヨ鍙傛暟
+     * @return
+     */
+    public static List<Object> scan(String query) {
+        return scan(query, null);
+    }
+
     //    ============================== 娑堟伅鍙戦�佷笌璁㈤槄 ==============================
     public static void convertAndSend(String channel, JSONObject msg) {
         if (redisTemplate == null) {

--
Gitblit v1.8.0