FFmpeg Introduction and Resources – Multimedia Programming

Disclosure: Your support helps keep the site running! We earn a referral fee for some of the services we recommend on this page. Learn more

FFmpeg is a set of open source audio and video tools for recording, converting, and streaming multimedia content. It supports nearly every digital format and codec known, from the old and obscure to the cutting edge. The toolset is highly portable and available on most operating systems and platforms.

FFmpeg Tools

The FFmpeg project distributes four major applications:

  • FFmpeg — A command-line utility that can be used to process, convert, or manipulate media. This tool is the foundation for the other applications.
  • FFplay — A simple media player.
  • FFserver — A streaming media web server.
  • FFprobe — A stream analysis tool.

FFmpeg is built with a number of self-contained libraries which provide discreet functionality that can be included into other applications. These features include codec encoding and decoding, compression, image scaling, resampling, and format conversion.

FFmpeg Tutorials

FFmpeg does a lot of things, and it can be difficult to get a handle on all the different use cases and options. A few of these tutorials provide a high level overview of the technology. Most of them focus on a single use case or task you could perform with FFmpeg.


Tools and Downloads

  • Download FFmpeg directly from the official source.
  • FFMPEG Tools is a part of the MoviePy package, and it provides FFmpeg bindings for Python.
  • FFmpeg Binary for Mac gives you an easy-to-install distribution of the library so that you don't have to compile from source.
  • Fluent-FFmpeg is a Node.js package that provides an easy-to-use API to FFmpeg.
  • Omnividea FOBS is an object-oriented wrapper for FFmpeg for C++.
  • FFmpeg Static Builds are an easy way to get FFmpeg for Linux without compiling from source.


web hosting coupon

Looking for the right FFmpeg host?
SiteGround - rated #1 by our readers - provides excellent FFmpeg support. You can currently save up to 67% on their hosting plans. Use this discount link to save big.


FFmpeg is a useful tool that gives you command-line or programmatic access to video and audio processing. Combined with some skill in a scripting language like Bash, Python, or Perl, FFmpeg gives you the ability to automate all sorts of multimedia tasks, from format conversion to preview generation. You can use it to replace expensive screen-capturing applications or build a full-scale video player on top of it.

Anyone working regularly with audio or video who wants to speed up or automate their workflow would benefit from learning how to use FFmpeg.

Further Reading and Resources

We have more guides, tutorials, and infographics related to coding and development:

When to Use JPEG, GIF & PNG

Confused about graphics file formats? Check out our infographic, When to Use JPEG, GIF & PNG.

Adam Michael Wood

About Adam Michael Wood

Adam specializes in developer documentation and tutorials. In addition to his writing here, he has authored engineering guides and other long-form technical manuals. Outside of work, Adam composes and performs liturgical music. He lives with his wife and children in California.


Thanks for your comment. It will show here once it has been approved.

Your email address will not be published. Required fields are marked *