Skip to content
A set of batch scripts to automate video conversion using FFmpeg on Windows
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
to CUDA h264 420p 10Mbit mp4 aac128.bat
to CUDA h264 420p 10Mbit mp4.bat
to CUDA h264 420p 1Mbit mp4.bat
to CUDA h264 420p 20Mbit mp4 aac192.bat
to CUDA h264 420p 20Mbit mp4.bat
to CUDA h264 420p 40Mbit mp4 aac320.bat
to CUDA h264 420p 40Mbit mp4 copy external wav.bat
to CUDA h264 420p 40Mbit mp4 external wav.bat
to CUDA h264 420p 40Mbit mp4.bat
to CUDA h264 420p 4Mbit mp4.bat
to HQ Gif 120px 10fps.bat
to HQ Gif 420px 10fps.bat
to HQ Gif 420px 15fps.bat
to HQ Gif 640px 15fps.bat
to h264 medium 420p baseline level 3.0 mp4.bat
to h264 mid-high 420p mp4.bat
to h264 very high film 420p mp4 aac256.bat
to h264 very high grain 420p mp4 aac128.bat
to h264 very high grain 420p mp4.bat
to h264 very high grain 420p scale1080p mp4.bat
to mux external aac256.bat
to mux external mp3.bat


This is a set of Windows batch scripts for effortless converting/transcoding videos using the free FFmpeg tool. It is a set of tools I develop mainly for myself and it saves me tons of time in every day work.

menu img

Click "Clone or donwload" on this page to get all the scripts, its free forever. First you need to download FFmpeg itself from here, it's free. Install it (extract), by default its path is c:\Program Files\ffmpeg. If you install it into a different path than this, you will need to edit the path to FFmpeg.exe in the main settings file sendtoffmpeg_settings.cmd. There're more parameters inside with description.

You can use these batches in a few different ways:

1st way

Just drag your video over the corresponding .bat file icon. You can drag files one by one, each will be encoded in a separate process, you can also select multiple files for any script except a few which mux external audio.

2nd way (how I use it)

You can integrate these batches as commands into Windows' Send To menu (right click on any file in the Explorer).

For this you need:

  1. Put all of these batches to any convenient location (I use my cloud sync folder to have these presets on all machines). Find the file named sendtoffmpeg_settings.cmd and edit it to change the path to FFmpeg installation if it's different from c:\Program Files\ffmpeg. You can also change here a few other settings for all scripts at once.

  2. Create the shortcuts for these files (Alt drag). Place these shortcuts into %userprofile%/SendTo or on Windows 10 into C:\Users[YOUR USER NAME]\AppData\Roaming\Microsoft\Windows\SendTo

  3. Rename these shortcuts to get rid of "Shortcut" in the names or to whatever you want, but do not change the .lnk extension. You can also change the icon of the shortcuts in their file properties, these icons will be displayed in the Send To menu.

  4. So basically you just did it. Now you can right click on any file and navigate to Send To item. You'll find your new preset item there. The corresponding .bat file will run ffmpeg to convert it and then will place the result into same folder with something like _420_high.mp4 added to your filename.

3rd way

Use it in CMD or Powershell as usual.


This works with Windows OS only. If you're on a Mac you can reuse the FFmpeg parameters from these scripts to create your own.

Each batch has a brief description of its functionality inside. SendTo_FFmpeg has its global settings: Path to FFmpeg, FFmpeg verbosity level, pause after encoding, and descriptive naming, they affect all batches at once. You can change them by editing sendtoffmpeg_settings.cmd, their brief description also included.

You can visit my blog for more info. I update this batch set regularly.

You can’t perform that action at this time.