If you’ve ever converted a video or ripped audio, there is a good chance you’ve used FFmpeg without ever realizing it. However, it can do so much more if you learn a few extra commands.
What does FFmpeg do?
FFmpeg is the Swiss army knife of the multimedia world
FFmpeg is an open-source command-line tool that is designed to handle anything and everything related to audio or video, and even some things related to images.
It is capable of doing an enormous number of things:
- Converting media between formats
- Compressing audio or video
- Extracting audio from video clips
- Stream video
- Recording your screen
And more besides. If you need to do something to a media file that isn’t graphics art, FFmpeg can probably do it. It isn’t just versatile, either—because it is so barebones, it is quite efficient.
FFmpeg supports almost every file type
When working with media files, you’ll eventually run into compatibility issues. It is basically unavoidable. FFmpeg shines here, too.
By default, it supports dozens of file types, including MP4, MKV, AVI, and FLAC.
I’ve used FFmpeg regularly for years to convert files when other applications fail, and so far it hasn’t let me down, even when I was working with an obscure, outdated file.
FFmpeg’s speed, diverse functionality, and incredible support for a range of file formats is precisely why it has been integrated into so many projects. Even OBS Studio, the streaming and recording software, makes use of it behind the scenes.
How can you use FFmpeg?
It is a one-stop command-line converter
I first started using FFmpeg as a command-line file converter. I’ve found it to be easier and more reliable than most online converters, and it removes the need to download a converter application that wants to install a million unwanted programs during the setup.
If, for example, I wanted to convert an AVI file to an MP4, I would run:
ffmpeg -i example_input.avi output.mp4
FFmpeg will handle everything behind the scenes.
It might seem cumbersome to open a command-line to convert a file, but once you get used to it, I’ve found that it is usually quicker than opening up a program with an interface to do the same job.
It helps to add FFmpeg to your Windows (or Linux) path so that you can call the command anywhere on your PC without needing to specify where to find the executable. That alone saves a lot of time.
Related
How to Edit Environment Variables on Windows 11
Use Environment Variables to streamline your scripts and make using command-line applications easier.
Automation and scripting
Just as you can use FFmpeg to convert individual videos or audio files, you can take that a step further and use it to automate conversion. I’ve found that this can be very helpful when I download an asset pack of some kind and everything comes in a format I don’t want.
In that scenario, I can write a quick script that will automatically convert every file in a folder, or every file with a certain file extension, into another format.
On Windows, I typically write a Batch script since the syntax is easier to read than PowerShell scripting, though if you need something really elaborate, PowerShell is better. On Linux, shell scripting will get the job done just as well.
It isn’t limited to just file conversion though. In the past, I’ve used FFmpeg to perform a few different bulk operations:
- Strip metadata or subtitles
- Automatically compress 4K video from my phone to 1080p for long-term storage
- Convert a folder of mixed formats all into one format
If a job doesn’t run instantly—like resize the 4K video to 1080p—FFmpeg will just run quietly in the background until it is finished.
Building your own applications around it
FFmpeg at its most basic is a command-line tool you can invoke for direct use or scripting, but if you really wanted to, you could build an entire application around it.
In fact, a large number of apps and services you probably use (or at least know) use it for one thing or another, including:
- OBS
- YouTube
- Chromium/Google Chrome
- Davinci Resolve
- foobar2000
- Kdenlive
- Kodi
- ShareX
- VLC
One of my favorite small apps that uses it is File Converter, which adds an option to convert media files to Windows 11’s right-click context menu.
Some FFmpeg commands worth learning
The documentation is very easy to understand
In the time I’ve been using it, I’ve found there are a handful of commands I use a lot.
The most basic is the convert command:
ffmpeg -i input.mov output.mp4
That’ll convert the MOV file to MP4.
I also use it to automatically bulk resize images and videos relatively frequently. If I were bulk resizing 4K video to 1080p, that might look like:
ffmpeg -i input.mp4 vf scale=-1:1080 output.mp4
It is worth taking a glance through the documentation to find what you might want to use it for.
It isn’t flashy, but it is vital
FFmpeg isn’t the kind of software that gets a fancy advertisement, but its importance is enormous. It is a free and open-source project that hundreds of other things rely on for their basic functions.
I use it all the time for a number of different things, and I definitely wouldn’t want to replace it.
8/10
Operating System
Kubuntu 24.04 LTS
CPU
Intel Core Ultra 9 275HX (2.7GHz up to 5.4GHz)
GPU
NVIDIA GeForce RTX 5070 Ti (dGPU), Intel Graphics (iGPU)
RAM
32GB Dual-Channel DDR5 262-pin SODIMM (5600MHz)
This laptop is purpose-built for developers and professionals who want a Kubuntu Linux-powered portable workstation and gaming platform. It features an Intel processor capable of hitting 5.4GHz and both integrated graphics and a dedicated NVIDIA 5070 Ti GPU for when you need extra power for machine learning or games.

