Near exact file size and bitrate on export

Long post short. I need to export files with the following settings:

60 seconds long -1920x1080 - aac audio 320 kbps - mp4 - H.264 codec - 24 frames -
The file size has to be 15 MB or less and the bitrate 5.000 kbps or less.

I know a bit about export options, but I can’t seem to get the file and the bitrate size right. Every time I get overly higher values or overly lower values.

Can anybody help me achieve the desired file and bitrate size?

I guess you already had a look in the codec and advanced tab of the export settings? There you will find a quality setting, which is probably what you are looking for. On the other hand there is no way to exactly calculate the final values for size. You are also able to set the bitrate, but i think the quality is overall more helpful.
Show us your settings to see what you have tried already. You have to experiment with the settings, I think 5 Mbps would give you less than 15 MB for 1 min. video - just guessing. Why these limitations? You should only have one param fixed and the other free. If 15 MB max. is the goal, just try it with quality and see what you get. If you stick to 5 Mbps bitrate the final size is already predefined.

I can’t answer the how, but since you asked, the “why” you asked about RilosVideos, is probably due to some size limitation he has to deal with in handling the post-render file. For example a 15 MB file size limit on his email that he needs to use to send a client a video.

Here is some math to help you:

60 sec * 5000 kb/sec = 300000 kb
300000 kb / 8 b/B = 37500 kB
37500 kB / 1024 = 36.6 MB

You are going to have to make the target bitrate much less than 5000 kbps to stay under the size limit, and 5000 is already on the lower end for 1080p24 H.264. You can search the web for a bitrate calculator to spare you some more math. I used one, and it suggested 1920 kbps if the audio is at 128 kbps. I suggest a little lower to be safe. With these low levels, you must use dual pass encoding with Average Bitrate. You should NOT use quality-based VBR! Alternatively, you could use constant bitrate with a 1 second buffer, but the quality will be much much worse. Also, hardware encoder usually often provides worse rate control and does not support dual pass in Shotcut.

I just made a quick test using the above with 1920 kbps for the video, and the file size is 14.7 MB.

Thanks, this hit the nail in the head. Previously with another software I was using 192kbps audio and forgot about it all together, and well was trying to maintain high quality audio and high quality video at very low file and bitrate size and was wondering what in my settings was causing this large file issue. Thank you.

This output export block from going from one software to another made me learn a little bit more about how the different codecs, bit rate and other options work, so all for the best.

*How did you choose 1920 kbps for the video if the choices go from 1500k b/s to 2500k b/s? (second screenshot options)

With these settings I’m getting a file size of 12.1 MB and a bitrate of 1687 Kbps, not using dual pass. The quality is ok for that bit rate but I need better video quality. I’m guessing that for it to have better quality I’ll have to use dual pass, after all I have about 3000 more bitrates I can use.

I can’t or I don’t know how to turn on dual pass, or my computer doesn’t permit it. I have looked thru the forums and did a search on Google, couldn’t find info on this issue. How should I go about? How can I turn on dual pass?

These are my settings:

I gotta add that I’m really enjoying using Shotcut on my light portable laptop.

The choices are merely suggestions but they also show the format of a custom value where the suffix ‘k’ or ‘M’ is important and case sensitive. So, just type in 1920k

Dual pass is a check box in the Codec tab.

Thanks, using 1920 atm. The checkbox won’t function, it wont let me select it, “checkmark it”. I click on it and nothing happens. All the other checkboxes work.

Because you are using a hardware encoder: Codec = h264_qsv. If you are using a custom preset, it will set the codec to whatever is saved and not set the hardware encoder checkbox.
Change it to libx264

Figured it. I have to use h264 for this project. Any way around this roadblock?

libx264 IS H.264

Thanks, didn’t know that. I’ll do more tests and post how it went and my export config, after uploading, Thanks again,

If some one wants to upload a 59.1 seconds video with an aspect ratio of 16:9 using 320Kbps AAC to Instagram it will have a file size of 14.9 and total bitrate of 2086Kbps, these are the options that I use and works when uploaded without a problem to IG. I never make the videos exactly 60 seconds long because IG can be finicky about that.

1 Like