When we use Windows, we are usually used to using all the programs together with an intuitive interface to guide us through the process. However, even if we do not know it, many times these programs that we use and that seem so good to us are nothing more than interfaces that help us to use other programs and interfaces more easily. And if we start to investigate, many of them resort to tools and frameworks as impressive as is the case of FFMPEG.
If we have ever recorded video or converted from one format to another, we have surely heard of FFMPEG. FFMPEG is a complete multi-platform solution for recording, converting and streaming audio and video to other sources.
Although FFMPEG is often confused with a codec, it is actually a framework, a set of codecs and tools with which you carry out all the tasks of recording, converting and streaming.
This framework was originally created for Linux, although today it can be compiled and used without problems in any other operating system, such as Windows. Today we can find it in a large number of projects, such as VLC, MPlayer, HandBrake, Blender and Google Chrome, among others.
Utility of using FFMPEG codecs
And that is precisely where these codecs that we are talking about come into play, the ones that form part of the FFMMPEG framework. Thanks to the union of all of them, programs both directly related to video, and those that use it sometimes, allow us to have a more than satisfactory experience with these files . Otherwise both the playback and the work with videos would be a bit more complex in most cases.
Components, codecs and formats
Broadly speaking, this multimedia framework is made up of several components:
- ffmpeg: the tool to use the framework from the command line.
- ffserver: server for streaming multimedia.
- ffplay: integrated media player.
- libavcodec: library with all FFMPEG video and audio codecs.
- libavformat: library that contains the multiplexers and demultiplexers.
- libavutil: support library.
- libpostproc: library that takes care of video post-processing.
- libswscale: the video scaling library.
In addition, within the libavcodec library, we will find the following multimedia codecs:
- H.264 / MPEG-4 AVC.
- H.265 / HEVC / x265
- Sorenson codec.
- VP3 / VP5 / VP6.
- VP8 / WebM.
- Apple Lossless.
- AAC LC.
- Cook Codec.
FFMPEG does not have an interface (although we can put it)
The FFMPEG framework as such does not have a graphical interface. This means that, when we install it, we can only use it from a terminal (CMD, PowerShell, etc). The program is not very complicated to use either, since the commands are very simple and well documented.
For example, we can convert a video from MP4 to AVI by simply executing the following command:
ffmpeg -i input.mp4 output.avi
However, if we like applications with a graphical interface, we can find a series of unofficial GUIs that will help us to use FFMPEG more easily. Some of the most popular are:
- Handbrake .
- AVANTI – FFmpeg / AviSynth GUI
- Mpeg streamclip
These GUIs help us to more easily use all the FFMPEG libraries and tools. However, we must bear in mind that, when the interface is displayed, we are not seeing all the commands that are executed, so we can fall into errors.
Download and install FFMPEG on Windows
We can download FFMPEG for Windows, macOS and Linux completely free from the following link . In our case we are going to focus a little more on Windows, since the process to get it ready can be a bit more complicated than it should.
In the new website that will appear, we select the version we want to download, the architecture and the link and we will download a ZIP to our computer. We unzip it and inside the folder that we have just extracted we will find other folders. The one that interests us is the folder «bin», since within it is the file «ffmpeg.exe». And through this it will be from which we will work.
It has no interface, so even if we double-click on it, nothing will open. What we must do is open a CMD window inside this directory (bin), and execute from it the command “ffmpeg” followed by the parameters that we want to execute.
We can also add this tool to the Windows PATH to be able to access FFMPEG more quickly from CMD without having to navigate to the folder with the CD command.
To do this, the first thing we will do is place the FFMPEG path in a directory that we can access quickly and that we will not delete by mistake. For example, in C: FFMPEG.
Once this is done, we go to the Control Panel> System and security> System, and from here we will open the advanced settings.
In the window that appears we move to «Advanced options> Environment variables».
In the new window we will create a new user variable with the FFMPEG command, and the directory to the “ffmpeg.exe” file.
We accept all the changes and that’s it. From now on we can use FFMPEG without having to go to any folder with CD. And if later we change the path (C: FFMPEG, for example), for another, we simply have to edit the path of the user variable.