---
title: 'you need to learn FFmpeg RIGHT NOW!!'
source: 'https://youtube.com/watch?v=6uB65PdasQI'
video_id: '6uB65PdasQI'
date: 2026-07-28
duration_sec: 759
---

# you need to learn FFmpeg RIGHT NOW!!

> Source: [you need to learn FFmpeg RIGHT NOW!!](https://youtube.com/watch?v=6uB65PdasQI)

## Summary

FFmpeg is a powerful, free, open-source multimedia framework that can handle video, audio, and image processing tasks like GIF creation, compression, resizing, screen capture, and more. Despite its reputation as a complex tool for experts, this video demonstrates that with a few key commands, anyone can use FFmpeg effectively.

### Key Points

- **FFmpeg as the Ultimate Media Tool** [00:00] — FFmpeg is the engine behind YouTube, Netflix, OBS, and many other apps. It can create GIFs, compress videos, resize images, capture screens, and rip audio.
- **History of FFmpeg** [01:56] — FFmpeg stands for 'Fast Forward MPEG.' It was created by Fabrice Bellard, who also created QEMU, to handle various media formats during the chaotic early internet era.
- **Basic FFmpeg Command Structure** [02:55] — Commands typically use '-i' for input, '-vf' for video filters, and specify output file. Example: creating a GIF with reduced frame rate and size.
- **Image Resizing with FFmpeg** [04:21] — FFmpeg can resize images using the scale filter. Using '-1' for one dimension maintains aspect ratio.
- **Audio Ripping** [06:23] — Use '-vn' (video no) to extract audio, and specify audio codec like MP3. Example: 'ffmpeg -i input.mp4 -vn -acodec mp3 output.mp3'.
- **Video Compression** [07:00] — Compress video using libx264 codec and CRF (Constant Rate Factor) for quality/size balance. CRF 23 is a good default.
- **Screen and Device Capture** [08:25] — FFmpeg can capture screens, webcams, and microphones. On Mac, use AVFoundation; on Windows, dshow; on Linux, v4l2. Example: 'ffmpeg -f avfoundation -i 7 output.mkv'.
- **Burning Watermarks** [10:36] — Use the drawtext filter to add text watermarks with customizable font, color, size, and position.
- **Automating FFmpeg with atuin Scripts** [10:57] — Use atuin (a command history manager) to create and run scripts for common FFmpeg tasks, making it easier to reuse commands.

### Conclusion

FFmpeg is an incredibly versatile tool that, once you learn a few basic commands, can handle almost any media task. Automating with tools like atuin makes it even more accessible.

## Transcript

Do you ever battle with finding the right tool 
to create a GIF, compress a huge video file,  
or resize an image? How about capturing 
your screen, running a live stream session,  
or audio ripping from a video you found? You 
probably had a name attached to each need I  
just mentioned. What if I told you the ultimate 
tool for all of these is likely already on your  
machine working silently under the hood in the 
apps you use every day. It's called FFmpeg,  
and it's the engine that powers everything from 
YouTube to Netflix. It recently rose to fame again  
with an unintended Twitter storm that ended in 
Theo contributing $5,000 to the project, which got  
me thinking. People think of FFmpeg as a silent 
library rather than something they can pretty much  
do anything with. I mean, FFmpeg is just this 
incredible like what would you call a library  
system? Not only is open source and completely 
free, it's probably the safest and highest quality  
option out there. Everything else is mostly an 
FFmpeg wrapper. Every single application OBS  
probably fmp underneath the hood. all the prof 
everything ffmpeg underneath the hood. But it  
has one huge problem. It's overwhelming and like 
other familiar open source projects, it gives the  
user so much power eventually facing them with the 
paradox of choice and endless amount of switches  
to config. I I think ffmpeg like they have all 
these sort of parameters that you can add on  
the command line. It's like one of those cryptic 
languages that only very few wizards understand.  
I'm here to say that FFmpeg isn't this impossible 
tool for genius dark basement low-level engineers.  
And the truth is, you don't need to be an expert 
to bend video, images, or audio to your will. You  
just need to know the right secrets and how to 
put them to use. And yes, every once in a while,  
use a rubber. In this video, I'm going to 
show you how to do everything with FFmpeg,  
but also how to add a touch that makes using 
it smooth. Well, like coconut oil. We'll go  
from FFmpeg's surprising history to the simple 
copypaste commands that will completely change how  
you work with media forever. FFmpeg is probably 
one of the most consequential libraries of our  
day and does not get the love it deserves. I just 
love it. I just think they're the best. Let's get  
started. FFmpeg's name is basically fastforward 
Meg. Remember Meg? I mean the first version way  
back then. Who here remembers the early 2000s 
internet? that wild west of websites where dancing  
babies and rotating word art gifts were at the 
height of cool and every video you wanted to watch  
required a specific often terrible player to be 
downloaded. It was a mess. But out of that chaos,  
a legendary programmer, the same genius who later 
gave us Chem, the virtualization tool many of you  
container users run daily, started a secret 
side project. He was building a key that could  
unlock every media format. Little did anyone know 
this tool FFmpeg was quietly becoming the hidden  
backbone of the entire internet's video. The logo 
represents a zigzag scan pattern that shows how  
meg codecs handle entropy encoding a lossless data 
compression. And if me saying that brings up this  
memory, then we're in good company. Doubled it. 
I'm Piper, ladies and gentlemen. Let's hear it  
for them. Okay, a nice trip down memory lane, but 
how do you use it? FFmpeg is a group of libraries  
for developers, but we're here for the CLI. So, 
let's start simple but essential. I have this cut  
from a previous video. I still remember the day, 
the moment. Yeah, fancy. Most commands require an  
input introduced by hyphen i and then a file. When 
a video involved, you'll often have vf for video  
filter followed by what you're looking for. We're 
shortening this video to 10 frames per second. 320  
pixels is our width and minus1 tells ffmpeg to 
calculate the height keeping the ratio intact.  
Lancos is a highquality algo for resizing 
especially when downscaling. C colon V stands  
for codec for video which in our case is GIF. 
Now you'll see the use of many algorithm names in  
different processes. Don't worry about remembering 
all of them. We'll talk about that. Okay, it runs  
lots of output in the logs including useful 
data. Let's just jump straight to what we made  
a beautiful GIF that's way way too small. Let's 
fix that. Now while FFmpeg is hard to remember  
configuration of once you have that oneliner 
changing is easy. Oh, and if you're not using vi  
mode in the terminal, that's exactly why you want 
to start. 320, changes to 920, let it run again,  
uh, 1.8 megabytes of a nicely sized GIF, and job 
done. Do you have any idea just how many times I  
looked for online gift creators where I can upload 
a small video, wait, watch ads, run shady client  
code injected into my browser just to get this. 
I'm too embarrassed to say. Since we now have a  
form of an image, let's talk about images. For 
this trick, I'm going to use this thumbnail for  
a neim debugging video. A fairly large image of 3 
megabytes. To shrink it, you can open a number of  
tools or online utilities, but ffmpeg can easily 
handle images. I for input takes the file name.  
Then the video filter, which will hold one pair 
of scale, and we'll fix that to 800 600. Lastly,  
the output file and wham, 54 kilobytes, which are 
actually kabytes to be correct, but that's not the  
time for that. Let's see what we got. A lovely 
distorted image. Mission accomplished. Well, you  
could use the trick from earlier. Just add minus 
one to the tool to do the calculation. And there  
we have a nicely shrunk image. Perfect aspect 
ratio of 51 kilobytes. Job's done. Perfectly  
compressed media is only half the battle for a 
fast website. The other half is lightning fast  
delivery. That's where having a premium manage 
host like today's sponsor, Kinsta, makes all the  
difference. As a business owner, your focus should 
be on growth, not on whether your website is about  
to crash. If you're constantly worried about slow 
speeds, security threats, or getting stuck with a  
support chatbot, it's time for a change. This 
is Kinsta. They provide premium manage hosting  
for WordPress and are trusted by over 120,000 
businesses. From small shops that need to handle  
sudden traffic spikes to giants like Screaming 
Frog, G2 even ranked them number one out of the  
350 providers. Here's why. First, speed. Just by 
switching, your site could load up to 200% faster.  
One agency saw a mind-blowing 1,600% speed boost. 
Then security. Kinsta offers an enterprise level  
firewall, DOS protection, and is so certified, 
giving you total peace of mind. And my favorite  
part, when you need help, you talk to a real 
WordPress expert in minutes, 24/7. No chat bots,  
just actual solutions. Tired of being your own IT 
department? Switch to Kinsta. They'll migrate your  
entire site for free. Plus, you get your first 
month on them in a 30-day money back guarantee,  
so there's literally zero risk. Visit the link in 
the description or scan the QR code on the screen  
to claim your offer and let your hosting just 
work. And now back to the video. There comes a  
time that you want to separate audio from video. 
We used to call it audio ripping back in the happy  
2000s when we wanted the MTV tracks music only. 
Well, let's take the glamorous clip from earlier.  
This time with a VN flag, which the doc suggests 
stands for video no or no video, meaning audio.  
Then a codec of MP3. This is actually old syntax, 
but you'll see it a lot, right? So, output.mpp3 is  
ready to play. How about VC for the job? And there 
we have the beautifully ripped MP3 audio track.  
I still remember the day, the moment. Okay, GIFs 
and imageing is easy, right? Let's compress video,  
shall we? That's one of the main selling points 
of FFmpeg after all. And I understand compression,  
which is another super fascinating technical uh 
set of problems that I don't know. I just FFmpeg  
just fills me with joy. Same input, this time a 
video codec by the name of Libx264, a well-known,  
widely used compression standard that's both 
efficient and high quality. CRF here is a rate  
factor. Not a straightforward term, but basically 
balances quality and file size. It goes from 0 to  
63, where zero is higher quality and larger files, 
and a higher index means the opposite. However,  
23 is a common default with good balance, so you'd 
normally see people and other software just use  
that. It takes about three whole seconds and the 
video is out. A quick look shows 3.3 megabytes out  
of the previous 15.2. Is it any good though? Well, 
not too bad if you ask me. Not bad at all. So,  
you're probably thinking, am I going to 
have to remember all of these numbers  
just mentioned? Well, you don't have to. And if 
you're really against scripting and automation,  
here's an open source exactly for that. Handbreak 
offers much friendlier experience with its easy to  
use interface. It comes with readymade presets for 
devices and platforms. you can quickly get great  
results without diving deep into technical flax. 
It's perfect for everyday users who want simple,  
highquality video compression. Although, I must 
point out that while Handbreak uses codecs like  
we've seen earlier, it does not use FFmpeg or its 
libraries under the hood. Here's another extremely  
useful feature you probably didn't know about 
FFmpeg. It's a device capture. What does that  
mean? It can capture your video cams, microphones, 
both together, but also, and far, far more  
importantly, your screens. Yes, ffmpeg is a screen 
capture utility. This is how you list devices  
for AV foundation format which is Mac specific. 
Windows users would have the show there for the  
direct show media format while Linux users can use 
one of the few like like V412 for video or also.  
So there's my list of both video and audio devices 
from screens through my iPhone that's waiting on  
my desk to my DSLR cam or meeting webcam on top. 
I can grab any of them and what they see or hear  
right from FFmpeg. Remember Zuckerberg was taping 
both his Max Face Cam and his microphone. Well,  
look how easy it is to script something that 
captures everything at once. I think he was  
worried for a good reason. Let's start with 
the screen capture. 7 is my main screen. So,  
let's get it into the list of flags here, which by 
now you probably know most of. So, let's just let  
things run. Time to move things on the screen 
to see how smooth it comes out. I'll drag the  
finder around, stop recording with Ctrl + C, and 
let it gracefully shut down. This is what came  
out. Here's the window moving around. Not too bad 
for a 22 megabytes file. One thing that is missing  
here is the cursor. Want it in. There's a flag for 
that. Capture cursor. Run again. This time with a  
dragged window while it's playing a GIF. Let's 
see how it went. And there it is, even playing  
the GIF from the start. Now, here's the fun part. 
Capturing live devices. Let's go with five listed  
as my iPhone camera, which is immediately turned 
on and telling me the Mac has control. Let's pick  
it up and see whether FFmpeg actually gets input 
from it. Open the video and what do you know?  
Hello, that's my screen. There's the camera and a 
bunch of cables. Mind you, I did use 60 frames per  
second here like a crazy person, which explains 
the shakiness of what you're seeing. Nevertheless,  
it works. This brings up malicious ideas 
to mind, but let's leave this aside.  
about that shakiness. FFmpeg has a solution for 
that as well. It's literally called a shakiness  
index and accuracy added to it. I didn't have a 
lot of success with this specifically, but I'd be  
very keen to hear from others who did. Just before 
automating things, FFmpeg can even burn watermarks  
on media for you. Don't believe it? Look at that. 
Video filter with draw text and the text itself to  
add. This can also take a font color and size and 
even a canvas coordinates. Let it run. It's done.  
And there you have it. burnt on the top left hand 
side corner should you ever need that kind of mark  
burnt on media you publish. Okay, how about we 
start automating? Even after sharing all these  
flags and covering what each means, there's no way 
I'll remember it all in the second I need a GIF  
for shrinking an image. So, while there are many 
ways to script commands, here's my choice. A twin,  
while serving as my command history manager, 
has also a scripting system that's especially  
relevant here because it's easily tweaked. A twins 
scripts new make gif will be the example I pick  
here to create gifs on the fly. If we ever need 
changes beyond what's configured at twins scripts  
edit make gif will load it into the configured 
editor for changes. I made an entire video on  
a twin scripts. I'll link it up here. But for now 
let's create a gif automation. The oneliner takes  
its place here. But configured parameters will 
live between double curly bracket pairs making  
them configurable interactively. I'll do that with 
my input full file and then the output file name.  
Obviously, I can change the scale, FPS, etc. But 
for now, this will do. At scripts, run make GIF,  
which I, by the way, mapped to ASR locally, 
asks for values backwards, starting with the  
output file name, then the input file, which 
I can't remember. So, T-Max to the rescue. And  
there it is. And there's our new GIF created 
from automation. Now that you've wrapped your  
head around FFmpeg, you're ready to put things in 
use. But like we mentioned, it can be quite a lot  
taking it all in the flags, the switches, and 
then configs. I mentioned a twin scripts while  
presenting my choice for automating FFmpeg. But 
you won't only getting the scripts. A twin is  
an entire history manager with data persistency, 
fuzzy finding, and a powerful sync system that I  
can't work without. Check it in the video up here 
and let me know in the comments what you think.  
Don't forget to check out Kinsta for a faster, 
more secure WordPress hosting. Check out the QR  
on screen or the link in the description. Thank 
you for watching and I'll see you on the next
