Skip to main content

Generate/Execute FFmpeg commands for files in acting directory

Project description

Description

Generate and execute collection of FFmpeg commands sequentially from external file to produce WebMs that meet AnimeThemes.moe encoding standards.

Take advantage of sleep, work, or any other time that we cannot actively monitor the encoding process to produce a set of encodes for later quality checking and/or tweaking for additional encodes.

Ideally we are iterating over a combination of filters and settings, picking the best one at the end.

Install

Requirements:

  • FFmpeg
  • Python >= 3.6

Install:

pip install animethemes-batch-encoder

Usage

    python -m batch_encoder [-h] [--generate | -g] [--execute | -e] [--custom | -c] [--file [FILE]] [--configfile [CONFIGFILE]] --loglevel [{debug,info,error}]

Mode

--generate generates commands from input files in the current directory.

The user will be prompted for values that are not determined programmatically, such as inclusion/exclusion of a source file candidate, start time, end time, output file name and new audio filters.

--execute executes commands from file in the current directory line-by-line.

By default, the program looks for a file named commands.txt in the current directory. This file name can be specified by the --file argument.

--generate and --execute generates commands from input files in the current directory and executes the commands sequentially.

None will give modes options to run.

Custom

--custom customizes options like Create Preview, Limit Size Enable, CRFs and Encoding Modes for each output file. Default configs are specified in the --file argument.

File

The file that commands are written to or read from.

By default, the program will write to or read from commands.txt in the current directory.

Config File

The configuration file in which our encoding properties are defined.

By default, the program will write to or read from batch_encoder.ini in the user config directory of appname batch_encoder and author AnimeThemes.

Example: C:\Users\Kyrch\AppData\Local\AnimeThemes\batch_encoder\batch_encoder.ini

Audio Filters

  • Exit Saves audio filters if selected and continues script execution.
  • Custom Apply a custom audio filter string.
  • Fade In Select an exponential value to apply Fade In.
  • Fade Out Select a start position and an exponential value to Fade Out.
  • Mute Select a start and end position to leave the volume at 0.

Video Filters

  • No Filters Add a line without filter
  • scale=-1:720 Add downscale to 720p
  • scale=-1:720,hqdn3d=0:0:3:3,gradfun,unsharp Add downscale to 720p and filters by AnimeThemes
  • hqdn3d=0:0:3:3,gradfun,unsharp Add filters by AnimeThemes
  • hqdn3d=0:0:3:3 Add lightdenoise filter
  • hqdn3d=1.5:1.5:6:6 Add heavydenoise filter
  • unsharp Add unsharp filter
  • Custom Apply a custom video filter string.

Encoding Properties

AllowedFileTypes is a comma-separated listing of file extensions that will be considered for source file candidates.

EncodingModes is a comma-separated listing of bitrate control modes for inclusion and ordering of commands.

Available bitrate control modes are:

  • CBR Constant Bitrate Mode
  • VBR Variable Bitrate Mode
  • CQ Constrained Quality Mode

CRFs is a comma-separated listing of ordered CRF values to use with VBR and/or CQ bitrate control modes.

Threads is the number of threads used to encode. Default is 4.

LimitSizeEnable is a flag for including the -fs argument to terminate an encode when it exceeds the allowed size. Default is True.

AlternateSourceEnable is a flag for alternate command lines between source files. Default is False.

CreatePreview is a flag for create a command line to preview seeks. Default is False.

IncludeUnfiltered is a flag for including or excluding an encode without video filters for each bitrate control mode and CRF pairing. Default is True.

VideoFilters is a configuration item list used for named video filtergraphs for each bitrate control mode and CRF pairing.

Logging

Determines the level of the logging for the program.

--loglevel error will only output error messages.

--loglevel info will output error messages and script progression info messages.

--loglevel debug will output all messages, including variable dumps.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

animethemes-batch-encoder-2.0.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

animethemes_batch_encoder-2.0-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file animethemes-batch-encoder-2.0.tar.gz.

File metadata

File hashes

Hashes for animethemes-batch-encoder-2.0.tar.gz
Algorithm Hash digest
SHA256 2b880d8238aa99b02f0f8db22fb7ccca9b4b256fd83bf19bef87ab2c1e22763b
MD5 9caf3e79b682b5b736483de480b6f799
BLAKE2b-256 2daf88ca00f01a7ddaa906a43e41e6ef79f690c1928f05b315f414cf0507cae1

See more details on using hashes here.

File details

Details for the file animethemes_batch_encoder-2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for animethemes_batch_encoder-2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a99623edb2e483c4df85f0a5528dd162a83aaeb5c5f70bccae443c7db454b704
MD5 72814ab93a4e5f6adaabcd38a87eb055
BLAKE2b-256 f1abe868f7ca4c665d471cf763df3cf81492a85d8f21865e813b5b224a424ee7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page