Jump to content
carpii

Hikvision NVR - Various tech questions

Recommended Posts

I'm just digging into my new HikVision system to explore whats possible with it.

 

I've various questions and would appreciate advice on any of them

 

accessing nvr via telnet/ssh

 

1) From what I've seen, various guides suggest you can ssh into the NVR, and then access the usual linux filesystem /proc etc.

I've only found a telnet option (disabled by default, but I could enable it via the Windows client).

 

Even after telnetting in, I'm presented with Busybox rather than a true linux OS, and can see no way for it to even support an ssh server.

 

Is this how all Hikvision NVR's are set up?

 

My goal was to look into writing my own notification system (and perhaps using ffmpeg to generate a series of thumbnails) for motion detection events, as the current system is a bit inadequate for me (and also unstable when using the Mac client).

 

system load

 

2) busybox reports than the process load on the NVR is averaging out around 33.

This seems very high, and I'm wondering if maybe I should lower the recording quality a touch (currently serving 4 cams at high res).

Or is this sort of load normal for a box doing so much video processing?

 

video seeking in client software timeline

 

3) Using the client software, I search for a list of motion detection events.

Clicking any of those starts playback, but the recorded stream always starts about 20-30 seconds before the actual motion event.

 

Even trying to drag the timeline to the motion time, its not possible, almost like the video can only be seeked at certain points.

 

Is there a way to fix this? Maybe its something to do with the type of compression the video streams are using, but I cannot find any way to change this anyway

 

ip-based alarm?

 

4) One of the notification options includes triggering an alarm, but it also seems to allow an alarm to be sent via TCP to a given IP. What sort of device is it expecting here, and what protocol would it be using?

 

Maybe I can set up a custom server to act as an alarm server, and handle my custom notifications from there.

 

Thanks

Share this post


Link to post
Share on other sites

3) Using the client software, I search for a list of motion detection events.

Clicking any of those starts playback, but the recorded stream always starts about 20-30 seconds before the actual motion event.

 

Look for something like "pre-record" . It caches a certain amount of video constantly, and on an event, it attaches it to the start of the recording so you get to see what happened a few seconds before the actual event.

20-30 seconds seems like a lot... mine is 5s.

 

Not sure why you can't drop the timeline in the middle of a clip and have it start there... if that is what you're describing.

Share this post


Link to post
Share on other sites

Look for something like "pre-record" . It caches a certain amount of video constantly, and on an event, it attaches it to the start of the recording so you get to see what happened a few seconds before the actual event.

20-30 seconds seems like a lot... mine is 5s.

 

Thanks, I eventually found this in Remote Config -> Events -> Schedule -> Advanced Settings

But its already set to 5s

 

My NVR is set up to record constantly (rather than starting and stopping only when motion detection occurs). Maybe this has something to do with it?

 

Not sure why you can't drop the timeline in the middle of a clip and have it start there... if that is what you're describing.

 

I can drop the timeline, at say, 14:06:35 but it will round it down a bit and start playing at 14:05:50 instead.

Its almost like the video is split up into tiny 30 second chunks, and it can only start playing from the start of a chunk.

 

This is the same behaviour I see when I double click an 'event' and it tries to start playing from the exact event time

Share this post


Link to post
Share on other sites

What's your i-frame set at for the NVR? Some systems will only let you seek to an i-frame, though the likelihood that your i-frame is at 30 seconds seems pretty small.

 

As for CPU load, this kind of processing does put a good bit of load on the system. Encoding is done at the camera, so decoding is usually the big load, either for display or for motion detect. If the cam's doing motion detect, that shouldn't affect the recorder's load much.

 

Generally, resolution and frame rate have the biggest effect on the CPU load, but it can depend on how the software is written.

Share this post


Link to post
Share on other sites
What's your i-frame set at for the NVR? Some systems will only let you seek to an i-frame, though the likelihood that your i-frame is at 30 seconds seems pretty small.

 

Do you know where this would be set? I cant see anything similar in the NVR gui

 

As for CPU load, this kind of processing does put a good bit of load on the system. Encoding is done at the camera, so decoding is usually the big load, either for display or for motion detect. If the cam's doing motion detect, that shouldn't affect the recorder's load much.

 

Generally, resolution and frame rate have the biggest effect on the CPU load, but it can depend on how the software is written.

 

Ok, thanks. Im really not 100% sure whether its the cam or the NVR doing some cpu intensive stuff like motion detection. I initially thought it had to be the NVR but now Im not so sure.

