FFmpeg is indeed a powerful video encoder/decoder tool¹. It operates in the command line, as opposed to using a GUI. Command line is that black window you find by typing [windows+r], then cmd in the popup field and hitting enter. This is also called "command prompt". Once setup, you enter FFmpeg commands in one of these windows to use it.

Here are the basic steps to "install" and use it:

Installation

  1. Download the latest FFmpeg build, courtesy of gyan.dev.
  2. Create a folder on your computer to unpack the zip file. This folder will be your "installation" folder. I chose C:\Program Files\ffmpeg\. This is a good idea because you will treat this like a regular program. Unpack the zip file into this folder.
  3. The folder should now contain a number of other folders, including one titled bin where ffmpeg.exe is saved. We're not done yet. Double clicking that file does nothing. Remember, this is a command line program. It runs in cmd.
  4. Before you can use ffmpeg.exe in cmd you have to tell your computer where it can find it. You need to add a new system path. First, right click This PC (Windows 10) or Computer (Windows 7) then click Properties > Advanced System Settings > Advanced tab > Environment Variables.
  5. In the Environment Variables window, click the "Path" row under the "Variable" column, then click Edit
  6. The "Edit environment variable" window looks different for Windows 10 and 7. In Windows 10 click New then paste the path to the folder that you created earlier where ffmpeg.exe is saved. For this example, that is C:\Program Files\ffmpeg\bin\ In Windows 7 all the variables are listed in a single string, separated by a semicolon. Simply go the the end of the string, type a semicolon (;), then paste in the path.
  7. Click Ok on all the windows we just opened up. Just to be sure, reboot your computer before trying any commands.

FFmpeg is now "installed". The Command Prompt will now recognize FFmpeg commands and will attempt to run them. (If you are still having issues with Command Prompt not recognizing FFmpeg try running CMD as an admin. Alternatively, you can use windows powershell instead of cmd. If it still does not work double check to make sure each step was followed to completion.)

Alternative installation methods

I've not tried these myself, but they probably work, and they're easy to do. However, you can accidentally mess up important things if you're not careful.

First, if you open cmd with administrator privileges, you can run setx /m PATH "C:\ffmpeg\bin;%PATH%", and change C:\ffmpeg\bin to your path to FFmpeg. This uses cmd to do all the gui steps listed above. Easy peasy.

Second, user K7AAY reports that you can simply drop the FFmpeg executables in C:\Windows\System32 and run them from there without having to define the path variable because that path is already defined.

Updating FFmpeg

To update FFmpeg, just revisit the download page in step 1 above and download the zip file. Unpack the files and copy them over the old files in the folder you created in step 2.

Using FFmpeg

Using FFmpeg requires that you open a command prompt window, then type FFmpeg specific commands. Here is a typical FFmpeg command:

 ffmpeg -i video.mp4 -vn -ar 44100 -ac 1 -b:a 32k -f mp3 audio.mp3

This command has four parts:

  1. ffmpeg - This command tells cmd that we want to run FFmpeg commands. cmd will first look for ffmpeg.exe in one of the folders from step 6 in the Installation section. If it is found, it will attempt to run the command.
  2. -i video.mp4 - This is an input file. We are going to be doing work on this file.
  3. -vn -ar 44100 -ac 1 -b:a 32k -f mp3 - These are the "arguments". These characters are like mini commands that specify exactly what we want to do. In this case, it is saying create an mp3 file from the input source.
  • -vn - Leave out the video stream
  • -ar 44100 - Specifies audio resolution in hertz.
  • -ac 1 - Audio channels, only 1. This is effectively "make mono".
  • -b:a 32k - Audio bitrate, set to 32 kbps.
  • -f mp3 - Force to MP3 conversion. Without this command, FFmpeg attempts to interpret what you want based on the extension you use in the output file name.
  1. audio.mp3- This is the output file.

As you can probably guess, this short command makes an MP3 audio file from an MP4 file.

To run this command, assuming you have an MP4 file to try this on, follow these steps:

  1. Hit the Windows key + r.
  2. Type cmd then enter.
  3. Change the path to where the file is that you want to work on. Type cd [path]. It should look something like cd C:\Users\name\Desktop\.
  4. Now type the FFmpeg command with the name of your input file. The command will run with some feedback. When it's done, cmd will be available for more commands.

