This is more of a general question, or request if you have links to something that explains this simply it would be much appericated.
Basically I have always stuggled with instagram / social media compression and I was hoping to get a better understanding of compression, bitrate, and variable vs constant since I typically just use the default h.264.
How do you find the sweet spot or know which to use in certain situations? File size isn't really an issue for me, but I assume most platforms have a set size that if you go over your compression gets worse? My renders are anywhere from 10 seconds to 10 minutes across a variety of styles, video, generative, animation .. etc
I just seem to have alot of issues with glows, gradients, blacks, and more complex movement that looks pixelated compared to some of my favorite artists and I want a better understanding to maximize my image quality.
CBR (Constant Bitrate) will keep the data rate the same for each frame, regardless of the frame contents. This means that a black frame and a frame full of particles will contain the same amount of data, which is not necessary or ideal. VBR (Variable Bitrate) is more flexible in that it will encode more complex frames (like animation, particles, gradients, etc) with more data and less complex ones (like a black frame or a static object on a solid color background) with less data.
VBR 2-Pass used to be more common when people were trying to keep file sizes smaller. This was more of a concern when people would have slower internet for file uploads or would be hosting videos directly on their site and not embedding from a massive streaming server like YouTube. This process would take literally twice as long as VBR 1-Pass because the first pass would analyze the entire video without doing any encoding, then it would use information gathered from that pass to make more intelligent decisions when doing the actual encoding on the second pass. Because we're less worried about file sizes these days and most videos are stored on streaming servers, the significant time loss when using VBR 2-Pass is no as necessary or desireable.
A couple things to note here:
1) Specifying the bitrate encoding type is only one part of the equation; the encoder itself has a big impact, too. For example, the MainConcept encoder that the Adobe tools ship can produce excellent looking files, but many people like to use tools like Handbrake or ffmpeg, which use the open-source x264 encoder. This can produce smaller files (because of lower bitrates) at comporable quality to higher bitrate files when using the MainConcept encoder. This also means you can crank up the bitrate on a x264 export without seeing the same file size increase that you would if you cranked up the bitrate on a MainConcept export.
2) Almost all streaming servers and social platforms will re-encode your video after you upload it, to optimize playback. This means that your already compressed video is going to get compressed yet again. Instagram and Twitter are notoriously agresssive and can produce terrible looking files, especially with lots of motion or particles. The best way to counter this is to upload a VERY high quality video, knowing that it will get compressed again. Most platforms do have a file size limit, but they're often very high. YouTube actually lets you upload ProRes files, which will take forever to upload and process, but will result in a cleaner looking YouTube video than if you uploaded a highly compressed H.264.
I would take a look at the YouTube H.264 presets since the data rate on those is pretty high, and try an upload with that. If you're not satisfied, increase the bitrate a little more. You can also try the Match Source - Adaptive High Bitrate preset.
Alternatively, you can try Handbrake with a lower compression setting to see how it handles banding (my experience says it does a better job). You can also "tune" the encoder for animation with a simple setting in the "Video" tab. Note, if you do use Handbrake you can specify a bitrate, but the "Constant Quality" (<-- not the same thing as CBR) setting is an easier slider to work with. "0" is "Placebo Quality" and higher numbers equal lower quality. The default value of "22" is a good place to start with "20" being an option I often choose if I want a higher quality file. You'll also see the default options in Handbrake are to use VBR 2-Pass with the "Turbo First Pass" box checked, so despite what I said above, give these options a whirl, too.
Compression is a complex topic and it requires a lot of experimentation because every video is different, but hopefully the above will guide you to some things to start testing.