FFMPEG BATCH AV CONVERTER USER GUIDE
FFmpeg Batch AV Converter for Windows is an ffmpeg graphical user interface (GUI) that allows
to use all the potential and speed of ffmpeg command line to batch encode any number of files in a
few clicks, adding many useful features like progress information, remaining time, output size
estimation. It also makes it easy to manipulate files streams and multiplex them, as well as adding
subtitle tracks and batch process m3u8 and YouTube urls. Some additional wizards allow more
complex features like two-pass encoding, image extraction, silence detection, file splitting.
General index
1. Main screen
2. FFmpeg settings
3. Encoding choices
a. Sequential encoding
b. Multi-file encoding
c. Multiple presets encoding
d. Record screen
e. Join files
f. Trim files
4. Quick settings
5. Runtime settings
6. File list management
a. Filtering
b. Custom columns
7. Two pass video wizard
8. Application settings
a. Presets editor
9. Stream multiplex tab
10. Batch subtitles tab
11. Batch URL download tab
12. Application Wizard
a. Silence detector
b. Image to video
c. Image extraction
d. File split
MAIN SCREEN
• Clear list: Clears all files and tracks lists.
• Add files: Selects files in a specific folder.
• Subfolders: Adds all files in the selected folder and all its subfolders if the check is on.
o Thousands of files or folders can be added. Every file will be checked and if duration
can’t be obtained by the OS it will be parsed using ffprobe.
o Files for which duration can’t be obtained can be processed but no progress information
is displayed.
• Wizard: Opens the ffmpeg preset wizard.
• Settings: Opens the settings panel.
• Help: Opens this quick guide.
• Exit: Gracefully closes application and checks for unsaved settings.
FFmpeg version is displayed, and clicking on it allows to
backup and replace current ffmpeg.exe with a different
version.
Check for updates.
FILE LIST RIGHT-CLICK MENU
- You can right-click on file list to show this menu
- You can also double-click on any file to obtain the multimedia
file information.
- File list can be sorted by any column (name, duration, size).
• Remove invalid (no A/V items) from list.
• Reset items status to “Queued”.
• Refresh file list.
• Move up/down items with status ‘queued’.
FFMPEG SETTINGS
• Presets: It consists of a preset description, a set of ffmpeg parameters and format extension.
o Parameters: Write here the ffmpeg command line parameters of your choice.
Dynamic parameters: The following variables can be used on parameters field:
• %1: Source file including full path.
• %2: Source file including full path without extension.
• %fp: File full path.
• %ff: File with extension
• %fn: File name without extension.
• %fd: Directory name.
• %fdur: Source file duration in seconds.
• %fdur+1: Source file duration in seconds + 1.
• Format: The output format extension. If you leave this filed blank, the source file extension will
be used as output format.
• Save button: Saves your own parameters/format combination. Any preset will be overwritten
with the new parameters unless preset name is modified.
• Remove button: Removes any existing preset. Default saved parameters cannot be removed.
• Edit presets: Opens the ffmpeg presets editor.
• Pre-input: Write here any required ffmpeg parameters used before input file.
o Pre-input parameters are not saved in the preset.
• Pre-input seeking: A convenient way to set the -ss pre-input parameter for fast seeking to start
processing on the selected time.
• Configuration version: It allows to specify a version number for current settings.
Easy hardware video decoding selector (pre-input -hwaccel).
• Reload settings: Loads the previously saved settings.
• Save settings: Saves to configuration file (ff_batch.ini) the following settings:
o All current presets, and whether open or not output path after tasks completion.
o Recreate or not files source path on output folder (to avoid overwriting when adding
multiple folders).
o Rename or not output files automatically.
o Add subfolders.
o Show/hide grid.
o Settings file version.
• Try preset: Runs a test with the selected input file and the current parameters and output
format. It will show the result in a new window with any ffmpeg error information included.
• Try on FFmpeg console: opens ffmpeg in command line. You can choose in settings panel to pass
current parameters and filename to the ffmpeg console, or just show ffmpeg console version.
• View last log: Every sequential or multi file processing will save the console output in a text file
that can be reviewed/saved here. Only the last log is kept. You can disable logging at settings
panel.
• Save queue: Saves current queue state, including items status, runtime settings and output path.
Manual add path dialog
Right-click to display this menu, so you can
paste or manually write source files path.
Path auto-completion is enabled.
AUDIO
• Audio waveform: Generate a graphical wave form in a new window
of the selected file.
• Volume: Increase audio volume the selected dBs.
o Remember that audio stream copy can’t be used in this
case.
• Shift: move audio track to synchronize with video.
ENCODING CHOICES
• Sequential encoding: Start processing all queued files one at a time using the selected
parameters and output format. This is the choice for video encoding.
o FFmpeg parameters are tried using the first file before real encoding starts and any error
(wrong parameters, format, etc.) will pop up and queue processing will be aborted. This
trying can be disabled at settings panel to start encoding immediatly.
o Every task will show progress (%), average bitrate and estimated output size.
o Queued files can be added or removed on the fly once encoding starts.
• Multi-file encoding: Start processing multiple files simultaneously, limiting maximum number of
files value below. The maximum number is the number of CPU threads. It is recommended for
audio since it can simulate multi-threading feature that is usually missing in audio libraries. For
video encoding its not always recommended, since video libraries are already multi-thread
compatible, but for some scenarios it can speed overall encoding by using all system resources.
• Multiple presets: Allows to sequentially encode files using up to three different presets in just one
step. Progress information will vary depending on every preset parameters.
• Skip current: When in sequential processing, abort current file encoding and continue.
• Multimedia info: Show either a summary or a full report of multimedia file info.
• Stop item encoding: You can right-click on any item during queue processing to stop it.
OTHER ENCODING FEATURES
• RECORD SCREEN: It uses gdigrab function to capture screen. Once clicked a popup will show
available audio capture devices. You can record video only by selecting “No audio”.
NOTE: Audio is only recorded from capture devices. If you want to capture audio playing on the
computer, search for “Stereo-mix”, and in case it is not available, you can download a virtual
audio playback capturer here:
https://github.com/rdp/screen-capture-recorder-to-video-windows-free/releases/tag/v0.12.11
• JOIN FILES: Use the concatenate function to join all files in queue using the selected preset.
Useful for stream copy or re-encoding concatenation. You can select two ways for joining files.
o Concatenate demuxer: It allows
to stream copy and concatenate any
type of files, but if file formats are
not exactly the same it can lead to
compatibility issues or errors playing
encoded files. Not all containers
support stream copy joining,
sometimes re-encoding is required.
o Concatenate video filter: Only
for video files, it fixes compatibility
video playback issues but it requires
to re-encode source files. It
automatically selects the best
encoding configuration depending
on source format, so parameters
field can be left blank on this mode.
Enable batch concatenation: Instead of joining all files on main file list, enabling this setting
allows to batch join an initial and/or end file to every file on the list, applying the concatenation
settings and limitations above. Containers like mkv, mp4, mp3, support stream copy
concatenation. If the results are not successful, maybe re-encoding files is required.
• TRIM FILES: Trim file using the initial and final time on the right boxes.
• Start/End checkbox is enabled: The initial and end time fields are
the amount of time trimmed at the beginning or end of file.
• Start/End checkbox is disabled: The initial and end time fields are
used as the markers to start and finish file trimming.
• For example: If checked, file is trimmed form the beginning and the end using the duration
specified. For example, you can trim 10 seconds from the beginning and 5 from the end by
checking this mark and selecting 00:00:10:000 / 00:00:05:000. If it is unchecked, start and end
time are used as time marks for trimming.
• Keyframes button shows a report of the video keyframe intervals.
OUTPUT PATH: This is the destination folder for encoded files. The default path is the input file path
subfolder ‘FFBatch’.
• The browse button allows to select a different absolute path, which can be saved as default, or
be reset to ..\\FFbatch with the reset button.
• The edit path button allows to set a different relative path based on input file path. Just write a
folder name, with no dots or ‘\’ characters at the beginning. You can chain the relative path
using a structure like ‘relative1\relative2’.
• You don’t have to write .\ or any character, just the folder name, which automatically used as a
relative path from input source files.
• You can select “user source files path” so output folder always matches source path.
QUICK SETTINGS
• Multi-file: Select the number of simultaneously processed files
during multi-file encoding.
• Do not try preset: Before start encoding, ffmpeg parameters are
tried once and if any error occurs encoding is aborted. In case you
experience random errors encoding with specific parameters, check this mark so encoding starts
without parsing parameters. In this case, if parameters are wrong they will be applied to all
queued files, unless processing is aborted.
• Delete source: Send input files to recycle bin once encoding is successfully completed. Files are
not sent if any encoding error occurs.
• Overwrite source files: If source filename and destination are the same, source will be
overwritten. Output path needs to be set as “.\” (source path) for it to work.
If encoding is successful and source is overwritten, the item status will be “Replaced”.
If not, a warning will be displayed.
• Open on completion: Once all files are processed the destination folder will be opened.
• Recreate source path: The input path structure will be kept on the destination folder.
• Rename output: Add a text suffix to the output file name.
• Fade in/out Video/audio: This feature allows to add a fade in/out effect for both audio and video,
adding the corresponding filters. While fade in effects can be chained with other -vf or -af filters,
fade out is not compatible with multiple filters since it is based on audio/video file duration.
RUNTIME SETTINGS
• Automatic shutdown: Once completed any processing operation the application will either
power off, hibernate or suspend the computer in 60 seconds, unless cancelled.
• Run command on completion / on each file: It is possible to run any application or document
after queue is successfully completed, or to each successfully encoded file.
o Executable: Browse for the executable, script or document of your choice.
o Arguments: Add any arguments if required by your executable.
• Autorun encoding: If selected, application will start encoding automatically after adding files or
folders to the application, using the current preset. This setting applies on startup too, using the
default saved preset. You can select on settings either to automatically start sequential or multi-
file encoding.
• Process priority: The priority of ffmpeg threads can be adjusted, and save a default value.
• Pause encoding: Queue processing is halted, and It can be resumed or aborted.
• Abort encoding: Abort current task(s) and stop queue encoding.
This is the progress information and time elapsed/remaining to finish the current file queue. For
sequential processing, average bitrate and the estimated output size is also displayed.
Once queue is complete, a check icon will be displayed stating that no errors occurred, or a warning
icon in case any file encoding reported an error.
FILE LIST MANAGEMENT
FILE LIST FILTERING
You can filter file list using the following criteria, and then select to keep or remove the files
matching selected filter:
• Status: Queue status (Success, failed, queued)
• File extension.
• File size (greater or equal than value in MB).
• File bitrate (overall bitrate).
• Video codec:
o Selector allows to choose first (usually the video stream), second or any stream to
search for value.
o You can select a value from the list or write your own.
• Video bitrate (greater or equal than value in Kbps).
• Audio codec:
o Selector allows to choose first (usually the stream for audio files), second (usually
audio the stream for video files) or any stream to search for value.
o For multitrack files, the any stream will be the choice.
o You can select a value from the list or write your own.
• Frame rate: Video frame rate (exact match). You can write a custom value.
• Frame size: Video frame size (exact match). You can write a custom value.
• Custom string (FF): Search for a string in all the streams output information.
• Custom string (MI): Search for a string in all media info output information.
• Metadata: Search for media info selected metadata fields.
- When searching for video information, files that do not have a first video string are discarded.
- Files with 0 or N/A duration are discarded.
- Filter result can be reverted with the undo/redo button.
ADD CUSTOM COLUMN
Add up to five custom columns to file list: Video resolution, video and audio codec and bitrate.
NOTE: Custom columns somewhat slow down file adding and refreshing list procedures.
FILE STREAMS AND VIDEO NAVIGATION
This dialog displays the available file streams. For video files, it reads all keyframes, and allows to
navigate frames, set trim markers to use on main screen, copy and save frames as image.
TWO PASS VIDEO WIZARD
Two pass video encoding wizard batch processes queue files using the two pass feature
implemented in several encoders, like libx264, libx265, libvpx-vp9. File list cannot be empty.
First you need a base preset, which will be used to generate pass 1 and pass 2 parameters.
A compatible video encoder and video bitrate parameter (-b:v or -vb) is required.
o Progress information is only partial during vp9 first pass.
o NVIDIA encoders (h264_nvenc, hevc_nvenc) should not be used in this wizard, since two
pass encoded is already implemented using “-preset slow”.
NOTE: Always review parameters.
They could be considered valid,
but actually not fulfill its purpose,
since -pass 1 or -pass 2
parameters can be ignored by
some codecs if improperly used.
On the second screen you can review and tweak the first/second pass parameters. Both are tested
before actual encoding starts, and if validation fails, error information is displayed and preset status
changes accordingly.
APPLICATION SETTINGS
• Add folder and subfolders: If selected, files in subfolders will also be added to the file list.
• Do not save logs: Disable log saving..
• Verbose logs: Save more verbose ffmpeg log information during encoding.
• Use concat video filter for joining files: If switches to concatenation video filter for better
compatibility, at expense of re-encoding source material. If unchecked, then files are joined
using demuxer filter.
• Sort multi-file list by duration: If multi-file is started, items are sorted by descending duration,
so longer files are started first.
• Do not send filename and parameters to console: When using the try on console button, by
default selected item and parameters are used to try the command to a temporary folder. If
checked, only a standard terminal will be displayed.
• Check for update on startup: Disable automatic search for updates on startup.
• Remember last tab: Tab selected before closing application will be opened again.
• Remember window size/location: Window size/location is stored used the next time application
is opened.
RUNTIME SETTINGS
• Do not warn of already encoded items: If the file lists contains items with status “Success” or
“Replaced”, the user is by default warned that those items were already successfully processes.
If this setting is checked, all items are automatically reset to “Queued” and processed.
• Do not display warning for zero duration files: Added files are parsed to obtain its duration. If
parsing results in zero or not available durations, a warning is displayed, unless this option is
enabled.
• Open output folder on queue completion: Once queue processing is complete, the destination
path is open. If there are multiple source file paths, the first file destination path is displayed.
• Recreate source path on destination folder: If multiple files from different folders are added to
the file list and then an absolute output folder is selected, files may be overwritten if they have
the same name but come from different folders. This settings preserves the source path
structure on destination folder to avoid this risk.
• Rename output file: If checked, output files are renaming adding the text suffix on the right.
• Disable try preset before start encoding: Before queue processing starts, the first file on the list
is tested using the selected preset, so in case the parameters or format are wrong, encoding is
aborted so a bad preset is used. In some rare parameters combinations, the trying process can
fail, preventing real encoding from starting. Check this if you encounter problems starting
encoding with certain parameters.
• Prevent computer from going to sleep: If computer enters sleep mode during encoding, the
process will fail. This setting prevents that scenario so user doesn’t have to disable sleep timer
on his computer.
• Show full multimedia report: Instead of an information summary.
• Default preset: These are the ffmpeg parameters and file extension loaded on startup.
DELETE SOURCE FILES
When Delete source files is enabled on main screen, this settings apply:
• Do not send to recycle bin: Files will be completely deleted, instead of being moved to the
recycle bin.
• Delete one by one: Files are either recycled/deleted at the end of the queue encoding. Enabling
this will attempt to delete them just after encoding finishes successfully.
NETWORKING CACHING SETTINGS
• Do not prompt to cache network files: You will not be prompted to cache network files.
• Use OS File copy dialog: The system file copy dialog will be used for file caching. While it is a
faster option, if pops up a copy dialog every time a new file is cached.
FFMPEG INFO
• Current ffmpeg binaries version is displayed here.
• Latest ffmpeg release available is also displayed, and whether you are using the latest version.
• Browse for ffmpeg binaries browses for new Windows releases on gyan.dev website.
SETTINGS BUTTONS
• Reset all settings: It resets application to factory default settings. It is useful if application
becomes unstable, however custom presets are lost. We can preserve them using Edit saved
presets, copying the file contents.
• Use defaults: It selects the default choice for all settings.
• Security and performance: FFmpeg integrity validation and security exclusion.
• Edit saved presets: This feature allows import, edit and save the application presets saved in the
text configuration file ff_presets.ini, so presets can be quickly added and reordered. It is
recommended to backup this configuration before proceeding, though an automatic backup is
created after saving the file or during upgrades.
• Night mode: It changes the application theme to dark colors.
• Discard changes: All changes are discarded.
• Save changes: All modified settings are saved and panel is closed.
SECURITY AND PERFORMANCE
This dialog displays the system information, and the ffmpeg integrity status.
If ffmpeg.exe has been modified, a security alert will pop up.
Add exception: It allows to add an exclusion to Windows Security for ffmpeg.exe, since continuous
antivirus analysis can slow down some application operations.
PRESETS EDITOR
Presets are saved on %appdata%\FFBatch\ff_presets.ini. This editor allows to quickly edit and save
them, import/export. An automatic backup (ff_presets_bck.ini) is created every time presets are
saved.
STREAM MULTIPLEX
In this tab file streams are automatically displayed and can be added to the tracks file list. There they
can be manipulated, saved or multiplexed. Every stream type has a different color.
You can right-click on a track to show this menu:
• Change default status: So the stream is
played by default.
• Set this track encoding as default: You
can change the default encoding (copy)
and set those parameters as default.
• Reset to default encoding: Returns to
the default (copy stream).
• Use as still image for audio: You can easily create a video clip, either from an image file or
from a video frame. By default the video frame is at 00:00:00. You can select a different time
using the main tab pre-input seeking.
Clear tracks: Clear tracks list.
• Add file tracks: Add available file streams to the tracks list. When the file list has only one file
streams are added automatically.
• Remove track: Remove selected track on list.
• Default track: Set a default played stream.
• Add as mux job: Add current tracks and parameters information as new job.
• View mux jobs: Display jobs manager to check added jobs.
• Save track: Save the selected track as a new file using the extension on the right.
• Mux all: Multiplex current selected tracks as a new file.
• Format: output extension for Mux button.
NOTE: Some containers can be incompatible with selected tracks. Only mkv ensures
virtually any audio/video codec compatibility.
• Items language: It changes all items language to the selected here.
• Encoding parameters: By default tracks are in stream copy mode. You can selected a
different encoding writing the parameters of your choice.
o NOTE: Depending on the track type, -c:v. -c:a or -c:s are assumed, so if you write
them they will be rejected.
• Set as default: Saves the encoding parameters as the default for that track type.
• Reset: Reverts to the default ‘copy’ mode.
STREAM MULTIPLEX BATCH JOBS
This manager allows to remove or reconfigure jobs output, and start muxing jobs on the list.
BATCH SUBTITLES
In this tab you can mux subtitles in either SRT, ASS, or Vobsub formats. SRT and ASS can be
detected automatically if they are available in the same folder and with the same source filename. If the
name is the same but in a different folder, you can use the ‘Subtitles custom path’.
You can double-click on the subtitle list item to browse for it.
In the right-click menu:
• Browse subtitle: To locate the item subtitle file.
• Convert to UTF-8: For non-english languages,
wrong charactes can be found unless you ensure
the subtitle file is UTF-8 compliant.
BURNING SUBTITLES
By default, subtitles are muxed as an additional file stream, but it is also possible to hard-code
(burn) them in the video. Enabling this option requires to encode the video again. Stream copy (-c:v
copy) can’t be used and will provoke an error.
BATCH URLs
In this tab you can batch capture m3u8, YouTube links, playlists, as well as other direct download urls.
You can right-click to paste either a list m3u8, YouTube or other compatible links, or you can add
them using a text file. Every url is parsed to ensure and the best reported quality is downloaded by
default.
For m3u8 links, you can edit the capture time, to save only part of the url stream. You can also
change the output file name, which is generated automatically depending on the url metadata.
• Sequential download: Captures streams sequentially one at a time, showing average bitrate and
estimated file output size.
• Multi URL download: It will launch the number of concurrent downloads configured below.
If enabled, this field serves for M3u8 or Youtube-dl custom parameters.
- For M3u8, only http/https links are supported. Some streams will only work with either mp4 or mkv
format.
- For YouTube links the following scenarios are available:
o Paste one or more video links, so they are downloaded using the best quality found.
o Paste a playlist link: Its contents will be obtained and added as individual video download
items.
o Add a bunch of video links.
o Add a bunch of playlists: All their videos will be added and downloaded.
o Add a live streaming link to the list: It will be recorded until user aborts or stops it.
- On YouTube links, the stream labeled as best is downloaded by default.
NOTE: Sometimes the labeled “best” stream is not the one with higher resolution.
SHOW URL STREAMS
This dialog shows the selected URL streams information. For YouTube links, it is possible to select up to
two streams so they are used as download parameters. (The stream labeled as “best” is always
downloaded by default if no selection is made).
YOUTUBE SETTINGS
- Download speed limit: Maximum transfer rate for
sequential or multi-url download.
- Clear download cache: It can help avoid some download
errors, especially when resuming downloads.
- Embed metadata: Source metadata is written to
destination file.
- Embed subtitles: If available, all source subtitles are
embedded to destination file (requires mkv container).
- Save subtitles: It saves subtitles as file, using original or
subrip (srt) format.
Youtube-dl version is checked on startup, and can be easily updated to the latest version.
QUICK LINK AND PLAYLIST DOWNLOAD
o This feature attempts to download all of a YouTube channel, playlist or any other link that is
compatible with youtube-dl.
o It is useful to download long playlists, as it does not verify every single video availability, so
downloading can start immediately.
o Total video count is compared to the contents of destination folder, so it is recommended to
always download to an empty folder.
o Total channel video count may differ from total download count, since unavailable or removed
videos appear on total count. Channel live streams are not downloaded.
FFMPEG BATCH AV CONVERTER WIZARD
This wizard helps you quickly create basic ffmpeg encoding projects, which you can tweak or save later
on at main screen. You can create video or audio presets, with most used ffmpeg encoders and the most
typical parameters for each choice.
You can also include resizing, cropping or rotating in your preset. These filters can be used combined, by
separating them by comma, and putting all of them in brackets.
Audio encoding settings are available with easy settings selectors.
Finally you can select the container (mkv is default for video), and save your preset.
NOTE: Not all video/audio codec combinations lead to a valid ffmpeg preset, given the great number of
file encoding and format combinations. Although you will get some warnings, the wizard flexibility can
lead to wrong configurations, like incompatible pixel formats, unsupported audio codec for selected
container, etc. For that reason preset is validated at the final screen, and preset status shows the result.
SILENCE DETECTOR WIZARD
This wizard allows to use the detect silence filter to find silence intervals in audio streams.
IMAGE TO VIDEO WIZARD
This wizard allows to create a video from still images, or create a video from each list image.
IMAGE EXTRACTION WIZARD
This wizard allows to save video frames as images, depending on user preferences.
Available choices are:
• Extract every n seconds.
• Extract every n frames.
• Extract all video frames.
• Extract all video keyframes.
Available output formats are:
• JPG (default good quality).
• JGP (Very high quality).
• JPG (Low quality).
• PNG (Standard compression).
• PNG (Higher compression).
• BMP.
Naming uses by default the input filename adding a sequence number.
Be default, images are stored on a subfolder of input files. Absolute paths can be selected, but if naming
is fixed, overwriting can occur.
A/V SPLIT WIZARD
This wizard allows to split any a/v file into fixed duration pieces. It also allows to split files by
approximate file size.