{ ... }: { text = '' # Download video from URL. When no `[LINK]` specified, it tries to update previously downloaded link. # Usage: vdl [LINK] function vdl() { # Check that ffmpeg and ffprobe are available. if [[ "$(ffmpeg -version)" = "" ]] || [[ "$(ffprobe -version)" = "" ]]; then _error "ffmpeg and ffprobe are required." return 1 fi local target="''${@}" # What to download/update. # If no [LINK] provided, try to read from `Src.txt`. [[ "''${target}" = "" ]] && target="$(cat Src.txt)" # If could not get [LINK] eventually, show an error and exit. if [[ "''${target}" = "" ]]; then _error "Could not determine [LINK] to download." help vdl return 2 fi # Save [LINK] for later use. [[ -f "Src.txt" ]] || echo "''${target}" > Src.txt # Download [LINK] content. yt-dlp -4 -S 'res:1080,codec:av1,codec:vp9,codec:h264' --download-archive Index.txt --embed-thumbnail --embed-subs --write-auto-subs --embed-metadata --merge-output-format mkv -cio '%(playlist_index)000006d_%(id)s.%(ext)s' ''${target} # || _vdl_retry } # Temporary fix for vk downloads. # Usage: vdl_vk function vdl_vk() { vdl --format mp4 "''${@}" } # Download all videos from file with links. # Usage: vdl_file function vdl_file() { vdl -a "''${@}" } ''; }