This is the basic way to use FFmpeg. The commands can get far more complicated, but that's only because the program has so much power. Using the FFmpeg documentation, you can learn all the commands and create some very powerful scripts. After that, you can save these scripts into a .bat file so that you just have to double click a file instead of type out the whole command each time. For example, this answer contains a script that will create MP3's from all the MP4's in a folder. Then we would be combining the power of FFmpeg with the power of cmd, and that's a nice place to be when you have to do professional quality video/audio encoding on mountains of files.


  1. As a point if technical accuracy, FFmpeg is itself not an encoder or decoder. FFmpeg is a multimedia framework which can process almost all common and many uncommon media formats. It has thousands of to capture, decode, encode, modify, combine, and stream media, and it can make use of dozens of external libraries to do even more. Gyan.dev provides a succinct description.
Answer from user3643 on Stack Exchange
Top answer
1 of 2
61

FFmpeg is indeed a powerful video encoder/decoder tool¹. It operates in the command line, as opposed to using a GUI. Command line is that black window you find by typing [windows+r], then cmd in the popup field and hitting enter. This is also called "command prompt". Once setup, you enter FFmpeg commands in one of these windows to use it.

Here are the basic steps to "install" and use it:

Installation

  1. Download the latest FFmpeg build, courtesy of gyan.dev.
  2. Create a folder on your computer to unpack the zip file. This folder will be your "installation" folder. I chose C:\Program Files\ffmpeg\. This is a good idea because you will treat this like a regular program. Unpack the zip file into this folder.
  3. The folder should now contain a number of other folders, including one titled bin where ffmpeg.exe is saved. We're not done yet. Double clicking that file does nothing. Remember, this is a command line program. It runs in cmd.
  4. Before you can use ffmpeg.exe in cmd you have to tell your computer where it can find it. You need to add a new system path. First, right click This PC (Windows 10) or Computer (Windows 7) then click Properties > Advanced System Settings > Advanced tab > Environment Variables.
  5. In the Environment Variables window, click the "Path" row under the "Variable" column, then click Edit
  6. The "Edit environment variable" window looks different for Windows 10 and 7. In Windows 10 click New then paste the path to the folder that you created earlier where ffmpeg.exe is saved. For this example, that is C:\Program Files\ffmpeg\bin\ In Windows 7 all the variables are listed in a single string, separated by a semicolon. Simply go the the end of the string, type a semicolon (;), then paste in the path.
  7. Click Ok on all the windows we just opened up. Just to be sure, reboot your computer before trying any commands.

FFmpeg is now "installed". The Command Prompt will now recognize FFmpeg commands and will attempt to run them. (If you are still having issues with Command Prompt not recognizing FFmpeg try running CMD as an admin. Alternatively, you can use windows powershell instead of cmd. If it still does not work double check to make sure each step was followed to completion.)

Alternative installation methods

I've not tried these myself, but they probably work, and they're easy to do. However, you can accidentally mess up important things if you're not careful.

First, if you open cmd with administrator privileges, you can run setx /m PATH "C:\ffmpeg\bin;%PATH%", and change C:\ffmpeg\bin to your path to FFmpeg. This uses cmd to do all the gui steps listed above. Easy peasy.

Second, user K7AAY reports that you can simply drop the FFmpeg executables in C:\Windows\System32 and run them from there without having to define the path variable because that path is already defined.

Updating FFmpeg

To update FFmpeg, just revisit the download page in step 1 above and download the zip file. Unpack the files and copy them over the old files in the folder you created in step 2.

Using FFmpeg

Using FFmpeg requires that you open a command prompt window, then type FFmpeg specific commands. Here is a typical FFmpeg command:

 ffmpeg -i video.mp4 -vn -ar 44100 -ac 1 -b:a 32k -f mp3 audio.mp3

This command has four parts:

  1. ffmpeg - This command tells cmd that we want to run FFmpeg commands. cmd will first look for ffmpeg.exe in one of the folders from step 6 in the Installation section. If it is found, it will attempt to run the command.
  2. -i video.mp4 - This is an input file. We are going to be doing work on this file.
  3. -vn -ar 44100 -ac 1 -b:a 32k -f mp3 - These are the "arguments". These characters are like mini commands that specify exactly what we want to do. In this case, it is saying create an mp3 file from the input source.
  • -vn - Leave out the video stream
  • -ar 44100 - Specifies audio resolution in hertz.
  • -ac 1 - Audio channels, only 1. This is effectively "make mono".
  • -b:a 32k - Audio bitrate, set to 32 kbps.
  • -f mp3 - Force to MP3 conversion. Without this command, FFmpeg attempts to interpret what you want based on the extension you use in the output file name.
  1. audio.mp3- This is the output file.

As you can probably guess, this short command makes an MP3 audio file from an MP4 file.

