Skip to content

AutoProcess Settings

Michael Higgins edited this page Mar 15, 2024 · 64 revisions

Configuration Options for autoProcess.ini

Below are the plethora of options available in autoProcess.ini to customize your media automation V2. V1 configurations had a single MP4 section instead of separate Video, Audio, Universal Audio, Subtitle, and Metadata sections and individual options were slightly different. The script will automatically attempt to migrate V1 to V2.

Location

./config/autoProcess.ini

Sample

./setup/autoProcess.ini.sample

Copy and rename the sample to the config folder or a default config will be created on first launch

Converter

Key Type Default Description
ffmpeg str ffmpeg Path to FFmpeg executable
ffprobe str ffmpeg Path to FFprobe executable
threads int 0 FFMpeg threads, corresponds to threads parameter, 0 for auto
hwaccels csv Approved FFmpeg hardware accelerator encoders hwaccels. Ignored if they are unavailable in the build of FFmpeg being used, though other system compatibility checks are up to end user. Potential samples include dxva2, cuvid, qsv, d3d11va, vaapi though anything supported by FFmpeg is possible. Prioritized based on order specified. ffmpeg -hwaccels to see available options
hwaccel-decoders csv Approved FFmpeg hardware decoders. Ignored if decoder isn't found in the build of FFmpeg it will not be used, you can view decoders with ffmpeg -decoders
hwdevices dict Dictionary specifying hardware devices for various codecs, if not specified will fall back to FFmpeg defaults. CSV with key:value pairs. Case sensitive
hwaccel-output-format dict Dictionary specifying hwaccel output format for specific hwaccels. CSV with key:value pairs. Can be useful in situations such as 'cuvid' where you want the hwaccel-output-format to be 'cuda'
output-directory str Optional temporary directory where created files are generated, will be restored to the original folder
output-format str mp4 Wrapped format corresponding to -f in FFmpeg
output-extension str mp4 File extension for created media
temp-extension str Temporary extension used while files are in process. Useful to prevent files from being scanned prematurely by outside software
minimum-size int 0 Minimum file size in megabytes. Use to ignore small sample files. Set to 0 for no minimum
ignored-extensions csv nfo, ds_store Extensions to ignore during directory scans. Can be used for formats like avi or trash files
copy-to csv* Directories in which to make copies of final files, separated by |
move-to str Directory in which to move final processed files
delete-original bool True Delete original files
process-same-extensions bool False Run files with the same input and output extensions through the conversion process. Tagging is not effected. If after options are generated all streams are copy conversion will be skipped. Use with caution alongside universal audio and audio copy-original as streams will keep replicating
bypass-if-copying-all bool False Bypass conversion if input and output extensions are the same, the number of input and output streams is equal, and all codecs are set to copy. Stream level metadata (titles, stream sorting, etc) will not be applied if this condition is met
force-convert bool False Force conversion regardless of streams being in appropriate format
post-process bool False Run post process scripts
wait-post-process bool False Wait for post processing scripts to complete before moving on, can be helpful to prevent asynchronous errors
detailed-progress bool False Show full FFmpeg progress line alongside the standard progress bar
opts-separator str , Value used as the separator for preopts and postopts
preopts csv* Additional character separated FFmpeg options placed before main commands, separator character defined by opts-separator
postopts csv* Additional character separated FFmpeg options placed after main commands, separator character defined by opts-separator
regex-directory-replace regex [^\w-_. ] Regular expression (regex) for re.sub to replace invalid characters from torrent names when directories are created
sort-streams bool False Deprecated, see sorting

Permissions

Key Type Default Description
chmod int 0644 Base 8 chmod value
uid int -1 User ID, -1 for executing user. Supports environment variables
gid int -1 Group ID, -1 for executing group. Supports environment variables

Metadata

