Simplify YouTube backup sidecar files

This commit is contained in:
juvdiaz 2026-06-27 14:51:34 -06:00
parent 1dab330a38
commit 3b86eec2d2
3 changed files with 11 additions and 6 deletions

View File

@ -14,8 +14,8 @@ YOUTUBE_BACKUP_COOKIES_FROM_BROWSER=
YOUTUBE_BACKUP_FORMAT=bv*+ba/best YOUTUBE_BACKUP_FORMAT=bv*+ba/best
YOUTUBE_BACKUP_MERGE_FORMAT=mp4 YOUTUBE_BACKUP_MERGE_FORMAT=mp4
YOUTUBE_BACKUP_SUB_LANGS=all,-live_chat
YOUTUBE_BACKUP_JS_RUNTIMES=node YOUTUBE_BACKUP_JS_RUNTIMES=node
YOUTUBE_BACKUP_WRITE_THUMBNAIL=false
YOUTUBE_BACKUP_SLEEP_REQUESTS=1 YOUTUBE_BACKUP_SLEEP_REQUESTS=1
YOUTUBE_BACKUP_RATE_LIMIT= YOUTUBE_BACKUP_RATE_LIMIT=
YOUTUBE_BACKUP_EXTRA_ARGS= YOUTUBE_BACKUP_EXTRA_ARGS=

View File

@ -62,6 +62,11 @@ Downloaded videos and sidecar metadata are written under:
/data/youtube-backup/videos /data/youtube-backup/videos
``` ```
The default backup writes the video, `.info.json`, description, and embeds one
thumbnail into the media file. It does not write separate subtitle files. Set
`YOUTUBE_BACKUP_WRITE_THUMBNAIL=true` if you also want one sidecar `.jpg`
thumbnail.
Each run also writes a timestamped log under: Each run also writes a timestamped log under:
```text ```text

View File

@ -20,9 +20,9 @@ COOKIES_FILE="${YOUTUBE_BACKUP_COOKIES_FILE:-}"
COOKIES_FROM_BROWSER="${YOUTUBE_BACKUP_COOKIES_FROM_BROWSER:-}" COOKIES_FROM_BROWSER="${YOUTUBE_BACKUP_COOKIES_FROM_BROWSER:-}"
FORMAT="${YOUTUBE_BACKUP_FORMAT:-bv*+ba/best}" FORMAT="${YOUTUBE_BACKUP_FORMAT:-bv*+ba/best}"
OUTPUT_TEMPLATE="${YOUTUBE_BACKUP_OUTPUT_TEMPLATE:-%(playlist_title)s/%(upload_date>%Y-%m-%d,release_date>%Y-%m-%d,epoch>%Y-%m-%d)s - %(title)s [%(id)s].%(ext)s}" OUTPUT_TEMPLATE="${YOUTUBE_BACKUP_OUTPUT_TEMPLATE:-%(playlist_title)s/%(upload_date>%Y-%m-%d,release_date>%Y-%m-%d,epoch>%Y-%m-%d)s - %(title)s [%(id)s].%(ext)s}"
SUB_LANGS="${YOUTUBE_BACKUP_SUB_LANGS:-all,-live_chat}"
MERGE_FORMAT="${YOUTUBE_BACKUP_MERGE_FORMAT:-mp4}" MERGE_FORMAT="${YOUTUBE_BACKUP_MERGE_FORMAT:-mp4}"
JS_RUNTIMES="${YOUTUBE_BACKUP_JS_RUNTIMES:-node}" JS_RUNTIMES="${YOUTUBE_BACKUP_JS_RUNTIMES:-node}"
WRITE_THUMBNAIL="${YOUTUBE_BACKUP_WRITE_THUMBNAIL:-false}"
RATE_LIMIT="${YOUTUBE_BACKUP_RATE_LIMIT:-}" RATE_LIMIT="${YOUTUBE_BACKUP_RATE_LIMIT:-}"
SLEEP_REQUESTS="${YOUTUBE_BACKUP_SLEEP_REQUESTS:-1}" SLEEP_REQUESTS="${YOUTUBE_BACKUP_SLEEP_REQUESTS:-1}"
EXTRA_ARGS="${YOUTUBE_BACKUP_EXTRA_ARGS:-}" EXTRA_ARGS="${YOUTUBE_BACKUP_EXTRA_ARGS:-}"
@ -68,16 +68,16 @@ args=(
--restrict-filenames --restrict-filenames
--write-info-json --write-info-json
--write-description --write-description
--write-thumbnail
--write-subs
--write-auto-subs
--sub-langs "${SUB_LANGS}"
--embed-metadata --embed-metadata
--embed-thumbnail --embed-thumbnail
--js-runtimes "${JS_RUNTIMES}" --js-runtimes "${JS_RUNTIMES}"
--sleep-requests "${SLEEP_REQUESTS}" --sleep-requests "${SLEEP_REQUESTS}"
) )
if [[ "${WRITE_THUMBNAIL}" == "true" ]]; then
args+=(--write-thumbnail --convert-thumbnails jpg)
fi
if [[ -n "${COOKIES_FILE}" ]]; then if [[ -n "${COOKIES_FILE}" ]]; then
args+=(--cookies "${COOKIES_FILE}") args+=(--cookies "${COOKIES_FILE}")
fi fi