Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

FFmpeg - The Complete Guide

via Udemy

Overview

Comprehensive introduction to FFmpeg, media transcoding and streaming, with practical examples and hands-on demos

What you'll learn:
  • Have a crystal clear understanding of FFmpeg architecture and internal pipeline.
  • Construct complex filter graphs to manipulate media.
  • Understand what happens during transcoding.
  • Get a good overview of FFmpeg and its applications.
  • Set up FFmpeg on popular operating systems.
  • Inspect any media with ffprobe to extract valuable information.
  • Play audio/video with ffplay from the command line.
  • Learn the basics of audio/video, codecs, and containers.
  • Learn about different inputs, outputs, and stream selection.
  • Understand factors for choosing a codec.
  • Encode audio/video using various codecs with FFmpeg.
  • Learn and apply rate control techniques and additional details for H.264 encoding.
  • Understand how media streaming works
  • Learn about popular streaming protocols including RTMP, SRT, HTTP
  • Learn details about progressive download of single-quality media
  • Understand adaptive streaming concepts
  • Learn about HLS and MPEG-DASH
  • Grasp the details around encoding media for adaptive streaming
  • Generate HLS and MPEG-DASH streams with FFmpeg
  • Learn about some very useful and practical applications where FFmpeg can be used.
  • Perform common video manipulation tasks by constructing filter graphs with FFmpeg.
  • Separate, mix, and manipulate audio with FFmpeg audio filters.

FFmpeg is often called the Swiss Army knife of video transcoding/streaming. It is one of the most popular multimedia frameworks out there, which is free, open-source, and cross-platform. FFmpeg is used by many popular and important applications and services, such as YouTube, iTunes, and VLC.


For its support of a wide range of codecs and containers, FFmpeg is the most commonly used tool for transcoding/converting audio/video from one format to another. It has a huge collection of filters that can be combined to manipulate and transform media in many different ways.


This course aims to be your comprehensive guide into the world of FFmpeg. The sections of this course are carefully planned to make it very easy to get started with FFmpeg in a short time. The lectures are organized with diagrams and hands-on examples, so that you can master the core concepts of FFmpeg in order to build complex media manipulation pipelines with efficiency.


By the end of this course, you will have a clear understanding about how FFmpeg works and how to put FFmpeg commands together to perform media processing tasks like transcoding, streaming, and other workflows.


Prerequisites

There are no prerequisites for this course. No prior knowledge of video, transcoding, or FFmpeg is needed. All you need is a working terminal where you can practice the commands yourself.


Objectives

  • Get a good overview of FFmpeg and its applications.

  • Set up FFmpeg on popular operating systems.

  • Inspect any media with ffprobe to extract valuable information.

  • Play audio/video with ffplay from the command line.

  • Learn the basics of audio/video, codecs, and containers.

  • Understand what happens during transcoding.

  • Have a crystal clear understanding of FFmpeg architecture and internal pipeline.

  • Construct complex filter graphs to manipulate media.

  • Learn about different inputs, outputs, and stream selection.

  • Understand factors for choosing a codec.

  • Encode audio/video using various codecs with FFmpeg.

  • Learn and apply rate control techniques and additional details for H.264 encoding.

  • Understand how media streaming works

  • Learn about popular streaming protocols including RTMP, SRT, HTTP

  • Learn details about progressive download of single-quality media

  • Understand adaptive streaming concepts

  • Learn about HLS and MPEG-DASH

  • Grasp the details around encoding media for adaptive streaming

  • Generate HLS and MPEG-DASH streams with FFmpeg

  • Learn about some very useful and practical applications where FFmpeg can be used.

  • Perform common video manipulation tasks by constructing filter graphs with FFmpeg.

  • Separate, mix, and manipulate audio with FFmpeg audio filters.



What is NOT covered in this course (yet)

  • Building FFmpeg from source code - this is not covered

  • Using FFmpeg libraries separately from your code - this is not covered. Only command-line examples are shown.

  • It is nearly impossible to discuss all the details of all codecs, containers, and filters. So only a few common ones are discussed, so that you can apply the same concepts for others.


Who this course is for

  • Anyone who wants to know about and work with audio/video, streaming, and FFmpeg

  • Developers/engineers working with audio/video (or even image) in any way

  • System integrators or administrators dealing with multimedia and streaming

  • Take a look at the course outline for examples of what FFmpeg can be used for. If you have a similar requirement and would like to learn the tricks along with a bunch of other cool stuff, this course is for you!


Money-back guarantee

If you are not satisfied with the course for some reason, I offer a 30-day money-back guarantee.


Instructor

My name is Andaleeb (Syed Andaleeb Roomy). I have been working as a software engineer professionally for more than 14 years. My experience includes diverse domains and complex software systems, including video transcoding, broadcast asset management workflows, VoIP, SaaS, AWS, cloud, microservices, and network communication solutions. I have been using FFmpeg to build transcoding pipelines for supporting many different media asset management workflows including search, transcription, proxy and editing.


Taught by

Syed Andaleeb Roomy

Reviews

4.7 rating at Udemy based on 633 ratings

Start your review of FFmpeg - The Complete Guide

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.