HikVision iVMS4500 (HD) shows behind realtime.

cybermaus

Young grasshopper
May 26, 2016
57
13
Hi.

I have some small Android TV boxes glued to monitors to make a permanent viewing station.
What I notice is that the iVMS-4500 viewing app, when run 24/7, often runs minutes behind real-time.

The Android boxes are powerful enough: 4-core 1.2MHz with 2GB ram and 8GB flash. And connected by ethernet cable, none of this wifi junk.

The NVR itself (7108S-SN) is always showing realtime, meaning the issue really is with the iVMS-4500 app.

I suspect I see this because these viewers run 24/7 and over time they accumulate a few seconds per hour. If I close and reopen the app (as people do on their phones, so you would not notice) it restarts with current realtime, but when I look an few hours later already it is a dozen seconds behind (or more, or less).

Questions to the community:
- Anyone else seeing this?
- Anyone has any ideas how to get the app to stop doing this
- Anyone knows of any other Android viewers that use native hikvision port (8000) and not rtsp (the HD app has the same problem)
- Anyone knows of an Android automation tool that can stop and starts an app every hour?
(edit2: using MacroDroid for now, but if someone has a ad-less one....)

Thanks
Maurits

Edit: in fact, I do not even need to close the app. Swiping between a page with 4 cams to next 4 cams and back, already reconnects to real-time. But that too is not good. The monitors should always work, without needing interaction.

Edit2: Questions still stands. However, for myself, I have now installed "MacroDroid - Device Automation", and made a macro that every hour: Displays Home screen - Launch iVMS-4500 app (iow to foreground again). Seems to work for me. (Killing and restarting did not work well, as sometimes it hang during the killing.)
 
Last edited:
- I also noticed this on my minix android box (NEO X8-H plus), after 8 hours there was even a frozen image.
- Tried this with IVMS-4500 and with IVMS-4500 HD both have the same result.
- There was nothing in the logfiles of the NVR.
- This fenomenon is also reported in the IVMS-4200 software.
 
I've tried this with all manner of Android tv box and the lag is horrible as you have also found.

The way I found time get real time viewing is just get a cheap 7108 or 7116 no POE instead. you can also pop in a little HD for a bit of play back too.

it would seem it's the android boxes just can't decode more than on camera fast enough to keep up even with low resolution settings.
 
I am pretty sure the issue is not the CPU power of the Android boxes.
Instead, the issue is that the iVMS-4500 app reads the data stream from the 7108 using TCP rather then UDP.

As a result, when a packet drops, the app (or rather the TCP/IP stack) halts all traffic till the packet is re-transmitted, putting the stream on a few ms delay.

Proof?

Well somewhat:, if it was CPU power, then if I had a few seconds delay per hour on a 25fps stream the issue should completely disappear at 15fps. Surely, if I ask it to calculate 20% less frames, all the rest staying equal, it would have to be able to catch up 12 in 3600 seconds (0.3%)

Also, I had one camera that had more of an issue (minutes per hour). Turned out I had a bad cable. When I replaced that with new CAT6, the camera is now the same as the other camera's

So, I am convinced the issue is the programmers use TCP/IP instead of UDP/IP. You should not embed real-time stuff in TCP.
I know we often get the choice of RTSP over TCP, and that is OK, as RTSP is the command and control part. But the streaming part of RTSP is RTP, and that should not be embedded, unless if you have to because of firewall or NAT traversal.


As to your suggestion: adding a 7108 box to every monitor is not only not very low cost (99$ a piece) but also means the camera's and the network to them get overburdened. Most camera's can only do 2 or so parallel streams per quality. That's why I have the camera streaming into the 7108, and then the 7108 goes to 3 further viewing stations making 4 viewing stations in total.
 
unfortunately you to
theory fall out of bed in the fact that on a higher end device like an samsung note 10.1 it will run for hours without missing a beat.
it's lossing or even dropping packets, if falling over them.

But you can even go cheaper with a Chinese $20 nvr and set it up under onvif
they work as well for remote screen, but less than $99 for Hik quality is cheap, unless you don't value what your protecting.
 
Interesting. But please tell me, if it is not behind, how do you know it is dropping packets?