DJI Mavic, Air and Mini Drones
Friendly, Helpful & Knowledgeable Community
Join Us Now

CBR v.s VBR - which one should I choose for best video quality?

SkywalkerFeng

Well-Known Member
Joined
Aug 24, 2018
Messages
342
Reactions
610
Location
Seattle
Site
www.instagram.com
I purchased the standard version, so ProRes is out of the picture. I shoot mostly in 4K60P, H.265 format. What I can't decide is the encoding method, CBR v.s VBR. I understand that VBR encoding creates a smaller-sized file, but how does the final quality compared to CBR encoding? The maximum bitrate is 200 Mbps, regardless of which file format or encoding method I choose. Should I choose CBR instead, if all I care about is best video quality?
 
That's what I have done. CBR for the best quality. Same for exporting from PP. Choose the highest bit rate in the original media files, and select CBR at that bit rate!
 
VBR is supposed to give constant quality with some savings in file size. For me, the relatively small savings in file size isn’t worth it. It can also present playback problems with some video editors getting reliable playback.
 
VBR is supposed to give constant quality with some savings in file size. For me, the relatively small savings in file size isn’t worth it. It can also present playback problems with some video editors getting reliable playback.
VBR is variable bit rate, which lowers the bit rate below the Maximum set number, in areas of the frame that it determines have little detail in them, much like JPG compression. It is a lossy form of rendering, and will never be as good as CBR, which is a constant bit rate at all times, when set at the same number as the Maximum bit rate used for VBR. If quality is more important than file size, always choose CBR!
 
Last edited:
VBR is variable bit rate, which lowers the bit rate below the set number, in areas of the frame that it determines have little detail in them, much like JPG compression. It is a lossy form of rendering, and will never be as good as CBR, which is constant bit rate at all times. If quality is more important than file size, always choose CBR!
All good in theory, but in practice? I doubt very much that you'll ever see a difference. For example, I've compared high quality video edited and encoded at various bit rates, and it was hard to tell the difference when viewing on my 4K TV set, even with lots of motion.

Of course, much depends on what you plan to do with the video. Social media? Footage for professional production?
 
All good in theory, but in practice? I doubt very much that you'll ever see a difference. For example, I've compared high quality video edited and encoded at various bit rates, and it was hard to tell the difference when viewing on my 4K TV set, even with lots of motion.

Of course, much depends on what you plan to do with the video. Social media? Footage for professional production?
My experience with YT uploads is that the higher the quality and bit rate of the original, the less their compression algorithm destroys it.
 
VBR is variable bit rate, which lowers the bit rate below the set number, in areas of the frame that it determines have little detail in them, much like JPG compression. It is a lossy form of rendering, and will never be as good as CBR, which is constant bit rate at all times. If quality is more important than file size, always choose CBR!
This is completely incorrect, from a theoretical standpoint. Both VBR and CBR are the same basic lossy form of encoding. VBR has a greater capability to have higher quality results, with the capability to peak above the nominal bit-rate if needed when it gets complex images. CBR has to always be more cautious in order to make sure it never exceeds the nominal bitrate and has to make more sacrifices during complex scenes. CBR streams often have up to 10% of the stream stuffed with 0's just to maintain the constant bit-rate.

What I don't know is how DJI has implemented their version of VBR. In many instances the CBR and VBR algorithms are identical, both of them try to get as close to the nominal bit-rate as possible with CBR stuffing 0's to get to the exact bit-rate and VBR not doing any stuffing. In this case their quality is identical with the VBR stream always being smaller.

If DJI is more advanced with their VBR algorithm then it will be able to peak above nominal which enables higher quality. There really is only so much that can be done in real-time compression systems to improve quality, the multi-pass offline compression systems are where VBR starts to really shine.

