fflite
is FFmpeg wrapper for minimalistic progress visualization while keeping the flexibility of CLI.
- Estimated encoding time and progress percentage is shown during encoding.
- Batch execution if
.txt
filelist,"list:file1 file2 \"file 3\""
or a glob pattern is passed as input file, only one is allowed (fflite -i *.mp4
). - Once the first input file is specified input and output files can be named using
[prefix?]old::new
pattern. This will take the first input name and replaceold
string with thenew
string. If?
is present, everything before?
will be used as a prefix for new filenames (fflite -i film_video.mp4 -i folder?video.mp4::audio.ac3
). - Input ranges can be passed to -filter_complex.
[0-1:1]
becomes[0:1][1:1]
;[0:0-1]
becomes[0:0][0:1]
;[0-1:2-3]
becomes[0:2][0:3][1:2][1:3]
and so on. Example:-filter_complex [0:1-6]amerge=inputs=6[a]
becomes-filter_complex [0:1][0:2][0:3][0:4][0:5][0:6]amerge=inputs=6[a]
. - Command presets for less typing.
- Error logging.
- Crop detection mode (
fflite crop[crop_number:crop_limit] -i input_file
). Iffflite crop[digit]
is passed it will be treated ascrop_limit
if digit is less then one,crop_number
otherwise. - BEEP sound at the end of encoding process.
- ANSI escape sequences (colors) are supported in Windows terminals (cmd, PowerShell). go-ansi
Same syntax as FFmpeg:
fflite [fflite_option] [global_options] {[input_file_options] -i input_file} ... {[output_file_options] output_file} ...
It is currently made for personal use and some settings, like presets, are still hardcoded.
go get -u github.com/malashin/fflite
$GOPATH/bin
must be added to your $PATH environment variable.- You need to have FFmpeg installed and accessable from $PATH environment variable.