To run this command, assuming you have an MP4 file to try this on, follow these steps:

  1. Hit the Windows key + r.
  2. Type cmd then enter.
  3. Change the path to where the file is that you want to work on. Type cd [path]. It should look something like cd C:\Users\name\Desktop\.
  4. Now type the FFmpeg command with the name of your input file. The command will run with some feedback. When it's done, cmd will be available for more commands.

This is the basic way to use FFmpeg. The commands can get far more complicated, but that's only because the program has so much power. Using the FFmpeg documentation, you can learn all the commands and create some very powerful scripts. After that, you can save these scripts into a .bat file so that you just have to double click a file instead of type out the whole command each time. For example, this answer contains a script that will create MP3's from all the MP4's in a folder. Then we would be combining the power of FFmpeg with the power of cmd, and that's a nice place to be when you have to do professional quality video/audio encoding on mountains of files.


  1. As a point if technical accuracy, FFmpeg is itself not an encoder or decoder. FFmpeg is a multimedia framework which can process almost all common and many uncommon media formats. It has thousands of to capture, decode, encode, modify, combine, and stream media, and it can make use of dozens of external libraries to do even more. Gyan.dev provides a succinct description.
2 of 2
9

The other answer gives a very good answer that covers the default way of installing it, I'd like to propose two ohter methods that are good for noobs and pros alike:

Option 1

Chocolatey is a package manager, it's a bit like the Microsoft Store, except that it's actually useful, it's all free, and it runs on the commandline. With chocolatey, installing ffmpeg—and setting up the correct $PATH etc.—is as simple as

choco install ffmpeg

It's way quicker and far safer than searching for the right website, finding the download, unzipping it, reading the installation documentation, googling how to set it up, downloading some dependancy etc. etc.

To install Chocolatey you run a command on the commandline, obvs. The website shows you how, but it is a simple cut-n-paste affair. https://chocolatey.org/

You can then check out over 6000 free packages available with choco list <search term here>. There are even non-CLI programs so it's not just for the hardcore. It makes setting up a new install of windows super easy: I have a list of software that I always install and just get chocolatey to do it for me: choco install firefox ffmpeg conemu edgedeflector ditto rainmeter imagemagick… and so on.

As an added bonus upgrading your software is as easy as choco upgrade all

Option 2

Winget is another package manager, that is built-in to recent versions of Windows. The recipe for installing ffmpeg with winget is similar: open a terminal (can be Powershell, wsl, or even cmd if you like banging rocks together) and type

winget install ffmpeg

This will download and install the build of ffmpeg that is hosted by gyan (at the time of writing). It will also work if you don't have admin privileges, which chocolatey prefers.