One way to test how well DJI is taking advantage of VBR is to jump from a low complexity scene to a high-complexity scene and note the difference in quality of VBR vs CBR. As an example, when flying in a city or above a forest, rotate the camera to see just they sky, then rotate it to the city-scape or forest and note the quality difference on that scene change. The CBR algorithm should be more aggressive at lowering the bitrate at that change causing the first few frames to have more compression artifacts, assuming they are doing something intelligent with their VBR implementation.
 
  • Like
Reactions: johnmont250
This is completely incorrect, from a theoretical standpoint. Both VBR and CBR are the same basic lossy form of encoding. VBR has a greater capability to have higher quality results, with the capability to peak above the nominal bit-rate if needed when it gets complex images. CBR has to always be more cautious in order to make sure it never exceeds the nominal bitrate and has to make more sacrifices during complex scenes. CBR streams often have up to 10% of the stream stuffed with 0's just to maintain the constant bit-rate.

What I don't know is how DJI has implemented their version of VBR. In many instances the CBR and VBR algorithms are identical, both of them try to get as close to the nominal bit-rate as possible with CBR stuffing 0's to get to the exact bit-rate and VBR not doing any stuffing. In this case their quality is identical with the VBR stream always being smaller.

If DJI is more advanced with their VBR algorithm then it will be able to peak above nominal which enables higher quality. There really is only so much that can be done in real-time compression systems to improve quality, the multi-pass offline compression systems are where VBR starts to really shine.

One way to test how well DJI is taking advantage of VBR is to jump from a low complexity scene to a high-complexity scene and note the difference in quality of VBR vs CBR. As an example, when flying in a city or above a forest, rotate the camera to see just they sky, then rotate it to the city-scape or forest and note the quality difference on that scene change. The CBR algorithm should be more aggressive at lowering the bitrate at that change causing the first few frames to have more compression artifacts, assuming they are doing something intelligent with their VBR implementation.
Well, then this is where theory and practice don't agree!
To use VBR, you have to set a Target and a Maximum bitrate.
VBR will never exceed the Maximum bitrate.
Using CBR with a constant bit rate equal to your VBR Maximum bitrate will never result in a lower quality output. It will result in a larger file size, and even potentially better output quality, since there is no compression.
VBR 1 pass is also usually poor quality.
VBR 2 pass will improve the quality, but will take twice as long to process as both VBR 1 pass and CBR, and will, at best, be as good as the CBR output, if the CBR output is set at the same bitrate as the Maximum bitrate in the VBR 2 pass.
When uploading your output to YT, the higher the bitrate, the less their algorithm degrades your video. I use a CBR of 200mbps for original video that varies between 120mbps and 200mbps. I don't care about the file size of the output file. I care about the quality after YT compresses it, and the 50% timesaving over a VBR 2 pass with a lower target and the same Maximum bitrate of 200mbps.
 
Well, then this is where theory and practice don't agree!
To use VBR, you have to set a Target and a Maximum bitrate.
VBR will never exceed the Maximum bitrate.
Using CBR with a constant bit rate equal to your VBR Maximum bitrate will never result in a lower quality output. It will result in a larger file size, and even potentially better output quality, since there is no compression.
VBR 1 pass is also usually poor quality.
VBR 2 pass will improve the quality, but will take twice as long to process as both VBR 1 pass and CBR, and will, at best, be as good as the CBR output, if the CBR output is set at the same bitrate as the Maximum bitrate in the VBR 2 pass.
When uploading your output to YT, the higher the bitrate, the less their algorithm degrades your video. I use a CBR of 200mbps for original video that varies between 120mbps and 200mbps. I don't care about the file size of the output file. I care about the quality after YT compresses it, and the 50% timesaving over a VBR 2 pass with a lower target and the same Maximum bitrate of 200mbps.
"Using CBR with a constant bit rate equal to your VBR Maximum bitrate will never result in a lower quality output. It will result in a larger file size, and even potentially better output quality, since there is no compression."

Please cite your source for this information which you seem to state as fact. Also, what exactly do you mean by "there is no compression" with CBR?

"I care about the quality after YT compresses it, and the 50% timesaving over a VBR 2 pass with a lower target and the same Maximum bitrate of 200mbps."

