Smart Encoder is a powerful tool for video encoding that optimizes video quality while minimizing file size. It automatically selects the best encoding parameters based on video content and desired output characteristics.
Smart Encoder is a powerful tool for video encoding that optimizes video quality while minimizing file size. It automatically selects the best encoding parameters based on video content and desired output characteristics.
Clone the repository:
git clone https://github.com/kerasty2024/smart_encoder.git
cd smart_encoder
Create a virtual environment and activate it:
python -m venv venv
venv/bin/activate # On Windows use `venv\Scripts\activate`
Install the required packages:
pip install -r requirements.txt
Ensure FFmpeg & ab-av1 and so on (refer to Requirements) is installed and accessible from your command line.
Prepare your media files: Place the media files you want to encode in a source directory.
Run the encoder:
python -O main.py --processes 3 --move-raw-file # you can also modify # of processes, depending on how powerful your environmet is.
Use --manual-mode if you wish to manually set encoding parameters. manual crf can be set in settings/video.py
python -O main.py --processes 1 --move-raw-file --manual-mode # you can also modify # of processes, depending on how powerful your environmet is.
If you want more message shown in console, remove -O option (change to debug mode).
other options can be found in main.py
.py files in settings directory allow you to adjust default settings for encoding parameters and language detection preferences. Customize this file to suit your needs before running the encoder.
Contributions are welcome! If you have ideas for improvements or new features, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License.