What are the minimum requirements/specs for ffmpeg?

I am currently using a small software program I made in Python that utilises ffmpeg on my personal laptop that is overqualified to run it (core i7, 16gb ram etc), but I would like to move it over to an older computer which is fully reset except for the OS.

Here are the older laptop's specs:

  • 250gb HDD

  • Windows Vista Home Premium

  • 2gb RAM

  • Intel Centrino 2 processor

I guess my main question is, does ffmpeg support older OS's (such as Windows Vista) and (by today's standards) relatively low-end hardware? I can't find any system requirements page on ffmpeg.org or anywhere else.

The videos the program processes are relatively low-resolution with low bitrates, and no longer than 2 minutes 30 second.


FFmpeg (and codecs like x264) will compile and run on nearly anything (it's written in fairly portable C), it's just a question of how fast it will be.

If you're just decoding and running a filter or something, you might be fine, especially if real-time playback of high-rez video isn't necessary.

If you just need audio, that's not very computationally intensive compared to video and should be fine for most things.


Video encode / decode performance on old CPUs:

Video quality (bitrate) isn't the key point, it's resolution (how much RAM an uncompressed frame takes). Also, having 2x as many pixels to process simply takes more CPU time for more macroblocks to decode. You might find that 720p is much faster than 1080p.

If you truly don't have enough RAM to keep a few dozen or hundred frames in memory, decoding / encoding speed will fall off a cliff as you hit swap space. Especially encoding where you want the encoder to have some lookahead for good decisions on where to spend bits.

Another softer threshold is L3 cache size, especially given the relatively lower memory bandwidth of old CPUs.

Centrino is like Pentium-M era. That predate SSSE3, so you don't have a SIMD byte shuffle (pshufb), and the SIMD execution units are only 64-bits wide. (Instructions like psadbw xmm0, xmm1 to calculate Sum of Absolute differences for 2 sets of 8 bytes in parallel will decode as 2 separate uops.)

So h.264 decode / encode speeds will be significantly worse, clock for clock, than on a Nehalem or Sandybridge CPU from a few years later. And much worse clock for clock than on a modern core like Haswell or Skylake with AVX2 and very efficient unaligned vector loads, or Zen / Zen 2.

Your Centrino 2 is probably also only single-core, and encoding speed scales nearly linearly with core count, at least for the first few cores. If you're used to a quad-core system, that's another factor of 4 slower on top of the very large per-core performance dropoff.

And h.265 encoding will be almost a lost cause. e.g. I played around some with x265 on my old Core 2 (E6600 2.4GHz dual-core Conroe with DDR2-566) system before getting a quad-core Skylake (i7-6700k with DDR4-2666). x265 -preset slower was about 40x faster on the Skylake, IIRC, for 1920x1080 encoding at like crf 25.

But x265 doesn't have nearly as good support for old CPUs; it started development after Core 2 was obsolete, unlike x264. For x264, Core 2 was once the top-of-the-line so x264 has good optimizations for old CPUs. It should have hand-written asm tuned for CPUs of Centrino 2 vintage, there's just not as much that CPU can do. So "the best it can do" is still not great.


In reality, there are no requirements for the FFMPEG to run. It will run on virtually any operating system and hardware.

The real question is: Will it run well for the functions you are trying to perform? While the computer you specify is old, more than likely, FFMPEG will run just fine for low quality video.


Yes , as @Keltari says ffmpeg doesn't have any minimum requirements. It will run on any hardware on supported operating system.

But since video editing is an intensive task, specs of your laptop will quite lag on high quality videos. You need more CPU for faster speed. It uses optimal number of threads by default. If you have more cores, speed and encoding will be faster. The RAM usually affects the filters, bit rate and in other encoding options. The GPU also affects, if you are using NVidia, then it supports up to 2 parellel encodings. Better get an Intel GPU.

And for Windows operating system., Windows XP support has been ended. Vista is still supported.


It's true that anything will run FFMPEG just fine.

But what I think most people are missing here is that older hardware simply has worse electrical efficiency: it takes more power to execute the same calculations.

It's in your best interest to still use your more recent computer for your simple video rendering given you'll consume fewer watts of power for the same work.