Share this post


Link to post
Share on other sites

On second thought, the NVR probably doesn't have a separate encoding setting, and just sends the cam signals straight to the HD. Some PC based systems re-encode for various reasons, but NVRs usually don't to help reduce performance hits.

Share this post


Link to post
Share on other sites
On second thought, the NVR probably doesn't have a separate encoding setting, and just sends the cam signals straight to the HD. Some PC based systems re-encode for various reasons, but NVRs usually don't to help reduce performance hits.

 

Do you know which device is responsible for the motion detection?

 

Ive since managed to gain access to each cams web gui, and I can see you can set up motion detection there.

But since the NVR also allows motion detection to be set up, Im not sure whether its doing it, or whether its just passing those settings onto each cam

 

I can only telnet into the NVR, and its a heavily crippled operating system (BusyBox), but at least with the cams I can ssh in and gain access to the underlying filesystem

Share this post


Link to post
Share on other sites
Do you know which device is responsible for the motion detection?

 

Cameras do it.

 

Sweet, thanks.

 

Do you know what mechanism the camera uses to notify the NVR of motion detection events?

I'm a bit confused by all the triggers such as 'Notify Surveillance Centre', 'Trigger D4', 'Trigger Alarm' etc

 

None of it seems very well documented by HikVision

Share this post


Link to post
Share on other sites
Do you know which device is responsible for the motion detection?

 

Cameras do it.

 

Incorrect.

 

With a Hikvision NVR system with their IP cameras, the motion detection is performed in the NVR, NOT in the cameras.

 

If you connect them on your LAN and not directly to the NVR's POE switch, you can use BOTH, but I'm guessing no one does that.

Share this post


Link to post
Share on other sites
Do you know which device is responsible for the motion detection?

 

Cameras do it.

 

Incorrect.

 

With a Hikvision NVR system with their IP cameras, the motion detection is performed in the NVR, NOT in the cameras.

 

If you connect them on your LAN and not directly to the NVR's POE switch, you can use BOTH, but I'm guessing no one does that.

I do not agree to. I do not think any NVR can be powerful enough to decode several compressed streams from several IP cameras, and to process motion detection algorithm in a robustic way. It is much easier for each IP camera to do motion detection and passing the event to the back end nvr or directly to Notifying Surveillance center.

Share this post


Link to post
Share on other sites

I do not agree to. I do not think any NVR can be powerful enough to decode several compressed streams from several IP cameras, and to process motion detection algorithm in a robustic way. It is much easier for each IP camera to do motion detection and passing the event to the back end nvr or directly to Notifying Surveillance center.

 

As part of each Hikvision NVR's specs, it lists the max video throughput that each one is capable of processing.

 

The NVRs are more capable than PC running BI at a much lower power usage. The hardware is designed for this one purpose.

 

All video processing and motion detection happens on the NVR. The motion detection in each IP camera is not used.

 

If you want to use the motion detection in each IP camera, you can, and direct the output to another storage device such as a NAS or NFS file share.

 

I have also used their IP cameras with builtin uSD cards to store the motion video alarms internally in the similar way.

 

This would give you two independent locations to store motion detections. I have done this, with two independently controlled motion zones, sensitivities, etc.

 

The NVR records video based on other signals besides the motion control, it is buffering video all the time, so that it can store videos for motion detection, camera tampering, camera disconnects, etc.

 

There are settings in the NVR for pre-alert recording, that is why the NVR continually records on all channels, so that it store pre-event video. I set one of my NVRs to record 5 seconds before any event and 5 seconds after.

 

This is how it is.

Share this post


Link to post
Share on other sites

Can you please recommend an NVR to play back simultaneously 8 Channels of 1080P for monitoring, while storing incoming compressed bit stream from 8 IP cameras (1080P)?. I mean not to decompress based on substream. I mean on "main stream"

Probably not, as an NVR Hardware Box. So far, up to only 4 Channels of 1080P, as far as I know. I do not think that the NVR does decompress and reconstruct video image for motion detection. The CPU may be reading the bitstream and checking out motion information for making decision over motion event, not really playing any tricks on the actual reconstructed video sequences.

Share this post


Link to post
Share on other sites

I use the Lorex badged one at my home, with the latest Hikvision firmware installed.

https://www.lorextechnology.com/Security+camera+system+Wireless+camera+system/Security+NVR+with+IP+cameras/prod360017.p?skuId=LNR282C4B

