-
Notifications
You must be signed in to change notification settings - Fork 201
AutoProcess Settings
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.
./config/autoProcess.ini
./setup/autoProcess.ini.sample
Copy and rename the sample to the config folder or a default config will be created on first launch
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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.
Key | Type | Default | Description |
---|---|---|---|
enabled | bool |
False | Enable FFSubSync |
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 |
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
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 |
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 |
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 |
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 |
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
|
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
|
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
|
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
|
Key | Type | Default | Description |
---|---|---|---|
host | str |
localhost | Host |
port | int |
32400 | Port |
token | str |
Plex Home Token |