Configuration File#
ytdl-sub is configured using a config.yaml file.
The config.yaml is made up of two sections:
configuration:
presets:
Note for Windows users, paths can be represented with C:/forward/slashes/like/linux.
If you prefer to use a Windows backslash, note that it must have
C:\\double\\bashslash\\paths in order to escape the backslash character. This is due
to it being a YAML escape character.
configuration:
dl_aliases:
mv: "--preset music_video"
u: "--download.url"
experimental:
enable_update_with_info_json: True
ffmpeg_path: "/usr/bin/ffmpeg"
ffprobe_path: "/usr/bin/ffprobe"
file_name_max_bytes: 255
lock_directory: "/tmp"
persist_logs:
keep_successful_logs: True
logs_directory: "/var/log/ytdl-sub-logs"
umask: "022"
working_directory: ".ytdl-sub-working-directory"
dl_aliases#
Alias definitions to shorten dl arguments. For example,
configuration:
dl_aliases:
mv: "--preset music_video"
u: "--download.url"
Simplifies
ytdl-sub dl --preset "Jellyfin Music Videos" --download.url "youtube.com/watch?v=a1b2c3"
to
ytdl-sub dl --mv --u "youtube.com/watch?v=a1b2c3"
experimental#
Experimental flags reside under the experimental key.
enable_update_with_info_json
Enables modifying subscription files using info.json files using the argument
--update-with-info-json. This feature is still being tested and has the ability to
destroy files. Ensure you have a full backup before usage. You have been warned!
ffmpeg_path#
Path to ffmpeg executable. Defaults to /usr/bin/ffmpeg for Linux,
./ffmpeg.exe in the same directory as ytdl-sub for Windows.
ffprobe_path#
Path to ffprobe executable. Defaults to /usr/bin/ffprobe for Linux,
./ffprobe.exe in the same directory as ytdl-sub for Windows.
file_name_max_bytes#
Max file name size in bytes. Most OS’s typically default to 255 bytes.
lock_directory#
The directory to temporarily store file locks, which prevents multiple instances
of ytdl-sub from running. Note that file locks do not work on
network-mounted directories. Ensure that this directory resides on the host
machine. Defaults to /tmp.
persist_logs#
By default, no logs are persisted. Specifying this key will enable persisted logs. The following options are available.
keep_successful_logs
Defaults to True. When this key is False, only write log files for failed
subscriptions.
logs_directory
Required field. Write log files to this directory with names like
YYYY-mm-dd-HHMMSS.subscription_name.(success|error).log.
umask#
Umask in octal format to apply to every created file. Defaults to 022.
working_directory#
The directory to temporarily store downloaded files before moving them into their final
directory. Defaults to .ytdl-sub-working-directory, created in the same directory
that ytdl-sub is invoked from.
Presets#
Custom presets are defined in this section. Refer to the Getting Started Guide on how to configure.