Recording bitrate always high at around 15Mbps in new 1.9.1.0 version

Hello,

I used to configure the encoding quality in Settings=>Encoding, by sliding the CRF setting. It worked fine and for my cheap camera 720p I used a CRF at around 30 - it was enough.

Now after upgrade to the new version 1.9.1.0 in the encoding setting I chose Intel (my PC is core i3-3240T). CPU usage dropped significantly to around 20%, and GPU usage is at around 8-15%. In the previous version no GPU was used, and CPU usage was at 40-70% (I have 2 sources). It is a huge improvement, good job guys!

However now the CRF setting seems to have no meaning? All files are recorded with extremely high bitrate of around 15-16Mbit/s rendering my files at around 140MByte per 1 minute of footage. I noticed this by accident, because now my library only has 3 or 4 days (I have set a library limit at 200GB), while it used to be 1 month back or so.

The camera quality is way below such bitrate requirements and I wish I could change it to a lower value, but not sure how? Is this a known issue with hardware accelarated encoding?

Hi,
I’m glad you see a significant decrease in cpu load since that’s an important part of the new version.
What you describe is not a known issue. I always use HW acc. Sometimes an update from an older version can play some tricks.
I use CRF=20. You also have an option for variable frame rate. Use variable frame rate.
Check also the recorded frame rate. Open a video file in VLC and Tools -Codec information.

Hi,

Unfortunately I still cannot get it to work as intended.

Once I switch encoding engine back to CPU, then the bitrate of recorded files goes back to expected 800kbit/s~1Mbit/s. When switch again to “Intel”, then CRF value has no meaning and the recorded files are at 15Mbit/s.

Yes, I do use variable frame rate. I tried to uncheck it with “Intel” encoding engine, and then GPU usage went to 99%. And the recorded files were at 60fps (that’s odd) with bitrate jumping to 30Mbit/s. So naturally, I left VFR switched on. Yet it does not help in my case.

What I noticed more is that even when I change the encoding engine to “CPU” (it gives me small files as I want) the CPU usage is only slightly increased from 20~25% to around 30%. So I will stick with the “CPU” encoding engine for now. It seems enough for 2 sources of 720p cameras for me.

Ok, thanks for info. Very strange if this should be related to that specific processor. Something might gone wrong in the upgrade. So either you are fine with only using the CPU or do a clean installstion described here How to make a clean installation of Netcam Studio
-Henrik

Hello Henrik,

So I did a clean install on another machine - this one is Intel Core i7-3770S. This is just for testing, so I use a USB webcam. It has a resolution of 320x240. When set to use “Intel” as an encoding engine, the files are generated at 3.5 up to 5Mb/s (totally ridiculous quality for such resolution). I set CRF to 51 (lowest quality), then to CRF 30 just to check, but it makes no difference. Files are still generated at a super-high bitrate no matter the settings on the Recording tab.
I think there must be some bug with passing the parameters when sending the stream for hardware encoding …

Hi,
Thanks a lot for this test and information. To see if I can reproduce this how and where to you read the figure of 3.5 to 5 Mbps?

First method - the simplest, I calculate the file size divided by duration (in seconds).
This is in fact consistent with second method: information given by MPC-HC (Media Player Classic HomeCinema) by going to File->Properties, and then on Details tab, as well as on Mediainfo tab (very detailed stuff).
Third, I check with VLC by chosing Tools->Codec information, and then Statistics tab (please note the file needs to be actually playing - cannot be paused).

All these methods give same/similar result - of course to some average numbers. It is not always exactly precisely strict 5Mbps, but running around that number.

That value of 3.5…5Mbps was for low resolution USB webcam 320x240. The value of around 15Mbps is for my 720p source from Escam Q6 camera (here I also record audio stream at 40kbps).

Not sure if that’s important but for CPU encoded files, I can see in MPC-HC that there is “x264 core” as the “writing library”. But for files with “Intel” encoding engine, there is no information about writing library. So it seems it is in fact encoded differently - the encoding engine switch in Netcam settings somehow works, but cannot set CRF quality.

Hi,
Now I have made several tests and what I can see it all works. I have used a webcam 320x240 and a 3MP IP camera. Testing with different CRF, FPS etc. Also tested with processors i5, i7 and Xeon with nVidia graphics card. Encoding with CPU and GPU. It all works as expected. However, when changing CRF or encoding between CPU and GPU it is necessary to restart NCS. That should not be necessary, but now it is.
Some examples:
For 320x240 CRF=20, FPS=10 gives a bitrate of 10 kbps. For 3MP camera it is around 17 Mbps. For 3MP camera and CRF varying between 0 and 51 gives 30 Mbps to 40 kbps with a very pixly image.

-Henrik

Thank you for checking and sorry to hear you couldn’t reproduce the problem…

You mentioned “when changing CRF or encoding between CPU and GPU it is necessary to restart NCS” - the question is what happens if you don’t restart it? Do you observe the same issues as me, or it just won’t change the encoding engine at all?

Does it matter that I use the free version with watermark/overlay which cannot be disabled?

You also said you checked with nVidia GPU. But did you actually tested it with Intel as GPU (I mean those intels with embedded graphics)?

Anyway, I tried restarting NCS, but it didn’t help in my case. The files in GPU encoding engine are still high bitrate, no matter what I set in the CRF. For me, I need to stick to the CPU as encoding engine for now.

Hi,
“You mentioned “ when changing CRF or encoding between CPU and GPU it is necessary to restart NCS ” - the question is what happens if you don’t restart it? Do you observe the same issues as me, or it just won’t change the encoding engine at all?”
— it stays with the previous settings.
“Does it matter that I use the free version with watermark/overlay which cannot be disabled?”
— no. I just checked.
“You also said you checked with nVidia GPU. But did you actually tested it with Intel as GPU (I mean those intels with embedded graphics)?”
— yes. In the i5 I have both an nVidia card and Interl graphics. In the i7 I have Intel graphics.

Here are some things to check:
– make sure that when you click on the Save icon it is also saved in the configuration file. In some cases the permission on the config file changed so changes are not saved.
– NCS use ports 8100, 8120 and 8124 to work properly. Make sure that no other program use these ports.
– I also checked with an unlicensed version since you never know and it was ok.

This is a long shot, but I see that the processors you use are not the “main stream” ones. Do you have access to a more “common” ones like in a laptop? It could be interesting just to rule out that possibility.

-Henrik