executable_youtube

 1#!/usr/bin/env sh
 2
 3if [ ! -d "$HOME/Bulk/Media/YouTube/.archives" ]; then
 4    mkdir -p "$HOME/Bulk/Media/YouTube/.archives"
 5fi
 6
 7cd "$HOME/Bulk/Media/YouTube" || exit 1
 8
 9dl() {
10
11    if [ ! -f .archives/"$NAME".txt ]; then
12        touch .archives/"$NAME".txt
13        MOD_DATE=20200101
14    else
15        MOD_DATE=$(stat -c %y .archives/"$NAME".txt | awk -F ' ' '{print $1}' | sed 's/-//g')
16    fi
17
18    yt-dlp --download-archive .archives/"$NAME".txt -f \
19        'bestvideo[height<=2160]+bestaudio' \
20        --dateafter "$MOD_DATE" --write-sub \
21        --write-auto-sub --sub-format srt/best \
22        --sub-lang en --embed-subs \
23        --sponsorblock-mark sponsor,intro,outro,selfpromo,preview,interaction,chapter \
24        -o "%(uploader)s/%(upload_date)s - %(title)s (%(duration)s).%(ext)s" \
25        --playlist-end 5 "$URL"
26    sleep 5
27}
28
29while read -r NAME URL; do
30    echo "Downloading videos from $NAME"
31    dl "$NAME" "$URL"
32done <<EOF
33andrewhuang        https://www.youtube.com/user/songstowearpantsto
34avikaplan          https://www.youtube.com/user/AviKaplanMusic
35brandonacker       https://www.youtube.com/user/brandonacker
36danielthrasher     https://www.youtube.com/user/muffinman3000
37incognitomode      https://www.youtube.com/@IHincognitoMode
38internethistorian  https://www.youtube.com/channel/UCR1D15p_vdP3HkrH8wgjQRw
39jameshoffmann      https://www.youtube.com/channel/UCMb0O2CdPBNi-QqPk5T3gsQ
40jamesveitch        https://www.youtube.com/user/james948
41jimbrowning        https://www.youtube.com/channel/UCBNG0osIBAprVcZZ3ic84vw
42krazam             https://www.youtube.com/channel/UCgBVkKoOAr3ajSdFFLp13_A
43lastweektonight    https://www.youtube.com/user/LastWeekTonight
44linustechtips      https://www.youtube.com/user/LinusTechTips
45logosbynick        https://www.youtube.com/channel/UCEQXp_fcqwPcqrzNtWJ1w9w
46loliconics         https://www.youtube.com/channel/UCmc7E8D4Fnf2_JXfXpH_b5w
47lucasbrar          https://www.youtube.com/user/etherscapes
48michaelreeves      https://www.youtube.com/channel/UCtHaxi4GTYDpJgMSGy7AeSw
49ordinarythings     https://www.youtube.com/@OrdinaryThings
50pewdiepie          https://www.youtube.com/user/PewDiePie
51robscallon         https://www.youtube.com/user/robs70986987
52setheverman        https://www.youtube.com/user/SethEverman
53timminchin         https://www.youtube.com/user/timminchin
54vsauce             https://www.youtube.com/user/Vsauce
55EOF
56
57notify-send "Downloads finished" "Check the YouTube folder for new videos"