There is no 2-pass VBR in the Mavic, so not sure how this entered your equation?

"VBR 1 pass is also usually poor quality."

Compared to what? Compared to VBR 2-pass, it is not as good but certainly not poor quality. Compared to CBR, no way VBR is poor quality if implemented correctly.

"To use VBR, you have to set a Target and a Maximum bitrate."

Where? The Mavic 3 provides no such settings, you choose either VBR or CBR.
 
Last edited:
"When enabled video bitrate is compressed to save storage space while image quality is not affected" is stated on the DJI Fly App screen. So, it appears as if the Mavic 3 just uses a basic VBR, i.e. the VBR and CBR algorithm are identical with CBR just adding 0's to the stream to make sure it has an exact constant bitrate whereas VBR gives you the actual data without stuffing thus smaller file size.
 

Attachments

  • IMG_1066.PNG
    IMG_1066.PNG
    593.3 KB · Views: 11
"Using CBR with a constant bit rate equal to your VBR Maximum bitrate will never result in a lower quality output. It will result in a larger file size, and even potentially better output quality, since there is no compression."

Please cite your source for this information which you seem to state as fact. Also, what exactly do you mean by "there is no compression" with CBR?

"I care about the quality after YT compresses it, and the 50% timesaving over a VBR 2 pass with a lower target and the same Maximum bitrate of 200mbps."

There is no 2-pass VBR in the Mavic, so not sure how this entered your equation?

"VBR 1 pass is also usually poor quality."

Compared to what? Compared to VBR 2-pass, it is not as good but certainly not poor quality. Compared to CBR, no way VBR is poor quality if implemented correctly.

"To use VBR, you have to set a Target and a Maximum bitrate."

Where? The Mavic 3 provides no such settings, you choose either VBR or CBR.
I stand by my statements. If you don't like them, so be it.
I'm helping the OP, not debating your theoretical digressions!
OP wants the best quality and doesn't care about file size.
You have no idea what DJI does with their VBR and CBR settings.
Basing everything upon a generic statement in the app as being 100% accurate is foolish.
At some point the video needs to be edited and exported, and the settings I described above are critical if the export is to retain maximum quality, when later uploaded to YouTube for viewing.
The OP should choose CBR if all he cares about is video quality.
QED
 
I stand by my statements. If you don't like them, so be it.
I'm helping the OP, not debating your theoretical digressions!
OP wants the best quality and doesn't care about file size.
You have no idea what DJI does with their VBR and CBR settings.
Basing everything upon a generic statement in the app as being 100% accurate is foolish.
At some point the video needs to be edited and exported, and the settings I described above are critical if the export is to retain maximum quality, when later uploaded to YouTube for viewing.
The OP should choose CBR if all he cares about is video quality.
QED

It is not that I don't like your statements, they just are factually wrong.

You are correct, I have no idea what DJI does with their VBR and CBR implementation, but you also have no idea. Simply stating that the Mavic's VBR requires a target bit-rate and max bit-rate, when no such option even exists for the Mavic, in addition to stating there is no compression with CBR, just shows how far off-base you are on this topic.

The statement in the app is not "generic", it is their explanation of the difference between their implementation of VBR and CBR, and basing something on that is far less foolish than listening to an internet armchair expert state incorrect data without citing anything to back it up.

"At some point the video needs to be edited and exported, and the settings I described above are critical if the export is to retain maximum quality, when later uploaded to YouTube for viewing.
The OP should choose CBR if all he cares about is video quality."

Based on what are you stating this? Where are the facts? Where are you citations to claim this? The answer is there can't be any since it is wrong. YouTube doesn't care about the file being stuffed with 0's to have a constant bit-rate as it is going to recompress it anyway.

"I'm helping the OP, not debating your theoretical digressions!"

