This is a not an alterative to HandBrakeCLI application rather an library to abstract HandbrakeCLI with python and thus requires the installation of the application.
The aim of this project is to abstract HandbrakeCLI and to handle the application programmatically using python. Thus allowing to automate transcoding tasks or handle them through web interfaces.
Currently this project includes a basic CLI application to configure and queue transcoding tasks to HandBrakeCLI through a simple Menu Interface.
While this application is in theory multi-platform it is still require some critical dependencies.
-
HandBrakeCLI - This app needs the HandbrakeCLI command line application installed and isn't bundled with the this app.
-
PyMediaInfo - To parse media and their properties we will use a python library that is wrapper for the MediaInfo library.
This application usually works in three layers :
-
Spawned using the python subprocess module this is where the actual transcoding takes place and the encoding stats are piped to the listener process.
-
This is an intermediate layer between the main process and the HandbrakeCLI layer, it handles the incoming jobs, spawns them and extracts the realtime encoding stats form from the STDOUT pipe.
-
This is where you can run any of the programming logic of your desire be it a command line interface or a web application.