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

Instructor

Jan wrote the book on Encoding with FFmpeg

  • Jan Ozer

    Instructor

    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.

FAQ

  • 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
    Introduction
    • 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
    • About This Chapter
    • Choosing the Number of Reference Frames
    • Download PDF Here
  • 14
    Introduction to H264
    • About This Chapter
    • Introduction to H.264
    • Download PDF Here
  • 15
    H.264 Profiles - What They Are and Why You Care
    • About This Chapter
    • H.264 Profiles - What They Are and Why You Care
    • Download PDF Here
  • 16
    H.264 Levels - What They Are and Why You Care
    • About This Chapter
    • H.264 Levels - What They Are and Why You Care
    • Download PDF Here
  • 17
    Specifying Entropy Coding Techniques (CABAC vs CAVLC)
    • About This Chapter
    • Specifying Entropy Coding Techniques (CABAC vs CAVLC)
    • Download PDF Here
  • 18
    Choosing the Optimal x264 Preset
    • About This Chapter
    • Choosing the Optimal x264 Preset
    • Download PDF Here
  • 19
    Working With Audio
    • About This Chapter
    • Working With Audio
    • Download PDF Here
  • 20
    Two-Pass Encoding
    • About This Chapter
    • Two-Pass Encoding
    • Download PDF Here
  • 21
    Extracting Audio and/or Video Files
    • About This Chapter
    • Extracting Audio and/or Video Files
    • Download PDF Here
  • 22
    How Adaptive Bitrate (ABR) Technologies Work
    • About This Chapter
    • How Adaptive Bitrate (ABR) Technologies Work
    • Download PDF Here
  • 23
    Packaging Existing MP4 Files for HLS Distribution in FFmpeg
    • About This Chapter
    • Packaging Existing MP4 Files for HLS Distribution in FFmpeg
    • Download PDF Here
  • 24
    Encoding and Packaging Mezzanine Files in FFmpeg in a Single Step
    • About This Chapter
    • Encoding and Packaging Mezzanine Files in FFmpeg in a Single Step
    • Download PDF Here
  • 25
    Manually Creating the Master Manifest File for HLS
    • About This Chapter
    • Manually Creating the Master Manifest File for HLS
    • Download PDF Here
  • 26
    Using Apple's HLS Creation Tools
    • About This Chapter
    • Using the Apple HLS Tools
    • Download PDF Here
  • 27
    Working With and Encoding HEVC
    • About This Chapter
    • Working With and Encoding HEVC
    • Download PDF Here
  • 28
    Working With and Encoding VP9
    • About This Chapter
    • Working With and Encoding VP9
    • Download PDF Here
  • 29
    Producing HLS output from H264 files with Bento4 (mp4hls)
    • About This Chapter
    • Producing HLS output from H264 files with Bento4 (mp4hls)
    • Download PDF Here
  • 30
    Producing HLS/DASH output from H264 files with Bento4 (mp4dash)
    • About This Chapter
    • Producing HLS/DASH output from H264 files with Bento4 (mp4dash)
    • Download PDF Here
  • 31
    Producing Hybrid HEVC/HLS HLS Presentations
    • About This Chapter
    • Producing Hybrid HEVC/HLS HLS Presentations
    • Download PDF Here
  • 32
    Working With Continuation Characters in Windows
    • About This Chapter
    • Working With Continuation Characters in Windows
    • Download PDF Here