Key Type Default Description
relocate-moov bool True Relocate MOOV atom using QTFastStart for MP4 files to optimize for streaming. For MKV files the FFMPEG parameter reserve_index_space will be applied to achieve similar streaming optimization
full-path-guess bool True Use full path when guessing file information in manual.py
tag bool True Tag files with metadata from TMDB. MP4 only
tag-language lang Tag language in 2-3 char language code, defaults to English if not specified
download-artwork str poster Download artwork and embed in media. poster, thumb, True, False are valid options
sanitize-disposition csv List of dispositions that will be ignored from the source file. Leave blank to preserve all disposition data
strip-metadata bool False Strips any extra metadata that may be carried over from the source file by appending -map_metadata -1 to your FFMPEG command after the input file
keep-titles bool False Preserves any existing title metadata from source material instead of writing clean titles based on disposition

Video

Key Type Default Description
codec csv h264, x264 Approved video codecs. Codecs not on this list are converted to the first codec on the list
max-bitrate int 0 Maximum bitrate for video in Kb. Values above this range will be down sampled. 0 for no limit
bitrate-ratio dict Dictionary of float values that sets the relative bitrate ratio based on the input/source codec. Blank defaults to 1.0. Example for converting all incoming h264 videos to 60% bitrate and hevc to 80% would be h264:0.6, hevc:0.8. Useful if coming from a less efficient codec with aim of reducing bitrate
crf int -1 CRF value, -1 to disable. For VAAPI based codecs CRF is not supported and -qp will be used instead
crf-profiles csv Specify custom quality profiles based on input bitrate. Format is source_bitrate:CRF:maxrate:bufsize. Multiple profiles may be specified. If the source file's bitrate is greater than the source_bitrate that quality profile will be used. Example setting 0:23:4.5M:12M,4100:21:8M:24M,8000:17:10M:30M. With this setting if a video file with a bitrate of 5000 was used, the profile 4100:21:8M;24M would be used resulting in a CRF of 21, maxrate of 8M, and bufsize of 24M. These profiles override the simple single video-crf and video-bitrate setting
preset str FFMpeg video encoding present option
codec-parameters str Additional codec specific parameters. Applies only to h264/h265 using the -x264-params and -x265-params options respectively
dynamic-paramters bool False Attempt to fill in codec params by reading framedata
max-width int Maximum video width, videos larger will be down sized
profile csv Video profiles. Profiles not on this list are be converted to the first profile on the list
max-level float 0.0 Maximum video level, videos above will be down sampled. Format example is 4.1
pix-fmt csv Supported pix-fmt list. Formats not on this list are be converted to the first format on the list
prioritize-source-pix-fmt bool True When decided pix_fmt, the script will attempt to keep the same format as long as it's included on the allowed list if video conversion must take place, set to False to use the first pix_fmt on the list instead if conversion must take place (will not impact conversion needed decisions)
filter str FFmpeg video filter
force-filter bool False Always apply filter and never copy the stream

HDR

Key Type Default Description
codec csv Approved video codecs if the source is HDR. Codecs not on this list are converted to the first codec on the list. Leave blank to use the same codec pool as non HDR sources
pix-fmt csv Supported pix-fmt list. Formats not on this list are be converted to the first format on the list
space csv bt2020nc Required color-space parameters to qualify as HDR. Not an output setting but a screening parameter
transfer csv smpte2084 Required color-transfer parameters to qualify as HDR. Not an output setting but a screening parameter
primaries csv bt2020 Required color-primaries parameters to qualify as HDR. Not an output setting but a screening parameter
preset str FFMpeg video encoding present option
codec-parameters str Additional codec specific parameters. Applies only to h264/h265 using the -x264-params and -x265-params options respectively but only applied for HDR sources
filter str FFmpeg video filter that will apply if source is HDR
force-filter bool False Always apply filter and never copy the stream
profile csv Video profiles. Profiles not on this list are be converted to the first profile on the list

Audio

