There are a lot of audio-video conversion tools out there. Tools to convert one video format to another one. Tools to compress audio to MP3 or AAC. And tools to perform filtering or geometric changes such as cropping, rotation and so on.
One of the un-sung heroes of this software genre is ffmpeg. Ffmpeg is an open source, cross-platform project, whose application libraries are used by countless other video tools, including Handbrake, Plex, XBMC, Perian and VLC. It’s an extremely powerful set of libraries, and all that power is available to you through a simple, command-line application.
A command-line application doesn’t seem like a particularly efficient way of manipulating visual media such as video – but once you’ve learnt the basics, ffmpeg is surprisingly easy to use – and in the right environment, can actually increase your productivity. Due to it’s command-line interface, it’s extremely easy to use ffmpeg for a plethora of batch conversion and automation tasks. It’s also fantastic for fixing those troublesome videos, or simply inspecting the contents of a media file.
At the National Media Museum, UK – I’ve used ffmpeg to help solve many of our day-to-day media tasks. To give you an idea of the possibilities, here’s some examples:
- Automated encoding of audio podcasts to MP3 and AAC.
- Automated conversion of any video format to a standardised (ProRes) format for use in our edit suites and DCP encoding workflows.
- Automated conversion of DCP (Digital Cinema Packages) to Quicktime ProRes for editing
- Encoding of MPEG-2 HD and H.264 files for gallery and exhibition video playback.
- Encoding of H.264 archive videos for use in our BFI Mediatheque facility.
- Conversion of subtitle formats.
- Burning of subtitles into a video image.
- Splitting a single HD video file into three vertical videos for spanning displays.
- And so much more!
ffmpeg packs a huge amount of functionality into a tiny, portable application that’s as easy to use as this:
ffmpeg -i movieToProcess.mov outputFilename.mp4
I thought I’d share some of those solutions here as basic tutorials, as well as a basic introduction to ffmpeg. It’s not meant to be a definitive guide – but for some of these more specialist solutions, information can be hard to find.