by Adam Michael Wood
December 12, 2018
December 12, 2018

FFmpeg Introduction and Resources

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 — 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.

Reference

Tools and Downloads

  • Download FFmpeg directly from the official source.
  • FFMPEG Tools is a part of the MoviePy package, and 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.

Community

Summary

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.

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.