-
Notifications
You must be signed in to change notification settings - Fork 662
YTDL_OPTIONS Cookbook
Alex edited this page May 23, 2025
·
3 revisions
Here you can find various useful configurations that can be set via the YTDL_OPTIONS
and YTDL_OPTIONS_FILE
environment variables.
Embeds English subtitles and chapter markers (for videos that have them), changes the permissions on the downloaded video, and sets the file modification timestamp to the date of when it was downloaded.
environment:
- 'YTDL_OPTIONS={"writesubtitles":true,"subtitleslangs":["en","-live_chat"],"updatetime":false,"postprocessors":[{"key":"Exec","exec_cmd":"chmod 0664","when":"after_move"},{"key":"FFmpegEmbedSubtitle","already_have_subtitle":false},{"key":"FFmpegMetadata","add_chapters":true}]}'
Contributed by @PikuZheng.
NOTE: May cause errors for non-Youtube videos.
environment:
- 'YTDL_OPTIONS={ "ignoreerrors":true, "writethumbnail":true, "postprocessors":[ {"key":"FFmpegMetadata","add_metadata":true,"add_chapters":true,"add_infojson":"if_exists"}, {"key":"EmbedThumbnail"}]}'
Contributed by @loomweaver.
Mimics the command yt-dlp --sponsorblock-mark sponsor,selfpromo,intro,outro,poi_highlight
.
NOTE: due to the complex usage of quotes here (both "
and '
are used), it's advisable to put it in a file and point YTDL_OPTIONS_FILE
to it, rather than trying to configure it via YTDL_OPTIONS
.
{"postprocessors": [{"api":"https://sponsor.ajay.app/","categories": ["intro",
"outro",
"poi_highlight",
"selfpromo",
"sponsor"],
"key": "SponsorBlock",
"when": "after_filter"},
{"force_keyframes":false,
"key": "ModifyChapters",
"remove_chapters_patterns": [],
"remove_ranges": [],
"remove_sponsor_segments":"set()",
"sponsorblock_chapter_title": "'[SponsorBlock]: ''%(category_names)l'"},
{"add_chapters": true,
"add_infojson": "none",
"add_metadata": false,
"key": "FFmpegMetadata"}]}