FFmpeg – record, convert and stream audio and video

FFmpeg is a hyper fast real time audio/video encoder, a streaming server and a generic audio and video file converter. It is a command line tool that is composed of a collection of free software / open source libraries. It includes libavcodec, an audio/video codec library used by several other projects, and libavformat, an audio/video container mux and demux library.

It can grab from a standard Video4Linux video source and convert it into several file formats based on DCT/motion compensation encoding. Sound is compressed in MPEG audio layer 2 or using an AC3 compatible stream.

The command line interface is designed to be intuitive, in the sense that FFmpeg tries to figure out all parameters that can possibly be derived automatically. You usually only have to specify the target bitrate you want.

FFmpeg can also convert from any sample rate to any other, and resize video on the fly with a high quality polyphase filter.

The FFmpeg project consists of two main parts: FFmpeg, which encodes and decodes the multimedia streams, and FFserver, which provides streams via HTTP for various multimedia clients. FFMpeg is completely portable since it does not rely on proprietary DLLs. Other components of the project include ffplay (a simple media player), and various libraries.

Features include:

  • Grabs video and audio.
  • Can also grab the X11 display.
  • Convert from one audio and video format to another format in real time.
  • FFserver:
    • Streams several formats at several bit rates and resolutions simultaneously.
    • Handles thousands of concurrent users.
    • Uses the HTTP protocol to be compatible with all major players including Icecast (aka mpg123, xmms, winamp), MTV (to play streaming MPEG video and audio), “Real” compatible players and Windows Media Player.
    • Allows time shifting of live streams.
    • One FFserver instance can stream from multiple live encoding sources and/or multiple static files.
  • FFprobe tool.
  • VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files.

Website: ffmpeg.org
Support: Documentation
Developer: FFmpeg team
License: GNU GPL v2


FFmpeg is written in C and Assembly. Learn C with our recommended free books and free tutorials. Learn Assembly with our recommended free books and free tutorials.

Return to Video Home Page | Return to Console Multimedia Home Page | Return to Video Converters Home Page | Return to Screencasting Home Page

Make a Donation
Click the button to make a donation via flattr. Donations help us to maintain and improve the site. You can also donate via PayPal.

Read our complete collection of recommended free and open source software. The collection covers all categories of software.

The software collection forms part of our series of informative articles for Linux enthusiasts. There's tons of in-depth reviews, alternatives to Google, fun things to try, hardware, free programming books and tutorials, and much more.
Share this article


Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.