Key Type Default Description
codec csv ac3 Approved audio codecs. Codecs not on this list are converted to the first codec on the list
languages csv Approved audio stream languages. Languages not on this list will not be used. Leave blank to approve all languages
default-language str If audio stream language is undefined, assumed this language
include-original-language bool True Query TMDB for original content audio language and include in list of approved languages dynamically
first-stream-of-language bool False Only include the first occurrence of an audio stream of language
channel-bitrate int 128 Bitrate of audio stream per channel. Multiple by number of channels to get stream bitrate. Use 0 to attempt to guess based on source bitrate
variable-bitrate int 0 Set a variable bitrate / quality profile if supported by your audio codec, range and value is codec dependent
max-bitrate int 0 Maximum audio stream bitrate regardless of channels. 0 for no limit
max-channels int 0 Maximum number of audio channels per stream. Streams with more channels will be down sampled
profile str FFmpeg audio profile
filter str FFmpeg audio filter
force-filter bool False Always apply filter and never copy the stream
sample-rates csv Approved audio sample rates, rates not on the approved list will be converted to the first rate on the list
sample-format str Set a sample format. This is a basic value and will not force conversion when remuxing would otherwise be appropriate but can be applied to any stream conversion that would otherwise take place. Accepts values displayed on ffmpeg -sample_fmts not bit depth values
copy-original bool False Always include a copy of the original audio stream
ignore-truehd csv mp4, m4v Ignore trueHD audio streams for specific extensions (Not supported in MP4 containers). Leave blank to disable
ignored-dispositions csv Ignore streams with specific disposition flags, such as commentary. Only valid FFMpeg dispositions values can be included here. See disposition section of documentation for potential values
unique-dispositions bool False Only use one stream from source video per combination of dispositions per language
stream-codec-combinations csv CSV list of codec combinations that when found in the order specified will be analyzed to determine if they may represent different quality version of the same stream. Example would be trudhd:ac3:aac, truehd:ac3, ac3:aac. This will do is analyze the source audio for any combination of those 2 codecs in order, if any combinations are found, it then checks to see if those tracks have the same disposition and language (this should prevent things like commentary tracks from getting flagged inadvertently)
prefer-more-channels bool True Deprecated, see sorting
default-more-channels bool True Deprecated, see sorting
copy-original-before bool False Deprecated, see sorting

Audio.Sorting

See sorting for valid sorting keys and modifiers