Which is a version of the HIkvision: http://overseas.hikvision.com/en/Products_accessries_212_i3171.html

 

NVRs usually have two important specs, 1) max incoming data bandwidth and 2) max frames per second

 

This 8 channel Hikvisions specs for this are: 1) 80 Mbps and 2) 240 fps.

 

These have to be divided by the number of connected cameras.

I set each camera to be 5 Mbps, some are 20 fps (dark areas) and some are 30 fps (well lit areas).

 

This one can do 480 fps. https://www.lorextechnology.com/HD-IP-security-camera-system/IP-camera-system-with-16-channel-NVR-and-PoE-switch/LNR366.p

 

This one is more capable, see the specs. http://overseas.hikvision.com/en/Products_accessries_210_i2106.html

 

The NVR reads the stream from the camera, the main stream, at what ever speed/bit rate/resolution you have configured it to be. The NVR will use it as is, untouched.

It buffers it, examines it and it needed, stores it.

 

This is how Hikvision/Swann/Lorex/LTS/Q-See/AvertX all work.

 

Over and out, the earth is not flat either.

Share this post


Link to post
Share on other sites

I do not agree to. I do not think any NVR can be powerful enough to decode several compressed streams from several IP cameras

 

All video processing and motion detection happens on the NVR. The motion detection in each IP camera is not used.

 

This is how it is.

 

This would match what I'm seeing.

 

If I set up motion detection on the NVR, at first I assumed it might just be passing the config onto the cam.

 

But I've since managed to log into the cams individually, and the gui shows that motion detection is disabled on each cam, which implies the NVR is doing all of it, as you say

Share this post


Link to post
Share on other sites

This is how Hikvision/Swann/Lorex/LTS/Q-See/AvertX all work.

 

Maybe some, but not all.

 

I did some testing on my Swann NVR after reading this. In my case, the cameras are definitely doing the motion detection.

 

The configuration made on the NVR is sent to the camera - including motion detection zone, sensitivity, etc.

I logged into the cams directly, verified the motion detection settings mirrored what the NVR said. Changing on the NVR updated to the camera. However, changing on the camera does not update back to the NVR.

When I told the camera "Disable Motion Detection", but didn't tell the NVR, motion detection stopped anyway on that cam. Re-saving the settings from the NVR changed that cam back to enabled.

Share this post


Link to post
Share on other sites

Joey,

My posting was about an NVR stand alone box that is capable of 8 Ch of 1080PX 30FPS simultaneous playback for preview-realtime spot monitoring, based on main stream, not based on substream. That's what I have been looking for. You links may not seem to match or not to be clearly stated.

Break your NVR box, find the chip set name, and check the data sheet from hisilicon.

Share this post


Link to post
Share on other sites

video seeking in client software timeline

 

3) Using the client software, I search for a list of motion detection events.

Clicking any of those starts playback, but the recorded stream always starts about 20-30 seconds before the actual motion event.

 

Even trying to drag the timeline to the motion time, its not possible, almost like the video can only be seeked at certain points.

 

Is there a way to fix this? Maybe its something to do with the type of compression the video streams are using, but I cannot find any way to change this anyway

 

This is a firmware level issue. I am interested if anyone else has resolved this problem as I presently run a DS-9016HWI-ST FW v3.1.6 build 140928 encoding v1.0 build 140722. I run IVMS v2.00.08.50 build 20140519_02. That combination works great on event review - the second you click the clip you see the motion event. When I try other versions of IVMS I get the exact issue you describe where it starts the clip 30 seconds before the event. Very frustrating - if anyone knows how to fix this please let me know.

Share this post


Link to post
Share on other sites

This is a firmware level issue.

 

When I try other versions of IVMS I get the exact issue you describe where it starts the clip 30 seconds before the event.

 

Hmm, but wouldn't this suggest its not a firmware issue, but some limitation of various client software versions?

 

I use the iVMS Mac Client: sadly I don't have the luxury of more than one version to choose from

Share this post


Link to post
Share on other sites

latest IVMS-4200 version has finally addressed the event pre-play timing issue. Actually appears that some of the feedback I was sending them made it into the software. Under "System Configuration" in the client there is now a drop-down menu for "pre-play" where you can select the time from 0-30 sec in 5 sec increments. VERY HELPFUL - thank you Hikvision. Version I am using now is 2.5.0.5 build 160512.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×