ZoneMinder / zmNinja

High performance, cross platform ionic app for Home/Commerical Security Surveillance using ZoneMinder
http://zmninja.zoneminder.com
Other
1.01k stars 268 forks source link

ZM Multi Port breaks individual feed views. #1046

Closed ninoz closed 3 years ago

ninoz commented 3 years ago

The version of zmNinja you are reporting: V1.6.006

The version and OS of ZoneMinder you are using: v1.35.5 Ubuntu 20.04.1 LTS

Platform zmNinja is running on Windows 10 Desktop

Did you build the package from source code yourself? N, Downloaded

Describe the bug I have multi port enabled on my ZM server with 6 cameras. With Multi-Port enabled on ZMNinjaPro

When using the left and right arrow keys to move between monitors the feeds properly load.

Go to Dev. Setting and enable "Ignore ZM Multi-port", all feeds work as expected when clicking between them.

Debug logs This is the log when clicking on a feeds which dont with Multi Port enabled:

Feb 25, 2021 11:01:12:326 AM DEBUG Setting streamQuery timer to 10000
Feb 25, 2021 11:01:12:326 AM DEBUG MonitorModalCtrl called from app.montage
Feb 25, 2021 11:01:12:326 AM INFO Using stream mode single
Feb 25, 2021 11:01:12:324 AM INFO Cancelling montage timer, opening Modal
Feb 25, 2021 11:01:12:324 AM DEBUG MontageCtrl: Open Monitor Modal with monitor Id=2 and Controllable:0 with control ID:null
Feb 25, 2021 11:01:11:268 AM DEBUG NVR: killing  live stream ck:250287
Feb 25, 2021 11:01:11:268 AM DEBUG Single monitor exited killing stream
Feb 25, 2021 11:01:11:268 AM DEBUG Removing keyboard handler
Feb 25, 2021 11:01:11:259 AM DEBUG control display is:true
Feb 25, 2021 11:01:11:257 AM DEBUG Ignoring double-invocation
Feb 25, 2021 11:01:11:257 AM DEBUG MontageCtrl: Close & Destroy Monitor Modal
Feb 25, 2021 11:01:11:254 AM DEBUG NVR: Resuming live stream ck:667034 for Garage
Feb 25, 2021 11:01:11:254 AM DEBUG NVR: Resuming live stream ck:857830 for LivingRoom
Feb 25, 2021 11:01:11:254 AM DEBUG NVR: Resuming live stream ck:237693 for Playroom
Feb 25, 2021 11:01:11:253 AM DEBUG NVR: Resuming live stream ck:203609 for Kitchen
Feb 25, 2021 11:01:11:253 AM DEBUG NVR: Resuming live stream ck:155064 for FrontDoor Day
Feb 25, 2021 11:01:11:253 AM DEBUG NVR: Resuming live stream ck:652239 for GardenRoom
Feb 25, 2021 11:01:11:253 AM DEBUG Resuming all stream connkeys in montage ...
Feb 25, 2021 11:01:11:253 AM INFO Restarting montage timers...
Feb 25, 2021 11:01:11:253 AM DEBUG rand each time:1614250871253
Feb 25, 2021 11:01:11:253 AM DEBUG MontageCtrl: Close & Destroy Monitor Modal
Feb 25, 2021 11:01:11:056 AM DEBUG control display is:false
Feb 25, 2021 11:01:10:238 AM DEBUG single view image load complete
Feb 25, 2021 11:01:10:188 AM DEBUG single view image load complete
Feb 25, 2021 11:01:09:137 AM DEBUG window resized
Feb 25, 2021 11:01:09:127 AM DEBUG resize/orient: 1278(w) * 1348(h)
Feb 25, 2021 11:01:09:047 AM INFO configurePTZ 6 is not PTZ controllable
Feb 25, 2021 11:01:09:027 AM DEBUG configurePTZ: called with mid=6
Feb 25, 2021 11:01:09:016 AM DEBUG NVR: Pausing live stream ck:667034 for Garage url:http://<internalIP>.60:30006/zm
Feb 25, 2021 11:01:09:016 AM DEBUG NVR: Pausing live stream ck:857830 for LivingRoom url:http://<internalIP>.60:30005/zm
Feb 25, 2021 11:01:09:016 AM DEBUG NVR: Pausing live stream ck:237693 for Playroom url:http://<internalIP>.60:30004/zm
Feb 25, 2021 11:01:09:016 AM DEBUG NVR: Pausing live stream ck:203609 for Kitchen url:http://<internalIP>.60:30003/zm
Feb 25, 2021 11:01:09:016 AM DEBUG NVR: Pausing live stream ck:155064 for FrontDoor Day url:http://<internalIP>.60:30002/zm
Feb 25, 2021 11:01:09:016 AM DEBUG NVR: Pausing live stream ck:652239 for GardenRoom url:http://<internalIP>.60:30001/zm
Feb 25, 2021 11:01:09:015 AM DEBUG Pausing all streams in montage to save memory/nw...
Feb 25, 2021 11:01:08:991 AM DEBUG Setting streamQuery timer to 10000
Feb 25, 2021 11:01:08:991 AM DEBUG MonitorModalCtrl called from app.montage
Feb 25, 2021 11:01:08:991 AM INFO Using stream mode single
Feb 25, 2021 11:01:08:983 AM INFO Cancelling montage timer, opening Modal
Feb 25, 2021 11:01:08:983 AM DEBUG MontageCtrl: Open Monitor Modal with monitor Id=6 and Controllable:0 with control ID:null
Feb 25, 2021 11:01:05:744 AM DEBUG inside drag items:doing the jiggle and dance...
Feb 25, 2021 11:01:05:437 AM DEBUG Switching mode to streaming as multi-port on...
Feb 25, 2021 11:01:05:137 AM DEBUG All images loaded, doing image layout
Feb 25, 2021 11:01:05:137 AM INFO Arranging as per packery grid
Feb 25, 2021 11:01:05:136 AM DEBUG All images loaded, switching to snapshot...
Feb 25, 2021 11:01:05:131 AM INFO Monitors that are active and not DOM hidden: 6 while grid has 6
Feb 25, 2021 11:01:04:630 AM INFO Inside Montage Ctrl:We found 6 monitors
Feb 25, 2021 11:01:04:629 AM DEBUG Setting up cycle interval of:10000
Feb 25, 2021 11:01:04:629 AM DEBUG bandwidth: highbw montage refresh set to: 1
Feb 25, 2021 11:01:04:570 AM DEBUG Multiport=30000
Feb 25, 2021 11:01:04:564 AM INFO sending stored ZM_MIN_STREAMING_PORT 30000
Feb 25, 2021 11:01:04:564 AM DEBUG Montage beforeEnter: copying monitors to montage monitors
Feb 25, 2021 11:01:04:563 AM DEBUG Montage beforeEnter: got 6 monitors
Feb 25, 2021 11:01:04:559 AM DEBUG Setting streamQuery timer to 10000
Feb 25, 2021 11:01:04:547 AM DEBUG CACHE: cached value for key:cached_zmgroups is good as 866 <3600
Feb 25, 2021 11:01:04:547 AM DEBUG CACHE: found for key: cached_zmgroups with expiry of:3600s
Feb 25, 2021 11:01:04:544 AM DEBUG Loading hidden/unhidden status for profile:
Feb 25, 2021 11:01:04:544 AM DEBUG Storing streaming=http://<internalIP>.60:30006/zm/cgi-bin recording=http://<internalIP>.60:30006/zm
Feb 25, 2021 11:01:04:544 AM DEBUG No servers matched, filling defaults...
Feb 25, 2021 11:01:04:544 AM DEBUG Storing streaming=http://<internalIP>.60:30005/zm/cgi-bin recording=http://<internalIP>.60:30005/zm
Feb 25, 2021 11:01:04:544 AM DEBUG No servers matched, filling defaults...
Feb 25, 2021 11:01:04:544 AM DEBUG Storing streaming=http://<internalIP>.60:30004/zm/cgi-bin recording=http://<internalIP>.60:30004/zm
Feb 25, 2021 11:01:04:544 AM DEBUG No servers matched, filling defaults...
Feb 25, 2021 11:01:04:543 AM DEBUG Storing streaming=http://<internalIP>.60:30003/zm/cgi-bin recording=http://<internalIP>.60:30003/zm
Feb 25, 2021 11:01:04:543 AM DEBUG No servers matched, filling defaults...
Feb 25, 2021 11:01:04:543 AM DEBUG Storing streaming=http://<internalIP>.60:30002/zm/cgi-bin recording=http://<internalIP>.60:30002/zm
Feb 25, 2021 11:01:04:543 AM DEBUG No servers matched, filling defaults...
Feb 25, 2021 11:01:04:543 AM DEBUG Storing streaming=http://<internalIP>.60:30001/zm/cgi-bin recording=http://<internalIP>.60:30001/zm
Feb 25, 2021 11:01:04:542 AM DEBUG No servers matched, filling defaults...
Feb 25, 2021 11:01:04:542 AM DEBUG default multi-server protocol will be:http://
Feb 25, 2021 11:01:04:542 AM INFO multi server list loaded
Feb 25, 2021 11:01:04:542 AM DEBUG deobfuscate: before:262 after:495 scheme:lzs
Feb 25, 2021 11:01:04:541 AM DEBUG CACHE: decryption requested
Feb 25, 2021 11:01:04:541 AM DEBUG CACHE: cached value for key:cached_multi_servers is good as 866 <86400
Feb 25, 2021 11:01:04:541 AM DEBUG CACHE: found for key: cached_multi_servers with expiry of:86400s
Feb 25, 2021 11:01:04:539 AM INFO Monitor load was successful, loaded 6 monitors
Feb 25, 2021 11:01:04:539 AM DEBUG Now trying to get multi-server data, if present
Feb 25, 2021 11:01:04:539 AM DEBUG Inside getMonitors, will also regen connkeys
Feb 25, 2021 11:01:04:539 AM DEBUG Loading hidden/unhidden status for profile:
Feb 25, 2021 11:01:04:539 AM DEBUG After duplicate processing, we have: 6 monitors
Feb 25, 2021 11:01:04:539 AM DEBUG Before duplicate processing, we have: 6 monitors
Feb 25, 2021 11:01:04:539 AM DEBUG CACHE: cached monitor data type is:object
Feb 25, 2021 11:01:04:538 AM DEBUG deobfuscate: before:3191 after:13945 scheme:lzs
Feb 25, 2021 11:01:04:532 AM DEBUG CACHE: decryption requested
Feb 25, 2021 11:01:04:532 AM DEBUG CACHE: cached value for key:cached_monitors is good as 866 <86400

Screenshots If applicable, add screenshots to help explain your problem. image

Additional context I also use ZMNinjaPro on my iPhone and it works all as expected.

welcome[bot] commented 3 years ago

👋 Thanks for opening your first issue here! If you're reporting a 🐞 bug, please make sure you follow the issue template or I may not respond.

pliablepixels commented 3 years ago

Interestingly, I don't see this to be a problem at all in desktop, but happens in iOS for sure. I'm not sure if my fix will help you, but it helps me on my mobile device. Could you shoot me an email? I can build a test windows desktop package for you to test if you'd like (I don't use windows). pliablepixels at gmail.

pliablepixels commented 3 years ago

Did it work?

ninoz commented 3 years ago

Hi, Sorry for the delay, the build you emailed me worked perfectly :)