Optimizing client CPU utilization

Joined
Dec 18, 2014
Messages
23
Reaction score
0
Hello!

I'm using the highly recommended Hikvision 2432, which I'm very happy with.
I've set it up as a baby monitor and it's working great so far. The only caveat is I've noticed viewing the live video feed can be quite expensive in terms of CPU usage. Running VLC on my macbook it's using roughly %50 CPU (using the RTSP stream) and when using a baby monitoring client on the iPhone it drains the battery really quickly and the phone gets really hot. I'm going to assume that this is because decoding happens on the CPU and is very expensive.
Since this is only being used as a baby monitor, I figured I could probably lower some of the video quality settings, but I wasn't sure which would be best to tweak with. I currently have it set to 720p at 25fps. Would highly appreciate your recommendations :)
 
Last edited by a moderator:

Q™

IPCT Contributor
Joined
Feb 16, 2015
Messages
4,990
Reaction score
3,991
Location
Megatroplis, USA
Try this experiment: drop the FPS down to 4 and see what the effect is on CPU utilization.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,681
Reaction score
14,043
Location
USA
Yup. Frame rate is the number one CPU-affecting setting after resolution which you've already set low. Also if your bit rate is particularly high it might help to lower it.

You could always use a sub-stream; much lower resolution that way, and therefore much less work for the device to decode. You probably won't be bothered by the difference in image quality, using it as a baby monitor with infrared light anyway.
 
Joined
Dec 18, 2014
Messages
23
Reaction score
0
Thanks. I'll try to drop the frame rate. What about the I Frame setting? Should that equal the frame rate?
And what about variable bitrate? Any reason to experiment with that?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,681
Reaction score
14,043
Location
USA
No need to set i-frame equal to frame rate unless you have video stability problems. It will actually reduce encoding efficiency to set it that low. Variable bit rate makes it so a non-moving scene can be encoded with less bandwidth without sacrificing quality. Use it unless it causes problems.
 
Joined
Dec 18, 2014
Messages
23
Reaction score
0
Thanks. I'm actually surprised that VLC can't use the GPU for decoding, especially since it's a standard h264 stream (right?).
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,681
Reaction score
14,043
Location
USA
VLC can use hardware acceleration, though whether that means GPU or not I have no idea. In rare circumstances this has compatibility problems and needs disabled but most of the time it works fine. I think it is enabled by default in fact?
 
Top