CLI Utility to encode and recreate directories with ffmpeg.
Project description
FFenmass
CLI Utility to encode and recursively recreate directories with ffmpeg.
Report Bug
·
Request Feature
Table of Contents
Features
- Proccecing whole directories from the CLI interface.
- Recreating directories with identical foldernames/filenames on the output.
Getting Started
FFenmass is an ffmpeg wrapper, adding the ability to manipulate media files in directories and recreate them recursively. Currently works in Linux folder structures only. Windows support is planned.
Prerequisites
FFenmass only requires ffmpeg and python3.
Installation
Using pip
pip3 install ffenmass
Usage
FFenmass is transparent above ffmpeg, this means most ffmpeg syntax can be used with ffenmass as is.
The only differences being the input (-i)
and the output being directories instead of files.
Also ffenmass ignores file extensions, you will need to specify container using ffmpeg's -f
argument.
The result is ffenmass will encode all media files detected under the input directory with the provided ffmpeg arguments and output them with the same folder structure and filenames in the output directory.
Example compared to standard ffmpeg syntax
ffmpeg -i input.mkv -acodec copy -vcodec libx265 -b:v 2M -minrate 1M -maxrate 3M -preset medium out.mp4
ffenmass -i /path/to/folder/ -acodec copy -vcodec libx265 -b:v 2M -minrate 1M -maxrate 3M -preset medium -f mp4 /output/directory/
Directory Tree visualization of what is going on when you run the command from the example above.
path/to/folder/ /output/directory/
├── givemefolders ├── givemefolders
│ ├── somefolder │ ├── somefolder
│ │ └── example_movie.mkv │ │ └── example_movie.mp4
│ ├── myfavvideo.mkv │ ├── myfavvideo.mp4
│ ├── example_movie.m2ts │ ├── example_movie.mp4
│ ├── another_example.mkv → │ ├── another_example.mp4
│ ├── morefolders │ ├── morefolders
│ │ └── a_lot_of_examples.ts │ │ └── a_lot_of_examples.mp4
│ └── documentary.mkv │ └── documentary.mp4
├── another_example.mkv ├── another_example.mp4
├── more-examples.mp4 ├── more-examples.mp4
└── examples_and_examples.ts └── examples_and_examples.mp4
Contributing
Any contributions you make are greatly appreciated.
License
Distributed under the MIT License. See LICENSE
for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.