Question / Help qcomp=0 crf=1

ball2hi

Member
qcomp=0
crf=1

What do these two options do/mean performance wise? I can read what they do on different areas but can someone give it to me in laymen's terms? Basically, I'm chatting with someone who has a [720p@60 QB6 / Veryfast / 2500Bitrate] who has great quality (I mean like, almost no pixelation. Small text is very legible) in comparison to my stream, which is; [720p@60 CBR / Faster / 3500Bitrate]. Small text on my stream is barely legible during fast motion, especially red/purple text in comparison to his.

Will these settings actually help?
 

Krazy

Town drunk
Er, those settings do not make a lot of sense to use with each other. CRF is for constant rate factor. (side note: a value of 1 for CRF should not ever be used for live streaming as your bitrate usage will get really high) However, setting qcomp=0 basically tells the encoder to use Constant Bitrate. These two settings aren't really compatible, you basically do one or the other.
 

ball2hi

Member
Krazy said:
Er, those settings do not make a lot of sense to use with each other. CRF is for constant rate factor. (side note: a value of 1 for CRF should not ever be used for live streaming as your bitrate usage will get really high) However, setting qcomp=0 basically tells the encoder to use Constant Bitrate. These two settings aren't really compatible, you basically do one or the other.
This is what really confused me. I just tried both settings out, with a QB of 8, and my stream quality seems marginally better during movement, and text is very legible. So now I'm very confused.
 

hilalpro

Member
CRF 1 aka quality 31 with vbv would just result in a lower I and key frame quality you can probably achieve similar effect by just using ipratio=1.1 with cbr and force the encoder to spend more bits on detailed objects/text by using a low aq-strength=0.2 or so.

The default qcomp of 0.7 will give you a better/smoother/slower transition of quality between expensive and non expensive frames when you set it 0 you're basically telling the encoder to achieve a smoother frame size transition rather than a smoother quality transition. at a larger scale both will have to respect the vbv restriction they just work differently to achieve that.
 

ball2hi

Member
hilalpro said:
CRF 1 aka quality 31 with vbv would just result in a lower I and key frame quality you can probably achieve similar effect by just using ipratio=1.1 with cbr and force the encoder to spend more bits on detailed objects/text by using a low aq-strength=0.2 or so.

The default qcomp of 0.7 will give you a better/smoother/slower transition of quality between expensive and non expensive frames when you set it 0 you're basically telling the encoder to achieve a smoother frame size transition rather than a smoother quality transition. at a larger scale both will have to respect the vbv restriction they just work differently to achieve that.
Alright, thank you. I'll give both of these settings a try and hope I get the same quality as my short stream last night. Hopefully now my text will be legible and I won't be confused to both of these settings. Now I'd just need to solve the reason why Twitch keeps going offline for me at random intervals.
 

ball2hi

Member
Alright, text looks very legible right now. Albeit, the output looks grainy in comparison to the stream I did last night with qcomp and crf. I guess I can get rid of that grainy look by dropping from Veryfast back to Faster.

Now, since I'm downscaling quite a bit, should I be using Bilinear or Lanczos to make text even more legible?
 

ball2hi

Member
Is there a way I can check stream bitrate of another person's? Here is a highlight of his stream, and it honestly feels as though this can't be 2500 bitrate.
 

ball2hi

Member
dodgepong said:
It's definitely 2500kbps (with a 5000 buffer for some silly reason) but in my opinion, it absolutely looks like 2500kbps. You can use this tool to check a Twitch broadcast VOD or live stream (doesn't work on highlights): http://r-1.ch/analyze-twitch-vod.php
Oh wow, thank you very much for the link. I'll definitely be bookmarking this. Although it says 30 FPS, that can't be 30 fps.

So, that looks like 2500kbps? This is so strange... my vanilla 720p@60 w/ 3500 kbps gets very pixelated movement if I do Veryfast. Only way to get rid of it is Faster. Would this be because I'm double downscaling? I don't use Lanczos filter because I felt it made it harder to read the text, and I thought it made it more blurry during movement.

EDIT: I just compared it to my VOD. I guess the tool isn't wrong. I never knew that was 30 FPS... it looks so smooth like my 60 FPS stream. My view on "30 FPS" might be skewed though because my old video card was GTX260, so maybe it was dropping frames... I think I'll be trying out 30 FPS then, since increasing my bitrate to 4000 is out of the question for my viewers. Although for less intensive games (Dark Souls) I'll probably go back to 60FPS since it looks so great at 60 with dsfix.

Now if I can just find a way to make my microphone sound as clear as it does in loopback, in my stream.
 
Top