How to get smallest file size on exporting?

Hello,

Based on IGTV request below, what is the best setting to get smallest final video exported file size possible ? regarding video, codec, audio e other options ?

Im getting much bigger final video size than limitation below :frowning:

Thanks in advance !

What are the video upload requirements for IGTV?

Video Length

Videos must be at least one minute long. The maximum length your video can be is:

  • 15 minutes when uploading from a mobile device.

  • 60 minutes when uploading from the web.

Video File Type

Videos must be in MP4 file format.

Video Resolution and Size

  • You can upload a vertical video with an aspect ratio of 9:16 or a horizontal video with an aspect ratio of 16:9.

  • Videos should have a minimum frame rate of 30 FPS (frames per second) and minimum resolution of 720 pixels.

  • The maximum file size for videos that are 10 minutes or less is 650MB. The maximum file size for videos up to 60 minutes is 3.6GB.

Do you use a preset or adjust the settings? If so, what are your settings? Without stating them, it is rather difficult to recommend you anything.

hello Samth

I feel this is what you are asking me

thanks again !

Did you try setting a lower bitrate? You could use a bitrate of 10 Mb/s but that might decrease the quality noticeably.
What is your current file size? Hardware encoders are faster but a trade-off is a larger file size. This is mentioned in the Handbrake documentation which should hold true for Shotcut since both use FFMpeg (https://handbrake.fr/docs/en/latest/technical/performance.html, section “Performance comparison between video encoders”).

Hardware encoders such as AMD VCE, Intel QSV, and Nvidia NVENC are very fast and may be a good choice on less powerful computers where performance is the greatest concern, and the highest quality and smallest file sizes are not top priority.

Depending on your system, you could try the software implementation.

Requirements like this give me a dumb idea, it used to be possible for some software to limit a photo to a maximum filesize, is there a way to calculate the bitrate at export time using the timeline length? @shotcut IE limit export to 2gb and then just let the software calculate a bitrate of 10Mb/s or similar based on the timelines lenght.

@ConteudoAnimal if IGTV accepts H265 as an upload that is probably your best format choice it usually looks better than h264 at the same bitrate and the way that’s written you don’t really want the “smallest” video you just want to find a way to keep your videos under those file sizes.

There is an approximate way to calculate the bit rate for a predetermined file size in the FFMpeg documentation (https://trac.ffmpeg.org/wiki/Encode/H.264, under “Two-Pass”).

These settings should work for you:

Tab%201%20-%20Video

Tab%202%20-%20Codec

Tab%203%20-%20Audio

Tab%204%20-%20Other

Some notes:

  • The goal is to get the largest file possible that still fits within their requirements. This will retain the highest quality.
  • The settings shown above are for horizontal video. For vertical video, the resolution would become 720x1280 and the aspect ratio would become 9:16. In your screenshot, the resolution is horizontal but the aspect ratio is vertical.
  • You can force the frame rate to 30.000000 if you wish.
  • Bicubic interpolation is recommended to reduce scaling artefacts.
  • As @samth said, the hardware encoders will produce larger files with lower quality. The software encoder is recommended for highest quality due to resolutions and data rates being so low.
  • The IGTV requirements basically say you’re limited to one megabyte per second. One million bytes multiplied by 8 bits in a byte puts the data rate at 8Mbps.
  • Some people use mono instead of stereo audio to reduce the file size even further.
  • If IGTV accepted H.265, that would be a great way to get higher quality. I don’t post to IGTV to know first-hand what they accept, but quick reading on Google suggests that IGTV only accepts H.264 for now. If they did accept H.265, change the preset line on the Other tab to read preset=slow instead of medium.
1 Like

I hoped Austin would post an answer, since he is one of the most adept person on this forum regarding video quality, colour space, encoders etc.

I did not even think of caculcating the bitrate - and that is just basic math. So disappointed in myself :slightly_frowning_face:. It is the most obvious approach and I would have gotten 1.08 MB/s (10 min) or 1 MB/s (60 min).

I appreciate your reply
I will proceed as shown

Thanks a lot regarding your time to help me !!