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.
Learn the Why and the How


Jan wrote the book on Encoding with FFmpeg

  • Jan Ozer


    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.

  • Are there really 94 lessons?

    Ah, no. Each lesson has three components; a text introduction, the main lesson itself (usually a video), and a lesson containing just the PDF for that lesson so you can download it. So, divide by three, or check the curriculum below.

Course curriculum

  • 1
    • Thanks for Buying This Course
  • 2
    Video Bootcamp
    • About This Chapter
    • Video Bootcamp Video
    • Download PDF here
  • 3
    Choosing Codecs and Container Formats
  • 4
    Bitrate Control Overview (Constant vs. Variable Bitrate Encoding
  • 5
    Encoding CBR and VBR in FFmpeg
    • About this Chapter
    • Encoding CBR and VBR in FFmpeg
    • Download PDF Here
  • 6
    Encoding with Constant Rate Factor (CRF) and Capped CRF
    • About This Chapter
    • Encoding with Constant Rate Factor (CRF) and Capped CRF
    • Download PDF Here
  • 7
    Setting Video Resolution - The Simple Approach
    • About This Chapter
    • Setting Video Resolution
    • Download PDF Here
  • 8
    Scaling and Letterboxing
  • 9
    Setting the Frame Rate
    • About this Chapter
    • Setting the Frame Rate
    • Download PDF Here
  • 10
    Frame Types - Theory (I, B, and P Frames)
    • About This Chapter
    • Frame Types - Theory (I, B, and P Frames)
    • Download PDF Here
  • 11
    Working with I-Frames (Keyframes)
    • About This Chapter
    • Working with I-Frames (Keyframes)
    • Download PDF Here
  • 12
    Working with B-frames
    • About This Chapter
    • Working with B-frames
    • Download PDF Here
  • 13
    Choosing the Number of Reference Frames