What You Will Learn

This course covers FFmpeg, Bento4, and the Apple HLS creation tools.

  • 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

Learn the Why and the How

Efficiently produce optimal quality and compatibility

Learning how to set an option like reference frames may be simple, but choosing the right option typically isn't. Though 16 reference frames does deliver the best quality (green background), the difference (720p average improvement is .34%) is irrelevant. Encoding with 1 reference frame can increase encoding speed (and cut encoding costs) by as much as 300%. Don't just learn how to set a configuration option; learn how to choose the best option.


Jan wrote the book on Encoding with FFmpeg


Jan Ozer

Jan is a streaming consultant and contributing editor to Streaming Media Magazine, where he teaches courses on Video Quality Metrics, FFmpeg, and other topics at Streaming Media Events in New York City, Los Angeles, and London. Jan is the author of Video Encoding by the Numbers, which uses video quality metrics to direct key encoding configuration decisions and differentiate codecs and encoders, and the author of Learn to Produce Video with FFmpeg in 30 Minutes or Less which is available on Amazon and other online sites.


  • How much do I need to know about command line and batch operation.

    The course assumes that you know what a batch file is, how to create one, and how to run one on your platform of choice.

  • How much do I need to know about streaming?

    The first lesson is a primer on streaming video that teaches you the concepts you'll need to get started. Each individual lesson covers the theory involved with a particular configuration option, so you'll pick up a lot of streaming-related knowledge as you work through the lessons.

  • Which platforms does this course address?

    FFmpeg commands are all cross-platform (Windows, Linux, Max) but most platform-specific instruction relates to Windows.

Course curriculum

  • 1


    • Thanks for Buying This Course

  • 2

    Video Bootcamp

    • About This Chapter

    • Video Bootcamp Video

    • Download PDF here

  • 3

    Generic File Configuration Options

  • 4

    Working With Audio

    • About This Chapter

    • Working With Audio

    • Download PDF Here

  • 5

    Two-Pass Encoding

    • About This Chapter

    • Two-Pass Encoding

    • Download PDF Here

  • 6

    Working with the H.264 Codec

  • 7

    Producing Adaptive Bitrate (ABR) Videos

    • How Adaptive Bitrate (ABR) Technologies Work

    • Packaging Existing MP4 Files for HLS Distribution in FFmpeg

    • Encoding and Packaging Mezzanine Files in FFmpeg in a Single Step

    • Manually Creating the Master Manifest File for HLS

    • Using the Apple HLS Tools

    • Installing Bento4 and Python 3.8 on a Windows 10 Computer

    • Producing HLS output from H264 files with Bento4 (mp4hls)

    • Producing HLS/DASH output from H264 files with Bento4 (mp4dash)

    • Producing Hybrid HEVC/H264 HLS Presentations

    • Creating an HLS Presentation with Master Manifest in FFmpeg

  • 8

    Other Codecs (HEVC/VP9)

    • Working With and Encoding HEVC

    • Working With and Encoding VP9

  • 9

    Miscellaneous Topics and Operations

  • 10

    Automations (Baby Steps)

    • Convert a Windows Folder With a One-Line For Loop FFmpeg Command