Learn to Produce Video with FFmpeg in 30 Minutes or Less: 2018 Edition

The internet is full of free documentation detailing how to use FFmpeg. Why should you pay $34.95 for my book (or $29.95 for the PDF)?

It comes down to efficiency and effectiveness.

This book eliminates the time you’d otherwise spend hunting for answers on Superuser or Stack Overflow and teaches you to make informed encoding decisions about video quality, compatibility, and deliverability. You can fast-track your projects by downloading 58 batch files that detail each configuration option and the media files used in the book, so you can verify operation. This book will save you time and ensure that you produce optimal quality videos for single file or adaptive bitrate delivery.

Think about it. While many sites provide good how-to advice regarding a single FFmpeg option, you need a complete argument that configures all the files in your adaptive group. This book walks you through all relevant options from simple (like resolution) to complex (creating HLS and DASH manifests) so you get the complete picture and can efficiently and effectively produce videos that look great, stream efficiently, and play well on their target platforms.

(Review edited for presentation-use [email protected] if you haven’t gotten the batch files).

In short, finish your work more quickly and get it right the first time.

The Elevator Pitch (40 words or less)

  1. Learn to install and use FFmpeg fast
  2. Single file and adaptive streaming to HLS and DASH with H.264, HEVC, and VP9
  3. All relevant configuration parameters at your fingertips (with a table of contents and index)
  4. Download all batch files to speed your work

28 Years of Encoding Expertise Delivered in 30 Minutes

I’m Jan Ozer. I’ve been compressing video since 1991, back when they were loaded onto a CD-ROM. This was before DVDs. I’ve been encoding for streaming since 1996. I’m a contributing editor to Streaming Media Magazine, and I’ve written over 25 books on some aspect of streaming or video production, including many that have been used as textbooks in colleges and universities.

I’ll get to the FFmpeg part in a moment but let me explain the background for the book. A recent passion has been objective quality metrics like PSNR and VMAF. Objective quality metrics predict how subjective viewers will rate video quality and convert opinions into quantified conclusions. Consider the graph below, which displays the output quality (in blue) and encoding time (in red) of the ten x264 presets in FFmpeg.

You can see that you get close to 100% of output quality using the Faster preset in a fraction of the time of higher-quality presets. So, if you’re currently using the slower preset, and need to free up capacity, you can switch to the Faster preset and the quality loss will be minimal. That’s what objective benchmarks do for you.

Back in 2015, I started a book titled Video Encoding by the Numbers: Eliminate the Guesswork from Your Streaming Video. My goal was to quantify every encoding decision using objective benchmarks to allow readers to make the most informed decisions possible. To accomplish this, I needed data. For example, the chart above shows the average values for eight 2-minute test files, each encoded ten different times for each preset. That’s 80 encodes and that’s just one of the hundreds of charts or tables in the book.

Three Plus Years of FFmpeg Experience (With Some Great Help)

Here’s the FFmpeg part. To provide the data, I decided to use FFmpeg. As I wrote each chapter, I detailed the FFmpeg configuration options for that chapter, starting with simple options like resolution and data rate, and working through creating full HLS and DASH file groups with chunked files and the necessary manifest files.

I published Encoding by the Numbers in 2016. Since then, I have taught multiple seminars at Streaming Media conferences, including the presentation below. I worked with colleagues from RealEyes Media, who serve clients like Major League Baseball (MLBAM), Adobe, Oracle, and others, which provided a real-world perspective and enhanced my FFmpeg knowledge.

In June 2017, I published the first edition of Learn to Produce Video with FFmpeg in 30 Minutes or Less, which combines a subset of compression-related information with all the FFmpeg instruction in Encoding by the Numbers and some additional operations. Plus, all the batch and media files. In August 2018, I released an update to the book, covering even more FFmpeg operation and adding Bento4, which is the easiest way to package files for HLS and DASH delivery.

Buy and download PDF



Here’s what you will learn:

  • Streaming fundamentals, including terms and concepts relating to single-file and adaptive bitrate streaming
  • How to install FFmpeg on Windows, Mac, and Linux computers
  • Fundamentals of command line processing and batch file creation
  • Single- and dual-pass encoding with FFmpeg
  • How to choose the optimal configurations for resolution, data rate, frame settings, bitrate control and other common encoding options
  • How to encode to H.264 (x264), HEVC (x265), and VP9 compression formats
  • How to segment and package video for delivery via HLS using FFmpeg, Bento 4 and Apple Media File Segmenter and Variant Playlist Creator
  • How to create a hybrid HEVC/H.264 encoding ladder for HLS deployment
  • How to encode and package VP9 files into DASH format with FFmpeg 4.0
  • How to transcode inputs into multiple files simultaneously using the H.264, HEVC, and VP9 codecs for live ABR streaming
  • Encoding to the Alliance for Open Media AV1 format with FFmpeg 4.

A downloadable zipped file includes all (Windows) batch files used in the book, which you can easily adapt for your own use, and a detailed Table of Contents and Index will help you find what you need (to receive the zip file, email your proof of purchase of the PDF or paperback version to [email protected]).

What’s in the Book?

Click here to download a detailed Table of Contents

Chapter 1 is the primer on streaming technology, covering terms and concepts like single and adaptive bitrate streaming, codecs and container formats, and common encoding parameters like resolution, data rate, and frame rate. This will help those unfamiliar with streaming technology get up to speed fast.

Chapter 2 covers installing FFmpeg on Windows, Mac, and Linux computers, and the basics of command-line programming. Then, individual chapters detail FFmpeg operation for choosing a codec and container format, controlling bitrate (VBR, CBR, CRF), setting resolution (scaling, letterboxing, trimming), frame rate, and I- and B-frame settings for single file and adaptive bitrate streaming.

Next, are chapters on H.264 and HTTP Live Streaming (HLS), including details on efficiently rendering an encoding ladder, packaging for HLS and DASH with Bento4, and HLS processing via Apple tools Media File Segmenter, Variant Playlist Creator, and Media Stream Validator.

Next is a chapter on encoding HEVC with x265, which includes direction for creating, encoding, and packaging a hybrid HEVC/H.264 ladder for HLS distribution. Then a chapter on VP9, which includes how to encode and package for DASH distribution. The final chapter covers miscellaneous operations like transcoding live with H.264, HEVC, and VP9, concatenating multiple files, encoding with the new AV1 codec, and computing PSNR with FFmpeg.

Each batch file is shown separately, and you can download the batch files and media files to verify operation. Screens in the book show exactly what you did so you can see how one alternative differs from another.

You’ll learn enough about streaming video to make intelligent decisions, and enough about FFmpeg, Bento4 and other tools to produce top quality video that’s compatible with your target platforms and delivers smoothly. With batch files, so you can quickly put it all to good use. All for $29.95.

About the Author

Jan Ozer is a leading expert on H.264 and HEVC encoding for live and on-demand production who consults widely on encoding-related topics. He has taught courses in video and streaming production since 1994—most recently at Streaming Media seminars in New York City, Los Angeles, and London. Ozer is a contributing editor for Streaming Media Magazine and has written or co-authored more than 20 books on digital-video-related topics, including Video Encoding by the Numbers: Eliminate the Guesswork from your Streaming Video (2017) and Producing Streaming Video for Multiple Screen Delivery (2013).

Buy and download PDF