spetterpoep logo
Guides - Articles - Reviews - Over

YouTube Video's downloaden

Nu dat YouTube.com onbruikbaar is gemaakt door maatregelen zoals het ontzeggen van video toegang als je een adblocker gebruikt moeten we gaan kijken naar nieuwe manieren om toegang tot content te behouden. Een goede manier om dit te doen is door middel van downloaden aangezien dit je de meeste flexibiliteit geeft. Hiervoor gaan we een programma dat yt-dlp heet gebruiken.

Installatie

YT-DLP is een fork van YouTube-DLC (discontinued) die wel gemaintaint wordt en nieuwe functionaliteiten toevoegt. Je kunt er heel gemakkelijk video's mee downloaden. Installeren kun je doen vanaf je PM aangezien de meeste PM's die ik ken yt-dlp geïndexed hebben. Anders compile je het van source die te vinden is op GitHub

Gebruik

Open je terminal en run yt-dlp *video url*. De video wordt dan in de hoogst mogelijke kwaliteit gedownload in de directory van je terminal. ik raad hierbij aan om de arguments "--embed-metadata", "--embed-thumbnail " en "--embed-subs" te gebruiken om deze informatie in het video bestand te verwerken. Ik raad aan om hier een alias van te maken zodat je deze arguments niet steeds hoeft toe te voegen.

In plaats van een video url kun je ook een playlist of kanaal url gebruiken. In dit geval worden dan alle video's van de desbetreffende bron gedownload. Dit is handig voor natuurlijk bulk downloads om bijvoorbeeld een heel kanaal van iemand te downloaden.

Optimalisatie voor kanalen downloaden

Waarschijnlijk wil je niet eenmalig een kanaal downloaden maar nieuwe video's ook automatisch kunnen downloaden. Als je dat van plan bent wil je niet steeds weer de oude video's downloaden maar alleen diegene die nieuw zijn. Hiervoor gebruik je de argument
"--download-archive archive.txt". Hierbij maakt yt-dlp een bestand aan waarin de video url's in worden bewaard nadat ze gedownload zijn. Zo weet yt-dlp dat de video waarvan de url's in dat bestand staan niet gedownload hoeven te worden.

Dit gaan we meteen gebruiken. Maak een directory aan voor het kanaal dat je wilt downloaden en maak hierin een script "script.sh" aan en maak deze executable door chmod +x script.sh te gebruiken. Open het bestand met je favoriete text editor en plak hier vervolgens de volgende paragraaf in:

#!/bin/sh
yt-dlp --embed-metadata --embed-thumbnail --embed-subs --download-archive archive.txt *youtube kanaal link*

Lijn 1 van het script bestaat uit een zogehete "shebang". Dit vertelt het systeem dat het om een bash script gaat en dat bash zich in "/bin/sh" bevindt. Lijn 2 is de command om de content van het kanaal te downloaden, zorg ervoor dat je het de URL van het kanaal erin plakt zonder de * symbolen.

Nu gaan we een script maken zodat we het net gemaakte download script makkelijk kunnen executeren. Navigeer naar ~/.local/bin (een ~ representeert je home directory, bijvoorbeeld /home/blubber) en maak een bestand met een zelf gekozen naam aan, bijvoorbeeld "ytdownload". Maak deze vervolgens executable door weer chmod +x *filename* te gebruiken. Nu gaan we de inhoud van het script vullen. Kopieer en plak de volgende paragraaf in je script. Alles waar een "#" voor staat is een comment

#!/bin/sh #De shebang
cd "complete/path/naar/de/directory/van/het/kanaal" #verander dit naar de locatie van het download script dat we eerder gemaakt hebben
./script.sh #dit executeert het script dat we gemaakt hebben

Als je het bestand nu opslaat en een nieuwe terminal opent kun je als het goed is de command ytdownload (of iets anders als je het script in .local/bin een andere naam hebt gegeven) runnen en dan zal yt-dlp de video's in de directory die jij hebt aangegeven gaan downloaden. Zo simpel als dat

Automatisatie

Misschien wil je dat nieuwe video's automatisch gedownload worden zonder dat jij hoeft in te grijpen. In dat geval kun je een programma zoals crontab gebruiken om om de zoveel tijd het ytdownload script te runnen. Gebruik hiervoor een tutorial zoals op howtogeek.com. Veel kijkplezier!

Deze guide is geschreven op 09-10-2023