Key Type Default Description
sorting csv language, channels.d, map, d.comment List of language stream sorting keys
default-sorting csv channels.d, map, d.comment List of default stream selection sorting keys (if you don't want default stream to be the first stream)
codecs csv Custom list of codecs to be used for sorting with the codecs key

Audio.ChannelFilters

Use these settings to specify specific filters for transitioning from one set of audio channels to another set. A 6-2 sample which will be applied only if transitioning from a 6 channel source to a 2/stereo channel output is provided but any number of combinations can be defined here

Key Type Default Description
Input-Output str Filter string for the specified input and output channel combination

Universal Audio

Use these settings create an additional high-compatibility stereo audio stream from more complex audio streams

Key Type Default Description
codec csv aac Approved audio codecs. Codecs not on this list are converted to the first codec on the list. Leave blank to disable universal audio
channel-bitrate int 128 Bitrate of universal audio stream per channel. Multiple by number of channels to get stream bitrate. Use 0 to attempt to guess based on source bitrate
variable-bitrate int 0 Set a variable bitrate / quality profile if supported by your audio codec, range and value is codec dependent
first-stream-only bool False Only create a universal audio stream for the first audio stream encountered
profile str FFmpeg audio profile
filter str FFmpeg audio filter
force-filter bool False Always apply filter and never copy the stream
move-after bool False Deprecated, see sorting

Subtitle

Key Type Default Description
codec csv mov_text Approved subtitle codecs. Codecs not on this list are converted to the first codec on the list
codec-image-based csv Approved image-based subtitle codecs. Codecs not on this list are converted to the first codec on the list
languages csv Approved subtitle stream languages. Languages not on this list will not be used. Leave blank to approve all languages
default-language str If subtitle stream language is undefined, assumed this language
force-default bool True If subtitle default language is specified and source file does not have a default subtitle, try to set one based on the default language
first-stream-of-language bool False Only include the first occurrence of a subtitle stream of language
encoding str Subtitle encoding format
burn-subtitles bool Burns subtitles onto video stream. Text-based codecs only
burn-dispositions csv forced List of require disposition values for subtitle stream to qualify for burning. Examples include forced or default. Leave blank for any disposition
embed-subs bool True Embeds text based subtitles in the output video. External subtitles in the same directory will embedded. If false subtitles will be extracted
embed-image-subs bool False Embed image based subtitles in the output video. Ensure you are using a container that supports image based subtitles
embed-only-internal-subs bool False Limit embedding subtitles to only subs embedded in the source file
filename-dispositions csv forced When ripping subtitles, include these dispositions in the filename if present
ignore-embedded-subs bool False Ignore sub streams included in source file, external sources will still be processed
ignored-dispositions csv Ignore streams with specific disposition flags, such as commentary
unique-dispositions bool False Only use one stream from source video per combination of dispositions per language
attachment-codec csv Approved codecs for attachments. Useful for fonts included with source file

Subtitle.Sorting

See sorting for valid sorting keys and modifiers

Key Type Default Description
sorting csv language, d.comment, d.default.d, d.forced.d List of language stream sorting keys
codecs csv Custom list of codecs to be used for sorting with the codecs key

Subtitle.CleanIt

Key Type Default Description
enabled bool False Enable the CleanIt feature for subtitles. Only works on text based subtitle tracks
config-path str Path to optional yaml config file for CleanIt, can leave blank and just use tags for simple setup
tags csv CleanIt tags. default, no-style is a good starting set up options. See link below for list of possible tags

See documentation here for available tags and configuration file format.

Subtitle.FFSubsync

Key Type Default Description
enabled bool False Enable FFSubSync

Subtitle.Subliminal

Key Type Default Description
download-subs bool False Attempt to download subtitles of your specified languages automatically using subliminal
download-forced-subs bool False Attempt to download forced subtitles of your specified languages automatically using subliminal
include-hearing-impaired-subs bool False Include hearing impaired subtitles in pool using subliminal (not applicable to forced subtitles)
providers csv Subliminal providers, leave blank to use default providers

Subtitle.Subliminal.Auth

Optional section to specify account information for subliminal subtitle providers. Keys are dynamic and should be the subtitle provider name as defined by subliminal and your download-providers options

Key Type Default Description
provider str username:password Account information for subliminal download providers. Optional. Key is the provider name. Value is the username and password separated by a :

See https://subliminal.readthedocs.io/en/latest/user/how_it_works.html#providers for providers

Sonarr

Key Type Default Description
host str localhost Host
port int 8989 Post
apikey str API key
ssl bool False SSL
webroot str webroot
force-rename bool False Preemptively renames files before processing in order to force Sonarr to do a rename scan. Useful if you want to include codecs in the file name which are likely to change during the conversion process
rescan bool True After conversion is complete, trigger a rescan and rename so that Sonarr's database is up to date on the latest extension and format of the file. This will also attempt to backup subtitle files as these can be deleted during a rescan inadvertently. If your conversion is handled before the file is passed back to Sonarr you can set this to False
in-progress-check bool True Check if the download scan is still in progress and wait for it to complete
blockreprocess bool False Block processing same extensions from Sonarr. Useful if you know all incoming files have already been processed but you still want to tag to avoid duplicate stream creation

Radarr

Key Type Default Description
host str localhost Host
port int 7878 Port
apikey str API key
ssl bool False SSL
webroot str Webroot
force-rename bool False Preemptively renames files before processing in order to force Radarr to do a rename scan. Useful if you want to include codecs in the file name which are likely to change during the conversion process
rescan bool True After conversion is complete, trigger a rescan and rename so that Radarr's database is up to date on the latest extension and format of the file. This will also attempt to backup subtitle files as these can be deleted during a rescan inadvertently. If your conversion is handled before the file is passed back to Radarr you can set this to False
in-progress-check bool True Check if the download scan is still in progress and wait for it to complete
blockreprocess bool False Block processing same extensions from Radarr. Useful if you know all incoming files have already been processed but you still want to tag to avoid duplicate stream creation

Sickbeard

Key Type Default Description
host str localhost Host
port int 8081 Port
apikey str API key
ssl bool False SSL
webroot str Webroot
username str Username
password str Password

Sickrage

Key Type Default Description
host str localhost Host
port int 8081 Port
apikey str API key
ssl bool False SSL
webroot str Webroot
username str Username
password str Password

SABNZBD

Key Type Default Description
convert bool True Convert video files as part of post SAB processing
sickbeard-category str sickbeard Category that will be passed back to Sickbeard
sickrage-category str sickrage Category that will be passed back to Sickrage
sonarr-category str sonarr Category that will be passed back to Sonarr
radarr-category str radarr Category that will be passed back to Radarr
bypass-category str bypass Category that will not be passed back but can still be converted
output-directory str Custom output directory for SAB
path-mapping dict Custom path mapping option for virtual environments. Translates local paths prior to passing the directory to the API. Use = to link together with left side as the local path and right side as the remote path. Example C:\Downloads=D:\Media\Import

Deluge

Key Type Default Description
convert bool True Convert video files as part of post Deluge processing
sickbeard-label str sickbeard Label that will be passed back to Sickbeard
sickrage-label str sickrage Label that will be passed back to Sickrage
sonarr-label str sonarr Label that will be passed back to Sonarr
radarr-label str radarr Label that will be passed back to Radarr
bypass-label str bypass Label that will not be passed back but can still be converted
output-directory str Custom output directory for Deluge
host str localhost Host
port int 58846 Port. Note the daemon port is different from the WebUI port (8112) and can be viewed from the connection manager of the WebUI
apikey str API key
ssl bool False SSL
username str Deluge username found in auth file
password str Deluge password found in auth file
remove bool False Remove torrent after processing
path-mapping dict Custom path mapping option for virtual environments. Translates local paths prior to passing the directory to the API. Use = to link together with left side as the local path and right side as the remote path. Example C:\Downloads=D:\Media\Import

qBittorrent

Key Type Default Description
convert bool True Convert video files as part of post Deluge processing
sickbeard-label str sickbeard Label that will be passed back to Sickbeard
sickrage-label str sickrage Label that will be passed back to Sickrage
sonarr-label str sonarr Label that will be passed back to Sonarr
radarr-label str radarr Label that will be passed back to Radarr
bypass-label str bypass Label that will not be passed back but can still be converted
output-directory str Custom output directory for Deluge
host str localhost Host
port int 8080 Port
apikey str API key
ssl bool False SSL
username str Username
password str Password
action-before str Valid options pause
action-after str Valid options resume/delete/deletedata
path-mapping dict Custom path mapping option for virtual environments. Translates local paths prior to passing the directory to the API. Use = to link together with left side as the local path and right side as the remote path. Example C:\Downloads=D:\Media\Import

uTorrent

Key Type Default Description
convert bool True Convert video files as part of post Deluge processing
sickbeard-label str sickbeard Label that will be passed back to Sickbeard
sickrage-label str sickrage Label that will be passed back to Sickrage
sonarr-label str sonarr Label that will be passed back to Sonarr
radarr-label str radarr Label that will be passed back to Radarr
bypass-label str bypass Label that will not be passed back but can still be converted
output-directory str Custom output directory for Deluge
host str localhost Host
port int 58846 Port
apikey str API key
ssl bool False SSL
username str WebUI username
password str WebUI password
webui bool False Enabled WebUI allowing script to change the state of torrents
action-before str Valid options stop/pause
action-after str Valid options start/stop/pause/unpause/remove/removedata
path-mapping dict Custom path mapping option for virtual environments. Translates local paths prior to passing the directory to the API. Use = to link together with left side as the local path and right side as the remote path. Example C:\Downloads=D:\Media\Import

Plex

Key Type Default Description
host str localhost Host
port int 32400 Port
token str Plex Home Token