How are you helping them with wrong information? I am not debating theories with you, I am debating your incorrect information. And, to the OP, the likely answer is they both are providing the same exact quality with the VBR having a smaller file size. This makes sense if they are not doing anything special with their VBR implementation, and it appears to be corroborated with the information they provide in their app.
 
Last edited:
It is not that I don't like your statements, they just are factually wrong.

You are correct, I have no idea what DJI does with their VBR and CBR implementation, but you also have no idea. Simply stating that the Mavic's VBR requires a target bit-rate and max bit-rate, when no such option even exists for the Mavic, in addition to stating there is no compression with CBR, just shows how far off-base you are on this topic.

The statement in the app is not "generic", it is their explanation of the difference between their implementation of VBR and CBR, and basing something on that is far less foolish than listening to an internet armchair expert state incorrect data without citing anything to back it up.

"At some point the video needs to be edited and exported, and the settings I described above are critical if the export is to retain maximum quality, when later uploaded to YouTube for viewing.
The OP should choose CBR if all he cares about is video quality."

Based on what are you stating this? Where are the facts? Where are you citations to claim this? The answer is there can't be any since it is wrong. YouTube doesn't care about the file being stuffed with 0's to have a constant bit-rate as it is going to recompress it anyway.

"I'm helping the OP, not debating your theoretical digressions!"

How are you helping them with wrong information? I am not debating theories with you, I am debating your incorrect information. And, to the OP, the likely answer is they both are providing the same exact quality with the VBR having a smaller file size. This makes sense if they are not doing anything special with their VBR implementation, and it appears to be corroborated with the information they provide in their app.
You have way too much time on your hands!
Find someone else to harass.
You are now on Ignore!
 
You have way too much time on your hands!
Find someone else to harass.
You are now on Ignore!

It is perfectly reasonable to ask somebody to provide evidence of something they attempt to state as fact when it may be wrong. Rather than being open-minded and learning what you may not know, you shut down the conversation to save face rather than making sure the information in this thread is accurate.

I am very appreciative of the community here that helps each other out. I realize most of the time the members here know a lot more than I do and I learn every day I come to the site. But, MPEG is one area I do know since I was involved with the original committee that developed the standard and spent decades on the engineering side of MPEG encoder implementation. It is important to have accurate information and the statements you were making concerning VBR and CBR, based on my experience, were simply just wrong and I wanted to provide accurate information.
 
You have way too much time on your hands!
Find someone else to harass.
You are now on Ignore!
GadgetGuy, feel free to add me to your ignore list. I've followed your interchange with interest, because your posts have been so full of misunderstanding, such as commenting on settings that our drones don't have, or processes, such as two pass encoding, that are not even implemented in any real time recording application that I'm aware of. In fact, I don't recall seeing any option for two pass encoding since the software I used in the 1990s, although I confess I haven't looked that hard.
 
GadgetGuy, feel free to add me to your ignore list. I've followed your interchange with interest, because your posts have been so full of misunderstanding, such as commenting on settings that our drones don't have, or processes, such as two pass encoding, that are not even implemented in any real time recording application that I'm aware of. In fact, I don't recall seeing any option for two pass encoding since the software I used in the 1990s, although I confess I haven't looked that hard.
Misunderstandings abound here, including yours! The only M3 Fly setting is CBR or VBR. The VBR algorithm that DJI uses is unknown. However, every VBR algorithm requires both a Target and a Maximum bit rate setting. Look a little harder before jumping on Michael W. bandwagon! If you have done any video editing in PP, you would know this. As long as the CBR bit rate setting is the same as the Maximum VBR bit rate setting, the VBR output can never be better than the CBR. As you previously pointed out, it may appear as good, but the OP wanted the very best quality video and does not care about file size. Selecting CBR guarantees the best quality, and the most compatibility with video editors. QED.
B1BED0E0-B879-4D3A-8009-D00B2C77F31D.jpeg
 
Last edited:

DJI Drone Deals

New Threads

Members online

Forum statistics

Threads
131,247
Messages
1,561,244
Members
160,198
Latest member
Whitehammer661