Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/malashin/fflite
fflite is FFmpeg wrapper for minimalistic progress visualization while keeping the flexability of CLI.
https://github.com/malashin/fflite
cli encoding ffmpeg go golang multimedia video
Last synced: 7 days ago
JSON representation
fflite is FFmpeg wrapper for minimalistic progress visualization while keeping the flexability of CLI.
- Host: GitHub
- URL: https://github.com/malashin/fflite
- Owner: malashin
- License: gpl-3.0
- Created: 2017-01-03T05:31:40.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-01-15T16:43:01.000Z (10 months ago)
- Last Synced: 2024-06-20T12:46:38.187Z (5 months ago)
- Topics: cli, encoding, ffmpeg, go, golang, multimedia, video
- Language: Go
- Homepage:
- Size: 146 KB
- Stars: 13
- Watchers: 3
- Forks: 3
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fflite ![version: v0.1.58](https://img.shields.io/badge/version-v0.1.58-green.svg) [![license: GPL v3](https://img.shields.io/badge/license-GPL%20v3-blue.svg)](http://www.gnu.org/licenses/gpl-3.0)
`fflite` is [FFmpeg](https://www.ffmpeg.org/) wrapper for minimalistic progress visualization while keeping the flexibility of CLI.### Apart from less obtrusive CLI output there is added functionality:
* 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 replace `old` string with the `new` 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`). If `fflite crop[digit]` is passed it will be treated as `crop_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](https://github.com/k0kubun/go-ansi)### Same syntax as [FFmpeg](https://www.ffmpeg.org/):
```
fflite [fflite_option] [global_options] {[input_file_options] -i input_file} ... {[output_file_options] output_file} ...
```
[FFmpeg documentation](https://www.ffmpeg.org/ffmpeg-all.html)*It is currently made for personal use and some settings, like presets, are still hardcoded.*
## Installation
```
go get -u github.com/malashin/fflite
```
* `$GOPATH/bin` must be added to your $PATH environment variable.
* You need to have [FFmpeg](https://www.ffmpeg.org/) installed and accessable from $PATH environment variable.## Sample output of `fflite`:
![fflite](http://i.imgur.com/bz0b0Xp.png)## Same file in [FFmpeg](https://www.ffmpeg.org/)
[![ffmpeg](http://i.imgur.com/VJ8Wj48l.png)](http://i.imgur.com/VJ8Wj48.png)