FFmpeg is a video framework used for video and audio recording and conversion, as well as live-streaming to other sources. Although it is usually considered as a codec, it is actually a combination of several of them, along with other tools that allow recording and conversion.
It was originally developed for Linux, but today it can be used by any type of operating system. Let’s see the main components of this framework:
- Libavcodec. Library containing the FFmpeg video and audio codecs.
- Libavformat. Stores the multiplexers and demultiplexers.
- Libpostproc. Performs video post-processing.
- Libswscale. Performs video scaling.
- Libavutil. Support library.
- FFmpeg. The main tool to use the framework.
- FFserver. Server to perform the multimedia streaming.
- FFplay. Multimedia player.
In its standard mode, the FFmpeg framework has no graphical interface, so we can only use it from a terminal designed for it. Although its use is quite intuitive and its interface is simple, professionals often rely on some unofficial GUI to save time and improve efficiency when using it.