Skip to main content

Options for implementing image and video resizing

There are two main options for resizing and re-encoding media:

Option 1: Using a premade solution

Some cloud providers offer a built-in image resizing solution (for example, as part of their CDN offering). While this is convenient, it also has a lot of pitfalls and downsides that need to be considered.

Pros
  • No additional coding effort required
Cons
  • Likely to cost more and be less efficient at compression
  • Some resizing tools don't allow you to specify important parameters, like chroma subsampling, and do not let you choose an encoder to use (which can matter a lot for e.g. JPGs)
  • Usually involves lazy 'on-demand' resizing, which isn't always desirable

Option 2: Doing it yourself

Implementing image and video resizing yourself isn't easy, but can be well worth the pain.

Pros
  • Allows much better control of how the media is resized and re-encoded
  • Lets you resize proactively
  • Will generally result in better filesizes and quality
  • Can cost less if implemented with high performance libraries
Cons
  • A lot more effort than using a pre-built solution
  • Unlike CDN solutions, is a bit more effort to transfer your code between providers due to different cloud computing architecture on different platforms
  • Isn't going to perform well unless you use the correct libraries
  • Requires knowledge of image formats and encoders for best results