How are the 3 encoder profiles - streaming 0, 1, 2 used?

ccaru

Young grasshopper
Joined
May 18, 2020
Messages
45
Reaction score
14
Location
Luxembourg
Hello,

perhaps a stupid question, but I looked everywhere on the help and could not find an answer.
Under Web Server, there are 3 Encoder Profiles - Streaming 0, Streaming 1, Streaming 2
When is 0 1 or 2 used exactly?

Claude
 

biggen

Known around here
Joined
May 6, 2018
Messages
2,563
Reaction score
2,837
They set the "base server profile" used in the UI3 gui. If you open up the UI3 and click the 3 dots at the top right and then click "Streaming Profiles" and then select your resolution, you will see where you can choose one of those three "base server profiles".

I don't ever mess with it. I just leave it at default of 0 since you can override the base profiles with the options below it as described.
 

ccaru

Young grasshopper
Joined
May 18, 2020
Messages
45
Reaction score
14
Location
Luxembourg
Thank you! I didn't realise that you could click on each of these profiles to set it, so got confused when i saw 10 or so streaming profiles on the first "page" (which doesn't correspond to the 3 on the server). Now it all makes sense :)

Do these streaming profiles have any effect or impact when accessing from the mobile app?

I am asking as i am trying to resolve a CPU usage which I suspect may be coming from remote access, in some shape or form
 

biggen

Known around here
Joined
May 6, 2018
Messages
2,563
Reaction score
2,837
I do believe that the base encoder profiles are also used for the mobile app. You can select the three from the mobile app in the "Settings" menu after you login to the server and they appear to correspond to the same server base profile settings.

May want to start a new topic about high CPU usage and see if the community can figure that out.
 

ccaru

Young grasshopper
Joined
May 18, 2020
Messages
45
Reaction score
14
Location
Luxembourg
I was suspecting so, but the description appears to be hardcoded and i'm not sure how they correspond:

CBR 1024 kbps; gop 300, bframe 0
CBR 512 kbps; gop 300, bframe 0
CBR 256 kbps; gop 300, bframe 0

Anybody has an idea on whether these all refer to Streaming 0 , then override the settings, or do they correspond to 0,1,2 ?

To me that's unclear
 

ccaru

Young grasshopper
Joined
May 18, 2020
Messages
45
Reaction score
14
Location
Luxembourg
No! I'm being stupid. Actually the values do get updated when the parameters are changed, so indeed the three profiles do correspond to the three profiles on the server!
 

biggen

Known around here
Joined
May 6, 2018
Messages
2,563
Reaction score
2,837
Yeah they match my server base profiles so I'd say you are correct.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,673
Reaction score
14,017
Location
USA
Streaming 0 is the default used by all apps, and also by certain endpoints described in the HTTP Interface section of the help file, such as /h264/{cam-short-name}/temp.ts.

The main setting that affects CPU usage is "Preset":
  • ultrafast is the fastest but lowest quality, with visible square artifacts much of the time
  • superfast is right in the middle and is the one I prefer to use
  • veryfast is the slowest but highest quality and adds a bit of video delay

As such, UI3 specifies superfast when you use its built-in VBR profiles (which are relatively new). But UI3 doesn't override the Preset for any of the other built-in streaming profiles so in those cases it will be inherited (from Streaming 0).

The "Resize output frame width x height" option also affects CPU usage, as lower resolution streams are obviously quicker to encode.

Honestly the way the streaming profile settings work together is complex and when most people tweak them from the defaults they just end up making things worse by doing dumb stuff like increasing the "Quality" setting to 100 and reducing the i-frame interval (GOP). Both of which are very bad ideas.
 

ccaru

Young grasshopper
Joined
May 18, 2020
Messages
45
Reaction score
14
Location
Luxembourg
Very good points.

I was wondering whether the H/W Acceleration that can be specified here makes a difference (This is what brought me to the question as I didn't know which of the 3 i should try).
I am currently running on NVIDIA H/W and the Decoding seems to be working fine, but when I choose NVIDIA on the encode, I get an error in the log whenever i access it via Web or Mobile (and now I can clearly see that this corresponds to the appropriate streaming profile thanks to the above replies)
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,673
Reaction score
14,017
Location
USA
Not all nvidia cards support encoding, though it certainly could be beneficial if it works.
 

ccaru

Young grasshopper
Joined
May 18, 2020
Messages
45
Reaction score
14
Location
Luxembourg
I am basing myself on this list : Video Encode and Decode GPU Support Matrix

I have an NVIDIA Quadro P2000M (My Blue Iris server is and old but still relatively powerful Dell Precision Laptop)
According to this list it should support both Encode and Decode, but I do get this error when I choose NVIDIA. I'll raise it with support.
 

Jagradang

Getting the hang of it
Joined
Aug 10, 2017
Messages
172
Reaction score
36
could someone please take a screenshot of the default 0 profile. I have had a mess around with it and now not sure what it was originally set to in order to restore it! I'm having issues with video playback being really choppy was trying out some of the settings to see if i could fix it.
 
Top