Why no CBR? ( Constant bit rate) option?

I am just curious why there is no CBR option. Setting cbr to a certain number allows same quality render through each clip with a similar quality result.

You have removed the Rate factor already, which is an issue when trying to export videos for instagram.
Before you didn’t have this problem when you set a Rate factor.

But now am curious why there is no CBR option. This will allow proper rendering of each individual clip with an equal quality and smaller file sizes.

For social it is mandatory to upload File sizes under 30 mb otherwise there are compression issues.

Without CBR or Rate factor it is almost impossible to predict the file size. And this can very annoying to the people who are running Topaz AI on weaker systems which take days for them to render.

Please I am waiting for a response about this.

Why was rate factor removed and why CBR is not an option.

I hope you understand my concern.

Isn’t setting of a mbps/s not CBR?
image

nope thats is different

How is it different.? setting you mbps you instructing a Constant bit rate.
in ffmpeg, There is no native or true CBR mode, but you can “simulate” a constant bit rate setting by tuning the parameters of a one-pass average bitrate encode: with the -b:v , which is what TVAI does/uses (you can export the command from TVAI and see for yourself it uses the “-b:v” flag). you need to understand (ffmpeg limitation), it is not possible to have constant bitrate for all the frames because of the different frame types and encoding priorities. Hence, if the bitrate is constant over a pre-determined time-period, the video is called a CBR-encoded video. if you want you can tweak your export command to have few extra restrictive parameters to come close as you can to the CBR you are looking for that ffmpeg permits by adding " -maxrate" , " -minrate" & " -bufsize", but those are not usually needed. just set the mpbs in tvai which is sufficient in most cases to act as CBR.

Try something like this in TVAI CLI (change the number to whatever CBR value you want):

"-b:v" "5M" "-minrate" "5M" "-maxrate" "5M" "-bufsize" "5M"

BTW - CBR is not a desirable recommended encoding method, unless you doing live stream/broadcast.
CRF is the current recommended encoding method by all means.
I couldn’t make CRF work in the command line with the built-in TVAI ffmpeg, so I export it (in TVAI) as FFV1 (or ffvHuff, sometimes UT-Video) lossless, then handbrake it with CRF.

Reference:
https://trac.ffmpeg.org/wiki/Encode/H.264#CBRConstantBitRate

2 Likes

Great thanks for the info. Now what can I put In the command line to change the CBR ? I need it constant :slight_smile:

after this part of the command

"-b:v" "5M"

add this part (in between the other parts that exsits

"-minrate" "5M" "-maxrate" "5M" "-bufsize" "2M"

the example is CBR 5Mbps, you can change it to whatever you like.

NOTE: I am not sure about the buffersize value.
you can read about it here and see which one will suit best for your cbr bandwidth
https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate

It keeps saying command not found b-v

you need to export the command 1st.
After you set all your presets and filters, setting, export format, bitrate, etc. and ready to “Execute” the job. go to the menu and export the command

image

Then copy it to notepad and then add those parameters after the “-b:v” “xM” …
once you added those into the notepad, copy the entire text in the notepad and open command in TVAI and past it into the CMD window that was opened.

image