Windows · Guide
How to Convert and Trim Video with FFmpeg on Windows
Short answer
Extract an FFmpeg build, add its bin folder to PATH, then run ffmpeg -i input.mp4 -c copy -ss 00:01:00 -t 00:00:30 clip.mp4 to cut without re-encoding, or drop -c copy to convert with a new codec.
Requirements
- Windows 11 or Windows 10
- An official FFmpeg Windows build
- Command Prompt, PowerShell or Windows Terminal
- Optional: LosslessCut or HandBrake for a graphical workflow
Steps
1. Download a trusted build
FFmpeg does not ship a Windows installer; use the builds linked from ffmpeg.org. Extract the archive to a permanent folder such as C:\ffmpeg.
2. Add FFmpeg to PATH
Search for Edit the system environment variables, open Environment Variables, and add C:\ffmpeg\bin to Path. Open a new terminal and run ffmpeg -version to confirm.
3. Inspect the file first
ffprobe input.mp4 reports the container, codecs, resolution and bitrate. Knowing the source codec tells you whether a copy is possible or a re-encode is needed.
4. Trim without re-encoding
ffmpeg -ss 00:01:00 -i input.mp4 -t 00:00:30 -c copy clip.mp4 cuts in seconds with no quality loss. Cuts land on the nearest keyframe, so the start can shift slightly.
5. Convert to H.264 MP4
ffmpeg -i input.mkv -c:v libx264 -crf 21 -preset medium -c:a aac -b:a 160k output.mp4 produces a widely compatible file. Lower CRF means higher quality and a bigger file.
6. Change container only when possible
ffmpeg -i input.mkv -c copy output.mp4 remuxes instantly when the codecs are already MP4-compatible — the fastest fix for a file a player refuses to open.
7. Extract or replace audio
ffmpeg -i input.mp4 -vn -c:a copy audio.m4a pulls the audio track out untouched; -an drops audio from the video entirely.
Alternative methods
1. Use LosslessCut
LosslessCut is an FFmpeg front end for keyframe-accurate cutting with a timeline, ideal when you would rather not type commands.
2. Use HandBrake for batch conversion
HandBrake offers device presets and a queue, which is more convenient than FFmpeg for converting many files to the same target.
Troubleshooting
ffmpeg is not recognized
PATH was not updated, or the terminal predates the change. Open a new terminal, or run the full path C:\ffmpeg\bin\ffmpeg.exe once to confirm the extraction worked.
The trimmed clip starts at the wrong moment
Stream copy can only cut on keyframes. Put -ss after -i and drop -c copy to re-encode for a frame-accurate cut.
The output has no sound
The source audio codec is not valid in the target container. Re-encode audio with -c:a aac instead of copying it.
Frequently asked questions
Is FFmpeg free for commercial use?
FFmpeg is open source under LGPL or GPL depending on the build. Commercial use is permitted, but some encoders carry patent-licensing considerations of their own.
Does converting lose quality?
Re-encoding always loses some quality. Stream copy with -c copy changes the container without touching the video, so nothing is lost.
Can FFmpeg use my GPU?
Yes, with encoders such as h264_nvenc or hevc_qsv when your hardware and build support them. Output is much faster, with slightly lower efficiency per bit.
How do I compress a video for email?
Lower the resolution and raise CRF, for example -vf scale=-2:720 -crf 28. Check the result before sending, since aggressive settings look soft.