🌐
FFmpeg
ffmpeg.org › ffmpeg.html
ffmpeg Documentation
1 week ago - The above pipeline can be constructed with the following commandline: ... -map 0:1 selects the input stream to be used - from input with index 0 (i.e. the first one) the stream with index 1 (i.e.
Discussions

A list of useful commands for the ffmpeg command line tool
If you have a large amount of media to archive then scripting ffmpeg is very powerful. It's also an awesome library for your own apps. For one off encodes Handbrake and the file-writing capabilities of VLC are GUI alternatives. Edit: Since I have your attention with this comment. Nvidia users may want to install CUDA-accelerated ffmpeg. That's not going to be in your FOSS repos. https://www.cyberciti.biz/faq/how-to-install-ffmpeg-with-nvidia-gpu-acceleration-on-linux/ More on reddit.com
🌐 r/linux
38
380
May 4, 2023
windows - How to Run ffmpeg From Command Prompt - Stack Overflow
I am trying to get started using this FFmpeg "complete, cross-platform solution". The home page has a line of code that says: $ ffmpeg -i input.mp4 output.avi When I plug this code into my command More on stackoverflow.com
🌐 stackoverflow.com
how to use FFMPEG

You can use process::Command to launch and control processes from a Rust program.

Note that ${ffmpeg_args} and ${_arg_output} are bash script variables. They will not be expanded when creating a Command in Rust. You'll need to code some mechanism to provide the actual values of those variables, such as command-line parameters to your program.

More on reddit.com
🌐 r/rust
13
17
November 22, 2020
Folks, if you haven’t used it, start doing so. FFMPEG is great software.
Shout out to Shutter Encoder , which is a graphical front-end for FFMPEG. It's free, and has most of the commonly used features in an easy-to-access interface. It also can handle files in batches. More on reddit.com
🌐 r/VideoEditing
19
81
September 29, 2021
🌐
Reddit
reddit.com › r/ffmpeg › sorry for being stupid, but can someone help me get ffmpeg to work?
r/ffmpeg on Reddit: Sorry for being stupid, but can someone help me get FFmpeg to work?
July 11, 2022 -

As an introduction, please know that I have no idea what I'm doing. I don't know the first thing about computer science or coding or anything, I just got ytarchive and need to mux the .ts files it spits out.

I'm on windows 10, if that matters. I downloaded the second download link from gyan , the one called "ffmpeg-git-full.7z" . It downloaded fine, extracted fine, and it's got 3 .exe files in a folder called "bin" , but not a one does anything. If I spam click them fast enough, I can see the outline of a new window pop up for like a tenth of a second, but that's it. I tried running as admin, and aside from asking if I wanna let it make changes to my computer, it's the exact same.

I have no idea what to do. Any help you could offer would be super appreciated. Including suggestions of easier, more idiotproof programs to use, maybe.

Top answer
1 of 5
4
ffmpeg is command line program and does not have a graphical UI. If you're not prepared to use command line (google command line if you dont know what it is) you should use something equivalent but with a GUI. There are programs out there that act as a front end for ffmpeg. My favorite is staxrip. Nice UI on it.
2 of 5
3
Here's how you can dip your toes in: Create a new folder on your desktop. Drop FFMPEG.exe into that folder. Drop a sample movie file you'd like to play with into the folder. I would normally say to shift-right-click an empty spot in the folder to open a Windows Command Line prompt, but these days, that option is replaced with PowerShell, which is tedious. So instead, Open Notepad and type CMD. Save the file as Open_commandline.bat in the folder. Now, double-clicking that batch file will open a windows command prompt for you. Now, in that command prompt, you can try invoking FFMPEG to do something to the file. A typical commandline would be something like ffmpeg -y -i MYTESTFILE.MP4 -c:v libx264 -c:a copy MYNEWFILE.MOV This takes your input .MP4 file and converts it to H.264 video in a QuickTime .MOV container. Of course, FFMPEG can do a lot of other things, like resizing the video, cropping the video frame down, trimming the timeline down, changing the framerate, adding/removing tracks, etc. Using commandline apps like this is a bit of a learning curve, but it can be very rewarding, since you can create batch scripts to do things quickly and efficiently without having to click all over the place.
🌐
Shotstack
shotstack.io › / › learn › how to use ffmpeg: installation, commands & examples
How to use FFmpeg: Installation, commands & examples — Shotstack
You can try the commands with any video you have, or use the sample file named scott-ko.mp4. Each example starts with a quick explanation, then gives you a copy-paste command. Sometimes you just need a video in a different format so it plays nicely on a website, a phone, or a specific app. FFmpeg can convert formats with a single command, and in many cases it will pick the right codecs for you. ... FFmpeg will swap the video and audio encoders as needed so the WebM file is valid. If you prefer to choose the codecs yourself, use this pattern:
🌐
Opensource.com
opensource.com › article › 17 › 6 › ffmpeg-convert-media-file-formats
A quick guide to using FFmpeg to convert media files | Opensource.com
FFmpeg to the rescue! You can select the codecs needed by using the -c flag. This flag lets you set the different codec to use for each stream. For example, to set the audio stream to be Vorbis, you would use the following command:
🌐
GitHub
gist.github.com › steven2358 › ba153c642fe2bb1e47485962df07c730
FFmpeg cheat sheet · GitHub
When I run the command I get following output. Option video_size not found. ... No, -fps sets the framerate. It's not a video filter. ... It's documented as a video filter here. Maybe you mean -r? ... It's documented as a video filter here. Maybe you mean -r? ... Sorry, yes, I was thinking of -r. -fps is indeed used to force a new framerate. ... D:>ffmpeg.exe -i D.mkv D.wav Output #0, wav, to 'D.wav': Stream #0:0(cze): Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s (default)
🌐
FFmpeg
ffmpeg.org
FFmpeg
The first part of the project was ... a simple HTTP stream using the following commands: ffmpeg -i /dev/video0 -listen 1 -f matroska \ -c:v libx264 -preset fast -tune zerolatency http://:8080 ffplay http://localhost:8080/...
Find elsewhere
🌐
OSTechNix
ostechnix.com › home › ffmpeg › 20+ ffmpeg commands for beginners
20+ FFmpeg Commands For Beginners - OSTechNix
October 31, 2025 - The following command will remove the video from the given media file. ... You can also mention the output file's bitrate using '-ab' flag as shown in the following example. ... Another useful feature of FFmpeg is we can easily extract images from a video file. This could be very useful, if you want to create a photo album from a video file.
🌐
YouTube
youtube.com › 0612 tv w/ nerdfirst
How to use FFMPEG - YouTube
The unsung hero of video encoding - FFMPEG! You've probably used it (hidden behind some user interface), but today, we'll learn how to get to the root of it,...
Published   December 8, 2015
Views   358K
🌐
Bannerbear
bannerbear.com › blog › ffmpeg-101-top-10-command-options-you-need-to-know-with-examples
FFmpeg 101: Top 10 Command Options You Need to Know (with Examples) - Bannerbear
February 1, 2023 - To use FFmpeg, you need to download and install the packages and executable files for your OS from the official FFmpeg download page. After installing it, verify the installation by running ffmpeg in your terminal.
🌐
VideoProc
videoproc.com › resource › ffmpeg-commands.htm
FFmpeg Commands: 31 Must-Haves for Beginners in 2024 - VideoProc
March 8, 2023 - For example, the following command will convert the first 10 seconds of the input.mp4 to MKV format. Note you can also specify the time in hh.mm.ss format. ... FFmpeg can also easily help with trimming video and audio files. Use the -ss value to set the start time of the clip, and -to value to set the end time.
🌐
Ffmpeg-api
ffmpeg-api.com › learn › ffmpeg › guide › syntax-and-examples
FFmpeg Command Syntax: Complete Reference & Examples - FFmpeg API
February 4, 2026 - Here’s an example of changing the audio stream in a WebM video to FLAC: ffmpeg -i input.webm -c:v copy -c:a flac output.mkv · In this command, -c:v copy tells FFmpeg to copy the video stream as-is, and -c:a flac tells FFmpeg to encode the audio stream using the FLAC codec.
🌐
Ffmpeg
ffmpeg.media › articles › ffmpeg-101-beginners-guide
FFmpeg 101: A Beginner’s Guide to the Command Line
An FFmpeg command reads: global options → inputs → per‑stream options → output file(s). ... Inputs start with -i. Input‑specific options must appear before their -i. Per‑stream options like -c:v or -b:a come after the input and before the output file.
🌐
Reddit
reddit.com › r/linux › a list of useful commands for the ffmpeg command line tool
r/linux on Reddit: A list of useful commands for the ffmpeg command line tool
May 4, 2023 - Another tip, Bing (and probably ChatGPT as well) are really good at coming up with FFMPEG commands for any given task ... ffmpeg -standard NTSC -f v4l2 -i /dev/video0 -f alsa -i hw:0,0 -vcodec mpeg2video -s 720x480 -r 30000/1001 -b:v 8000k -aspect 4:3 -acodec libmp3lame -b:a 192k -channels 2 -ar 48000 tvshow.mpg ... You can also check the wiki section of my repo in GitHub https://github.com/stoyanovgeorge/ffmpeg. I have tried to cover different use cases for ffmpeg.
🌐
Doe
mfix.netl.doe.gov › doc › tracker › 18.1.1 › ffmpeg.html
ffmpeg Commands — Tracker 18.1.1 documentation
Here is a collection of useful ffmpeg commands for converting image stacks to mp4s.
🌐
VdoCipher
vdocipher.com › home › how to use ffmpeg on windows and mac?
How To Use FFMPEG on Windows and Mac? - VdoCipher Blog
October 28, 2025 - This command will convert a video file from one format to another. FFMPEG provides a crop parameter for specific purposes. ... To resize a video to desired size you can use -vf parameter.
🌐
32blog
32blog.com › home › ffmpeg › ffmpeg commands: a practical guide from basics to advanced
FFmpeg Commands: A Practical Guide from Basics to Advanced | 32blog
July 19, 2024 - The basic FFmpeg syntax is ffmpeg -i input output. That alone handles format conversion. Add -c:v to pick a video codec, -crf to set quality, and -ss to trim — and you've covered most real-world use cases.
🌐
Abyssale
abyssale.com › blog › top-20-best-commands-for-ffmpeg
Top 20 best commands for FFmpeg
July 1, 2025 - Whether for a Youtube video or even your Instagram reels, you can add a cover image to your videos. In this case, enter the following command: ffmpeg -i input.mp4 -i cover.jpg -c copy -map 0 -map 1 output.mp4
🌐
Medium
anya-name.medium.com › using-ffmpeg-for-beginners-in-everything-849df70df574
Using ffmpeg for beginners in everything | by Anya Name | Medium
October 27, 2020 - Internet told me that I only need to close all command line instances and restart them but it did not help. Restarting the computer helped. I had to experiment with parameters to find what I really need. Sometimes it would make good video but it could not be saved to iPhone which was one of my requirements. So I will just put a result here: ffmpeg -framerate 60 -i d.png -pix_fmt yuv420p out.mp4