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

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

Because it will help you get your work done fast and get it right the first time.

This book eliminates the time you’d 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, as well as the media files used in the book, so you can verify operation using the same command lines and assets used in the book. 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. You need the complete picture. This book walks you through all relevant options from simple (like resolution) to complex (creating HLS and DASH manifests) so you 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.


Buy and download PDF
($29.95)

Buy the book on Amazon ($34.95)


The Elevator Pitch (40 words or less)

  1. Learn to install and use FFmpeg 4.0 fast
  2. Learn to produce single files and adaptive groups for HLS and DASH with H.264, HEVC, and VP9
  3. Get documentation for all relevant configuration parameters (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 we loaded the videos on 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 several that have been used as textbooks in colleges and universities.

Let me explain why I learned how to use FFmpeg. A recent passion has been computing and using objective quality metrics like PSNR and VMAF. These 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 with minimal quality loss. That’s what objective benchmarks do for you. This graph is in the FFmpeg book as well, by the way, as well as dozens like it.

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.


What’s New? The 2018 edition adds instruction on:

  • Packaging to DASH and HLS formats with open-source tool Bento4
  • 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.0.

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 seminars on encoding with FFmpeg at several Streaming Media conferences, including the presentation below. I presented with colleagues from RealEyes Media, who serve clients like Major League Baseball (MLBAM), Adobe, Oracle, and others. Working with these pros provided a real real-world perspective and accelerated my FFmpeg learning.

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 for FFmpeg 4.0, covering even more FFmpeg operation and adding instruction on Bento4, which is the easiest way to package files for HLS and DASH delivery.


Buy and download PDF
($29.95)

Buy the book on Amazon ($34.95)


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
  • How to encode using the new 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 presented and labeled separately, and you can download the batch 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 to make intelligent decisions regarding your streaming video and how to produce top-quality video files and DASH and HLS adaptive groups with FFmpeg, Bento4, and the Apple HLS tools. You’ll get the 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
($29.95)

Buy the book on Amazon ($34.95)


 

About Jan Ozer

Avatar photo
I help companies train new technical hires in streaming media-related positions; I also help companies optimize their codec selections and encoding stacks and evaluate new encoders and codecs. I am a contributing editor to Streaming Media Magazine, writing about codecs and encoding tools. I have written multiple authoritative books on video encoding, including Video Encoding by the Numbers: Eliminate the Guesswork from your Streaming Video (https://amzn.to/3kV6R1j) and Learn to Produce Video with FFmpeg: In Thirty Minutes or Less (https://amzn.to/3ZJih7e). I have multiple courses relating to streaming media production, all available at https://bit.ly/slc_courses. I currently work as www.netint.com as a Senior Director in Marketing.

Check Also

Maximizing Quality and Throughput in FFmpeg Scaling

Maximizing Quality and Throughput in FFmpeg Scaling

The thing about FFmpeg is that there are almost always multiple ways to accomplish the …

How to Build an Encoding Ladder: What You Need to Know

Learning how to build an encoding ladder is one of the most fundamental tasks for …

Choosing a Preset for SVT-AV1 and libaom-AV1

This article shows the quality/encoding time tradeoffs for producers choosing a preset for SVT-AV1 and …

Leave a Reply

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