Publicatie:YouTube videos archiveren met youtube-dl

Uit Cultureel Erfgoed Standaardentoolbox
Naar navigatie springen Naar zoeken springen


Samenvatting

In het kader van het project Best practices voor de archivering van sociale media in Vlaanderen en Brussel werden verschillende tools getest om verschillende sociale media platformen te archiveren. Deze publicatie beschrijft de open source tool youtube-dl om YouTube-videos te archiveren.


Referentie
Titel YouTube videos-archiveren met youtube-dl (Voorkeurstitel)
Locatie
Uitgever
Jaar van uitgave 2021
Rechten CC-BY-SA
Persistent ID


UPDATE 3 november 2023 Veel gratis open source software hangt af van de tijd die vrijwilligers kunnen besteden aan de ontwikkeling van de software. Dit is ook het geval voor youtube-dl, de code van youtube-dl wordt de laatste tijd minder regelmatig geupdate. In de meeste use cases werkt youtube-dl nog altijd gewoon. In het geval dat er problemen zijn met het archiveren van YouTube videos, probeer eerst youtube-dl te updaten met de -U. Als het met de laatste versie van youtube-dl niet lukt om YouTube videos te archiveren is het aan te raden om YT-DLP te downloaden.

Yt-dlp is een "fork" van de code van youtube-dl. De youtube-dl broncode werd gebruikt als basis om verder op te bouwen en features toe te voegen. De voordelen van yt-dlp versus youtube-dl zijn dat yt-dlp sneller wordt geupdate als YouTube iets veranderd aan zijn website. Daarnaast ondersteund yt-dlp naast YouTube nog veel meer andere video platformen. Het andere voordeel is dat alle commandos hetzelfde zijn gebeleven, dus alle voorbeelden hieronder vermeld kunnen opnieuw gebruikt worden door simpelweg "youtube-dl" in een voorbeeld youtube-dl optie1 optie2 URL te vervangen door "yt-dlp", yt-dlp optie1 optie2 URL. Ffmpeg installeren naast yt-dlp is ook nog altijd aan te raden.

Youtube-dl is een open source command line programma dat vooral gebruikt wordt om video's en data van YouTube te downloaden. Het programma werkt op de platformen Windows, macOS en Linux.

Een installatie van ffmpeg is aangeraden om hogere resolutie video's te downloaden dan 720p en om na het downloaden audio- en videotracks te combineren in een bestand.

Installatie Youtube-dl of YT-DLP en FFmpeg

Youtube-dl installeren op Windows

  • Ga naar de youtube-dl releasepagina op [GitHub ] en download de laatste Windows-versie. (youtube-dl.exe).
  • Download de executable naar een folder, bijvoorbeeld "youtube-dl" in Documenten of het Bureaublad. Kies een map die niet te veel veranderd anders moet je de onderstaande stappen opnieuwe uitvoeren zodat je systeemde youtube-dl.exe executable terug vind.
  • Voeg Youtube-dl.exe toe aan je omgevingsvariabelen, kortweg PATH:
    • Open de map waar youtube.exe is opgeslagen en klik op de adresbalk. Kopieer vervolgens het adres van de folder.

Explorer EJjoYVcIDa.jpg

  • Druk op de windows toets + r om het Uitvoeren menu op te roepen.

ApplicationFrameHost 63mG8ma7Ne.jpg

  • Geef vervolgens systempropertiesadvanced in het veld in en druk op enter of ok.

Systempropertiesadvanced.jpg

  • Klik in het venster Systeemeigenschappen op de knop Omgevingsvariabelen.

Systeemeigenschappen windows 10.jpg

  • In het venster Omgevingsvariabelen zoek je in de bovenste lijst naar de variabele Path. Dubbelklik op de rij om het venster Omgevingsvariabele bewerken te openen.

Omgevingsvariabele pad vinden.jpg

  • Selecteer Nieuw in de rechterkant en plak het eerder gekopieerde pad in de lege lijn die is gestart na het klikken op de knop Nieuw. Hier gaan waarschijnlijk nog andere paden staan. Pas die niet aan. Anders zullen andere programma's en/of je systeem niet meer naar behoren werken.

Omgevingsvariabele aanpassen in het omgevingsvariabele bewerken menu Win 10.jpg

  • Test de toevoeging van youtube-dl aan je PATH.
    • Open een nieuw powershell-venster en type youtube-dl --version. Als alles goed ingesteld is, krijg je een versienummer te zien.

Youtube-dl versie in powershell.jpg

  • Als het command een error geeft, herstart je computer om het herladen van de path variabele te forceren.
    • Controleer of het je pad van de youtube-dl map juist hebt gekopieerd en geplakt.
    • Controleer of je de aanpassing hebt gedaan in de gebruikersvariabelen en niet in systeemvariabelen. Fit laatste heeft een herstart nodig na een aanpassing en vereist administrator-rechten.
    • Ga terug naar het Omgevingsvariabele bewerken menu en verplaats de vermelding van de youtube-dl map naar boven of naar beneden met de knoppen in de rechterkant.

Installatie Yt-dlp op Windows

  • Ga naar de [yt-dlp releasepagina op github] en download de laatste Windows-versie. (yt-dlp.exe).
  • Download de executable naar een folder, bijvoorbeeld "yt-dlp" in Documenten of het Bureaublad. Kies een map die niet te veel veranderd anders moet je de onderstaande stappen opnieuwe uitvoeren zodat je systeemde yt-dlp.exe executable terug vind.
  • Voeg yt-dlp.exe toe aan je omgevingsvariabelen, kortweg PATH:
    • Open de map waar youtube.exe is opgeslagen en klik op de adresbalk. Kopieer vervolgens het adres van de folder.

Screenshot yt-dlp.ex.png

  • Druk op de windows toets + r om het Uitvoeren menu op te roepen.

ApplicationFrameHost 63mG8ma7Ne.jpg

  • Geef vervolgens systempropertiesadvanced in het veld in en druk op enter of ok.

Systempropertiesadvanced.jpg

  • Klik in het venster Systeemeigenschappen op de knop Omgevingsvariabelen.

Systeemeigenschappen windows 10.jpg

  • In het venster Omgevingsvariabelen zoek je in de bovenste lijst naar de variabele Path. Dubbelklik op de rij om het venster Omgevingsvariabele bewerken te openen.

Omgevingsvariabele pad vinden.jpg

  • Selecteer Nieuw in de rechterkant en plak het eerder gekopieerde pad in de lege lijn die is gestart na het klikken op de knop Nieuw. Hier gaan waarschijnlijk nog andere paden staan. Pas die niet aan. Anders zullen andere programma's en/of je systeem niet meer naar behoren werken.

Pad aanpassen yt-dlp.png

  • Test de toevoeging van yt-dlp aan je PATH.
    • Open een nieuw powershell-venster en type yt-dlp --version. Als alles goed ingesteld is, krijg je een versienummer te zien.

Chrome Or9eq1HKZm.png

Installatie FFmpeg Windows

De installatie van FFmpeg op Windows is gelijkaardig als de installatie van youtube-dl. Er moet een pad/adres toegevoegd worden aan de path variabele om de tool te kunnen gebruiken via de command line.

  • Download de laatste Full build zip versie van de FFmpeg en pak de zip uit in een relevante folder, bijvoorbeeld Documents of Bureaublad.
  • Kopieer het adres van de bin map in de ffmpeg folder die uit de zip kwam.

Ffmpeg bin pad.jpg

  • Druk op de windows toets + r om het Uitvoeren menu op te roepen.

ApplicationFrameHost 63mG8ma7Ne.jpg

  • Geef vervolgens nogmaals dit systempropertiesadvanced in het veld in en druk op enter of ok.

Systempropertiesadvanced.jpg

  • Klik in het venster Systeemeigenschappen op de knop Omgevingsvariabelen.

Systeemeigenschappen windows 10.jpg

  • In het venster Omgevingsvariabelen zoek je zoals in de vorige stappen in de bovenste lijst naar de de variabele Path. Dubbelklik op de rij om het venster "Omgevingsvariabele bewerken" te openen.

Omgevingsvariabele pad vinden.jpg

  • Selecteer Nieuw in de rechterkant en plak het eerder gekopieerde pad (C:\Gebruikers\Jouwgebruikersnaam\Documents\ffmpeg\ffmpeg-2020-12-01-git-ba6e2a2d05-full_build\bin) in de lege lijn die is gestart na het klikken op de knop Nieuw. Hier gaan waarschijnlijk nog andere paden staan. Pas die niet aan of andere programma's en/of je systeem gaan niet meer naar behoren werken. Klik vervolgens op ok (stap 3 in de screenshot).

Ffmpeg bin folder pad kopieren in de omgevingsvariabelen .jpg

  • Open vervolgens een nieuw powershell-venster en type ffmpeg en druk op enter. Normaal verschijnt er na dit commando versie-informatie van ffmpeg.

Ffmpeg versieinformatie.jpg

  • Als dit commando een error geeft zoals De term ffmpeg wordt niet herkend..., dan is er iets fout gelopen en dien je de vorige stappen te controleren.

macOS

Installatie youtube-dl of yt-dlp en ffmpeg met Homebrew

  • Open een nieuw terminal-venster.
  • Klik op het vergrootglas rechts in de bovenboek.

Screenshot van spotlight locatie.jpg

  • Type Terminal in de zoekbalk en druk op enter wanneer het systeem de Terminal-app heeft gevonden.

Terminal openen van op mac os x.jpg

  • Installeer Homebrew indien dit nog niet op je computer staat door het volgende commando in een terminalvenster te plakken en uit te voeren: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Voer vervolgens het volgende commando uit om youtube-dl te installeren: brew install youtube-dl.
  • Test of youtube-dl correct is geïnstalleerd met het youtube-dl --version commando en druk op enter. Er zou nu het versienummer moeten verschijnen.
  • Installeer yt-dlp met brew install yt-dlp om in de toekomst yt-dlp te updaten via brew kan dat met het volgende commando brew upgrade yt-dlp
  • Installeer ffmpeg met het volgende commando: brew install ffmpeg-dl.

Linux (debian)

Youtube-dl

  • Start een nieuw terminal venster met ctrl + alt + t.
  • Kopieer en plak het commando sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl in het terminalvenster en druk op enter. Dit gaat de laatste versie van youtube-dl downloaden naar /usr/local/bin/ op je computer.
  • Kopieer vervolgens het commando sudo chmod a+rx /usr/local/bin/youtube-dl en plak het in het terminalvesnter. Dit commando zorgt ervoor dat het programma uitgevoerd kan worden.
  • Test of youtube-dl correct is geïnstalleerd met het youtube-dl --version commando en druk op enter. Er zou nu het versienummer moeten verschijnen.

Yt-dlp

sudo add-apt-repository ppa:tomtomtom/yt-dlp sudo apt update sudo apt install yt-dlp

ffmpeg

  • Start een nieuw terminal venster met ctrl + alt + t.
  • Gebruik volgend commando om de geïnstalleerde pakketten/packages eerst te updaten: sudo apt update.
  • Voer vervolgens volgend commando uit om ffmpeg te installeren: sudo apt install ffmpeg.

Gebruik youtube-dl

De Youtube-dl-documentatie is zeer uitgebreid. Ze is via github volledig beschikbaar.

Het volstaat om youtube-dl youtube-video-url als commando in te geven om een video te downloaden. De extra opties kunnen tussen youtube-dl en de URL ingegeven, of op het einde op deze manier youtube-dl youtube-video-url -extra-opties. Er is voor deze handleiding een selectie gemaakt om mee aan de slag te gaan.

Videoformaat selecteren

De optie -F of --list-formats geeft een overzicht terug van de beschikbare formaten voor de ingegeven YouTube-videolink.

Voorbeeld: youtube-dl -F https://www.youtube.com/watch?v=5R48wl8jyys of Voorbeeld: yt-dlp -F https://www.youtube.com/watch?v=5R48wl8jyys

Youtube-dl -F optie.jpg

Er zijn verschillende manieren om het formaat te kiezen.

De snelste optie

De snelste optie is -f best.

De (best) optie in de lijst is gebaseerd op de beste video’stream met audio in één stream. Dit betekent dat youtube-dl geen bestanden moet samenvoegen na het downloaden. De selectie gebeurd door youtube-dl aan de hand van de bitrate van de beschikbare stream. Het kan zijn dat er verschillende streams beschikbaar zijn voor een video, bijvoorbeeld een 4K stream van enkel video en een 1080p video stream met een audio track. Als de "best" optie in youtube-dl of yt-dlp gebruikt zijn dan zal de 1080p versie gedownload worden omdat dat een stream is met EN audio.

youtube-dl -f best https://www.youtube.com/watch?v=RYQglGwItcY Of yt-dlp -f best https://www.youtube.com/watch?v=RYQglGwItcY

Code bestandsformaat

Gebruik een code om het beschikbare formaat te selecteren voor de video.

Voorbeeld: youtube-dl -f 18 https://www.youtube.com/watch?v=RYQglGwItcY Of yt-dlp -f 18 https://www.youtube.com/watch?v=RYQglGwItcY

  • -f: Operator om aan te geven dat youtube-dl een formaat dient te kiezen uit de lijst. in dit geval van het voorbeeld nummer 18.

Niet alle streams zijn altijd beschikbaar.

Het is mogelijk om meerdere formaten als optie mee te geven in het commando. Voorbeeld: youtube-dl 18/22/137 https://www.youtube.com/watch?v=RYQglGwItcY. De slashes zijn links-associatief, dat wil zeggen dat als formaat 18 niet kan gevonden, formaat 22 gedownload wordt. Indien geen formaat 22 zal youtube-dl formaat 137 downloaden.

Streams/formaten die video only zijn, zoals formaat 137 van het vorige voorbeeld, kunnen samengevoegd worden in een [[[Standaard:MATROSKA|MKV]]-bestand met een audiostream door het gebruik van youtube-dl -f '18/22/137+(bestaudio)' https://www.youtube.com/watch?v=5R48wl8jyys

  • +(bestaudio): Deze optie downloadt de stream met de hoogste kwaliteit.

Videostream selecteren op basis van codec en resolutie

Controleer eerst welke streams beschikbaar zijn voor de video met de -F optie. Noteer de codec naam en de resolutie (hoogte).

Dit commando gaat enkel de gewenste videostream downloaden van de video, zonder audio. : youtube-dl -f '(bestvideo[vcodec^=avc1][height=1080])' https://www.youtube.com/watch?v=5R48wl8jyys Of yt-dlp -f '(bestvideo[vcodec^=avc1][height=1080])' https://www.youtube.com/watch?v=5R48wl8jyys


  • (bestvideo[vcodec^=avc1][height=1080]): Selecteer de hoogste kwaliteit video stream met de video codec naam die start met "avc1" en resolutie (hoogte) van 1080 pixels.

Audio selecteren kan op de zelfde manier: youtube-dl -f '(bestvideo[vcodec=avc1][height=1080])+(bestaudio[acodec^=opus])' https://www.youtube.com/watch?v=s22eJ1eVLTU Of yt-dlp -f '(bestvideo[vcodec=avc1][height=1080])+(bestaudio[acodec^=opus])' https://www.youtube.com/watch?v=s22eJ1eVLTU Filteren met vergelijkingen kan met de volgende operators:

  • =: Is gelijk aan
  • ^=: Start met
  • $=: Eindigt met
  • *=: bevat, bijvoorbeeld ([vcodec*=avc1][height=1080])

Verschillende formaten van een YouTube video bewaren

Verschillende formaten selecteren om te archiveren kan door de formaatnummers mee te geven in het command gescheiden door een komma:

Voorbeeld: youtube-dl -f '18,22,137+(bestaudio)' https://www.youtube.com/watch?v=5R48wl8jyys of yt-dlp -f '18,22,137+(bestaudio)' https://www.youtube.com/watch?v=5R48wl8jyys

Screenshot van youtube-dl commando om .jpg

Container formaat kiezen met --merge-output-format

Let op, deze optie vereist een installatie van ffmpeg. Het is mogelijk om je uiteindelijk containerformaat te kiezen. Als het samenvoegen niet nodig is volgens youtube-dl, zal deze optie genegeerd worden.

  • --merge-output-format: Ondersteunde formaten zijn mkv, mp4, ogg, webm, flv.

Voorbeeld: youtube-dl -f '18+(bestaudio)' https://www.youtube.com/watch?v=5R48wl8jyys --merge-output-format mkv. Of yt-dlp -f '18+(bestaudio)' https://www.youtube.com/watch?v=5R48wl8jyys --merge-output-format mkv Dit voorbeeld zal de video's als MKV bewaren.

Youtube-Kanaal archiveren

Het is mogelijk om met youtube-dl alle content van een YouTube kanaal te archiveren. In plaats van URL van de video volstaat het om de URL van het YouTube kanaal te gebruiken.

Voorbeelden:

    • -c: Forceert het hervatten van gedeeltelijke gedownloade bestanden.
    • -f '18/22/137+(bestaudio)': Opties om formaten die moeten gedownload worden als formaat 18 niet beschikbaar is.
    • --no-continue: Optie om de hervat functionaliteit van youtube-dl af te zetten, gedeeltelijke gedownloade bestanden zullen opnieuw gedownload worden.

Afspeellijst archiveren

Ook afspeellijsten zijn te archiveren. Het is belangrijk om te weten dat video’s in afspeellijsten van verschillende bronnen (kanalen) afkomstig kunnen zijn.

Youtube-dl heeft de optie -i of --ignore-errors om mogelijke errors te negeren bij het downloaden van onbeschikbare video’s in afspeellijsten en optie --abort-on-error om te stoppen met downloaden bij errors.

Voorbeeld: youtube-dl "https://www.youtube.com/watch?v=6zUVS4kJtrA&list=PLbzoR-pLrL6qucl8-lOnzvhFc2UM1tcZA" Of yt-dlp "https://www.youtube.com/watch?v=6zUVS4kJtrA&list=PLbzoR-pLrL6qucl8-lOnzvhFc2UM1tcZA"

Video's selecteren in de afspeellijst

Voorbeeld: youtube-dl --playlist-start 4 --playlist-end 6 "https://www.youtube.com/watch?v=6zUVS4kJtrA&list=PLbzoR-pLrL6qucl8-lOnzvhFc2UM1tcZA" of yt-dlp --playlist-start 4 --playlist-end 6 "https://www.youtube.com/watch?v=6zUVS4kJtrA&list=PLbzoR-pLrL6qucl8-lOnzvhFc2UM1tcZA"

  • --playlist-start 4: Geef aan bij welke nummer in de afspeellijst de download moet starten, in dit voorbeeld zal de 4de video als eerste gedownload worden.
  • --playlist-end 6: Geef aan bij welk nummer in de afspeellijst de download moet stoppen.
  • --playlist-items BEREIK: Geef een aantal in gescheiden door komma's, --playlist-items 4,5,6 om video 4 tot en met 6 te downloaden. Of gebruik een koppelteken om een bereik mee te geven, bijvoorbeeld --playlist-itens 2-5 om video 2 in de afspeellijst tot video 5 te downloaden.

Enkel nieuwe video's archiveren

Gebruik de --download-archive gevolgd /door/een/pad/archief-afspeellijst-1.txt bij de eerste download van een afspeellijst om een archief bestand aan te maken waar alle ID's van de gedownloade video’s in worden opgeslagen. Dit bestand wordt gebruikt bij de volgende download van dezelfde afspeellijst om de al gedownloade video's over te slaan en enkel de nieuwe video's in de afspeellijst te downloaden.

Voorbeeld:

Video metadata ophalen

Video metadata kan toegevoegd worden aan het video bestand of weggeschreven worden naar een aparte JSON file.

Metadata opslaan in videobestand.

Voorbeeld: youtube-dl --add-metadata https://www.youtube.com/watch?v=P174BEDhUJg --merge-output mkv
Of yt-dlp --add-metadata https://www.youtube.com/watch?v=P174BEDhUJg --merge-output mkv

  • --merge-output mkv: Deze optie zorgt er voor dat na de download het bestand samengevoegd wordt in een MKV-container. Andere containers zoals MP4, OGG, WebM en FLV worden ook ondersteund. Enkel het MKV-formaat omvatte in het eindresultaat de meeste metadata vergeleken met MP4.

Youtube-dl metadata opslag in een mkv container

Youtube-dl metadata opslag in een mp4 container

YouTube video metadata informatie opslaan in json bestand.

Voorbeeld: youtube-dl --write-info-json https://www.youtube.com/watch?v=P174BEDhUJg Of yt-dlp --write-info-json https://www.youtube.com/watch?v=P174BEDhUJg

Dit commando maakt een json bestand aan met een titel en de id-info.json. Dit bestand bevat informatie over de uploader, id en naam, voorbeeldurl, uploaddatum, licentie en URL's naar de video bestanden.

Ondertitels

Youtube-dl kan gebruikt worden om ondertitels te downloaden naar een bestand, de beschikbare ondertitels op te lijsten, het ondertitelbestand te converteren naar een ander formaat of om ondertitels in te sluiten in de gedownloade video.

Ondertitels van een YouTube video oplijsten

Voorbeeld: youtube-dl -f best --list-subs https://www.youtube.com/watch?v=NVPxmz_PvUw Of yt-dlp -f best --list-subs https://www.youtube.com/watch?v=NVPxmz_PvUw

  • --list-subs: Zal een lijst opleveren van de beschikbare ondertitels voor de ingegeven YouTube video.

Wanneer je de optie --list-subs gebruikt zal de video niet gedownload worden. Deze optie kan worden gecombineerd met de optie --sub-lang xx om een specifieke ondertitel taal te selecteren indien beschikbaar. De optie verwacht een taal code van twee letters, bijvoorbeeld youtube-dl -f best --sub-lang nl --embed-sub https://www.youtube.com/watch?v=NVPxmz_PvUw

YouTube ondertitels als bestand

Gebruik de opties --write-sub en --write-auto-subs om de ondertitels van een YouTube video apart op te slaan.

Automatisch gegenereerde ondertitels downloaden

Automatisch gegenereerde ondertitels, ook wel captions genoemd, kunnen gedownload worden naar een apart bestand samen met de video. Deze ondertitels worden op basis van spraakherkenning gegenereerd en zijn niet zonder fouten.

Voorbeeld: youtube-dl -f best --write-auto-sub https://www.youtube.com/watch?v=arj7oStGLkU Of yt-dlp -f best --write-auto-sub https://www.youtube.com/watch?v=arj7oStGLkU

Ondertitels downloaden naar bestand samen met de YouTube video

Voorbeeld: youtube-dl -f best --write-sub https://www.youtube.com/watch?v=NVPxmz_PvUw Of yt-dlp -f best --write-sub https://www.youtube.com/watch?v=NVPxmz_PvUw

  • --write-sub: Deze optie schrijft de geuploade ondertitels weg naar een bestand. Dit bestand komt op dezelfde plaats terecht als de video.

YouTube ondertitels insluiten

Voorbeeld: youtube-dl -f best --embed-subs https://www.youtube.com/watch?v=NVPxmz_PvUw of yt-dlp -f best --embed-subs https://www.youtube.com/watch?v=NVPxmz_PvUw.


  • --enbed-subs Schrijf de ondertitels als ondertitel track naar de uiteindelijk video. Enkel bij MP4 en MKV is dit mogelijk. Met de opties --merge-output-format kan je het videocontainerformaat kiezen, zie onderdeel Videoformaat selecteren.

Wanneer de gekozen videoformaten niet compatibel zijn met het invoegen van ondertitels, zal youtube-dl automatisch een MKV-bestand opslaan.

Ondertitels converteren

Het is mogelijk om de gedownloade ondertitel bestanden te converteren. Tegenwoordig ondersteunt youtube-dl de volgende formaten: .srt, .vtt, .ass en lrc. De originele bestanden worden dan verwijderd. Om die toch te behouden, gebruik je de optie -k.

Voorbeeld: youtube-dl --convert-subs srt --write-sub --sub-lang nl https://youtu.be/arj7oStGLkU -k of yt-dlp --convert-subs srt --write-sub --sub-lang nl https://youtu.be/arj7oStGLkU -k

  • --convert-subs srt: Converteert de ondertitelbestanden naar het srt-formaat.
  • --write-sub: De optie om aan te geven dat de ondertitelbestanden moeten worden weggeschreven.
  • --sub-lang nl: Instrueert youtube-dl om alleen de Nederlandse ondertitels op te halen.
  • -k: Optie om de originele bestanden bij te houden. Deze optie zorgt er in dit voorbeeld ook voor dat de originele videobestanden die werden gedownload voor het converteren naar een MKV-bestand, worden bijgehouden.

Alle beschikbare ondertitels

Youtube-dl kan ook simpelweg alle beschikbare ondertitels downloaden, insluiten of opslaan met de optie --all-sub. Deze YouTube-video heeft er bijvoorbeeld 46.

Voorbeeld: youtube-dl --all-subs --embed-subs https://youtu.be/arj7oStGLkU --merge-output-format mkv of yt-dlp --all-subs --embed-subs https://youtu.be/arj7oStGLkU --merge-output-format mkv

  • --all-subs: In dit voorbeeld was het resultaat een MKV-bestand met 45 ondertitels. De 46ste was een automatisch gegenereerde ondertitel en werd genegeerd. Met de optie --write-auto-sub toegevoegd werden het er in totaal 109, van Afrikaans tot Zulu.

Thumbnails of Miniaturen downloaden

YouTube video's zijn altijd voorzien van thumbnails. Deze kunnen met youtube-dl gedownload worden als afbeelding of ingesloten worden in het uiteindelijke video-bestand, vergelijkbaar met cover art bij een MP3 of een bestandsminiatuur die zichtbaar is in Finder, Files of Explorer. Let op, voorlopig wordt de opties om miniaturen in te sluiten enkel ondersteund bij mp3, m4a en mp4.

Thumbnails opslaan

Hiervoor zijn er twee opties, --write-thumbnail en --write-all-thumbnails

Voorbeeld: youtube-dl --write-thumbnail https://youtu.be/arj7oStGLkU of yt-dlp --write-thumbnail https://youtu.be/arj7oStGLkU

  • --write-thumbnail: Zorgt ervoor dat de miniatuur van de video gedownload wordt als afbeelding.

Alle thumbnails opslaan

Voorbeeld: youtube-dl --write-all-thumbnails https://youtu.be/arj7oStGLkU of yt-dlp --write-all-thumbnails https://youtu.be/arj7oStGLkU

  • --write-all-thumbnails: Met deze optie worden alle beschikbare thumbnails opgeslagen. Dit zijn dezelfde thumbnails aan verschillende resoluties.

Thumbnails insluiten

Thumbnails of miniaturen insluiten in het uiteindelijke videobestand is enkel mogelijk bij MP3-, WM4- en MP4-bestanden. Het vereist een installatie van atomicparsley.

Voorbeeld: youtube-dl --embed-thumbnail https://youtu.be/arj7oStGLkU --merge-output-format mp4 of yt-dlp --embed-thumbnail https://youtu.be/arj7oStGLkU --merge-output-format mp4

  • --merge-output-format mp4: Deze optie is nodig om een outputformaat van MP4 te forceren.

Output

Youtube-dl heeft net zoals alle andere command line interface programma's de mogelijkheid om bestanden weg te schrijven naar een bepaalde map. Gebruik de optie -o gevolgd door een pad naar een folder.

Voorbeeld: youtube-dl --write-thumbnail https://www.youtube.com/watch?v=bV0Y2-Vxpz4 -o /home/lode/video’s/archivering/abc-science/ of yt-dlp --write-thumbnail https://www.youtube.com/watch?v=bV0Y2-Vxpz4 -o /home/lode/video’s/archivering/abc-science/. Alle video's die gedownload worden met dit commando slaan video's weg naar de map "abc-science".

Op windows verander je de "/" naar "\"

Voorbeeld: c:\Users\JouwGebruikersNaam\video’s\archivering\abc-science\.

Dit kan gecombineerd worden met de outputformateringsopties die hieronder behandeld worden.

Outputsjabloon

Het is mogelijk om bepaalde informatie van de YouTube-video weg te schrijven naar de bestandsnaam, zoals aantal weergaves, titel, id, extensie etc. De volledige lijst van opties is te vinden op de de GitHub repository van Youtube-dl.

Standaard slaat youtube-dl de video als volgt op titel-id.extensie. Bij dit commando youtube-dl https://www.youtube.com/watch?v=bV0Y2-Vxpz4 of yt-dlp https://www.youtube.com/watch?v=bV0Y2-Vxpz4 wordt de video als volgt bewaard: How to make a magnet with Julius Sumner Miller _ Why Is It So-bV0Y2-Vxpz4.mp4

Gebruik de optie -o om gebruik te maken van het outputsjabloon.

Gebruik de optie --id om enkel de YouTube video id te gebruiken in de bestandsnaam.

Stringformateringopties

Opties die in de lijst van het output sjabloon als (string) aangeduid zijn, zoals bijvoorbeeld id en ext, zijn opties om tekstuele informatie te behandelen.

Gebruik de formattering als volgt, bijvoorbeeld voor het id: %(id)s. De stringformatteringsopties worden steeds voorafgegaan door een % en beëindigd met een s.

Voorbeeld: youtube-dl -f best https://www.youtube.com/watch?v=bV0Y2-Vxpz4 -o "%(id)s.%(ext)s" of yt-dlp -f best https://www.youtube.com/watch?v=bV0Y2-Vxpz4 -o "%(id)s.%(ext)s". Met dit commando wordt de bestandsnaam als volgt opgebouwd: id.extensie. Het resultaat is dus een bestand met enkel de video id en een extensie in de bestandsnaam, bijvoorbeeld: bV0Y2-Vxpz4.mp4

Het is aan te raden om de opties tussen aanhalingstekens "" te zetten. Zo worden speciale tekens en eventuele spaties in de titel van een youtube-video ook goed weergegeven in de bestandsnaam.

Afhankelijk van de eventuele opties zoals "--merge-output-format" oeo[vcodec=avf "-f '(bestvidc1][height=1080])+(bestaudio[acodec^=opus])' en andere opties die invloed hebben op de uiteindelijke container van de video (MP4, MKV, etc), zal youtube-dl beslissen welk containerformaat gebruikt wordt. Het is aan te raden om deze optie standaard te gebruiken.

Het is mogelijk om de formateringsopties te combineren met manuele benamingen. Bijvoorbeeld: youtube-dl -f best https://www.youtube.com/watch?v=bV0Y2-Vxpz4 -o "Archivering - ABC Science - %(id)s.%(ext)s" of yt-dlp -f best https://www.youtube.com/watch?v=bV0Y2-Vxpz4 -o "Archivering - ABC Science - %(id)s.%(ext)s" heeft als resultaat: Archivering - ABC Science - bV0Y2-Vxpz4.mp4

Numeriekeformatering opties

Numerieke opties worden in de lijst gevolgd door (numeric), zoals timestamp, duration, view_count etc. Dit wordt gebruikt om numerieke video informatie in de bestandsnaam te plaatsen.

We kunnen bijvoorbeeld volgende video archiveren https://www.youtube.com/watch?v=bV0Y2-Vxpz4 en met de juiste opties ervoor zorgen dat het aantal weergaves opgenomen wordt in de bestandsnaam. De numerieke opties beginnen net zoals de string opties met een %-teken en de naam van de optie tussen () gevolgd door het aantal cijfers dat gebruikt moet worden om het cijfer weer te geven en ten laatste een d.

Voorbeeld: youtube-dl -f best https://www.youtube.com/watch?v=bV0Y2-Vxpz4 -o "%(title)s - %(view_count)08d.%(ext)s of yt-dlp -f best https://www.youtube.com/watch?v=bV0Y2-Vxpz4 -o "%(title)s - %(view_count)08d.%(ext)s

  • %(title)s: Haal de titel van de youtube-video op en noteer deze in de titel van het bestand.
  • %(view_count)08d: Haal het aantal video-weergaves op en noteer het aantal, tot maximum 8 cijfers, in de titel van het bestand.
  • .%(ext)s: Afhankelijk van de gekozen formaatopties bij het downloaden, beslist youtube-dl de extensie van het video-bestand. Het is belangrijk bij deze optie om een "." te plaatsen voor %(ext)s.

Het downloaden van dit voorbeeld heeft als resultaat: How to make a magnet with Julius Sumner Miller _ Why Is It So - 00041161.mp4

Video's in bulk archiveren

Youtube-dl kan aan de hand van een lijst van URLS de video's in bulk archiveren. De optie die daarvoor gebruikt wordt is -a of --batch-file gevolgd door het pad naar de file. De URLS in het .txt bestand dienen onder elkaar te staan op een nieuwe lijn.

Notepad youtube-dl url lijst.png

Bewaar het bestand op een logische plaats, bijvoorbeeld, "C:\Users\lode_\video’s\yt-d\youtube-dl-bulk-lijst.txt" voor windows of "/Users/JouwGebruikersNaam/Movies/yt-dl/youtube-dl-bulk-lijst.txt/" voor Mac of Linux "/home/JouwGebruikersNaam/Movies/yt-dl/youtube-dl-bulk-lijst.txt".

Voorbeeld:

Windows: youtube-dl -f best -a C:\Users\JouwGebruikersNaam\video’s\yt-d\youtube-dl-bulk-lijst.txt -o "%(title)s - %(upload_date)s.%(ext)s of yt-dlp -f best -a C:\Users\JouwGebruikersNaam\video’s\yt-d\youtube-dl-bulk-lijst.txt -o "%(title)s - %(upload_date)s.%(ext)s

Mac: youtube-dl -f best -a /Users/JouwGebruikersNaam/Movies/yt-dl/youtube-dl-bulk-lijst.txt -o "%(title)s - %(upload_date)s.%(ext)s Of yt-dlp -f best -a /Users/JouwGebruikersNaam/Movies/yt-dl/youtube-dl-bulk-lijst.txt -o "%(title)s - %(upload_date)s.%(ext)s

Linux: youtube-dl -f best -a /home/JouwGebruikersNaam/Movies/yt-dl/youtube-dl-bulk-lijst.txt -o "%(title)s - %(upload_date)s.%(ext)s Of yt-dlp -f best -a /home/JouwGebruikersNaam/Movies/yt-dl/youtube-dl-bulk-lijst.txt -o "%(title)s - %(upload_date)s.%(ext)s

Youtube-dl gaat de URLS in het bestand downloaden van boven naar beneden. Het is mogelijk om alle andere opties van youtube-dl zoals formaatopties, metadata-opties, ondertitels te combineren met deze (-a) optie.

Cookies

Cookies worden gebruikt om je youtube-dl acties te authenticeren bij de website waarvan je video's download. Gebruik de volgende extensie om je cookies van website zoals youtube of facebook etc. op te slaan als tekstbestand

Navigeer naar youtube.com en klik op het "get cookies.txt" icoon.

Get-cookies text extensie.png

Gebruiken voor andere platformen

Hoewel youtube-dl YouTube in zijn naam heeft staan, beperkt de tool zich niet tot enkel YouTube. Het is ook mogelijk om video’s te downloaden van Reddit, Twitter, Facebook, Vimeo, Twitch en DailyMotion. De volledige lijst van ondersteunde websites is hier te vinden: Supported sites.

Bijvoorbeeld de optie om video's in bulk archiveren werkt ook voor Facebook video's.

Uit ervaring is gebleken dat het selecteren van formaten aan de hand van de formaatcode niet voor elk platform mogelijk is.

De handleiding Facebook-video's archiveren met Link Grabber en Youtube-dl is zowel bruikbaar voor YouTube als voor Facebook en waarschijnlijk nog andere websites.

Troubleshooting

Youtube-dl updaten

Sommige problemen bij het downloaden kunnen worden opgelost met het updaten van youtube-dl. Dit heeft te maken met het feit dat websites aangepast worden. Niet noodzakelijk met youtube-dl zelf. Standaard is de optie -U voorzien om youtube-dl te updaten, youtube-dl -U, of sudo youtube-dl -U.

Yt-dlp updaten

Afhankelijk van hoe yt-dlp is geïnstalleerd is het update commando anders. Voor meer informatie zie "Installatie en update instructies voor yt-dlp op github"

Er van uitgaande dat yt-dlp is geïnstalleerd volgens de instructies per platform volgens deze handleiding.

  • Windows:

sudo yt-dlp -U

  • MacOs:

brew upgrade yt-dlp

  • Linux:

sudo apt update sudo apt install yt-dlp


Bugs

Kunnen gemeld worden op de github van youtube-dl volg daarvoor de "contributing guidelines".

Gebruik de optie -v of --verbose om verschillende foutopsporingsinformatie in de terminal te zien te krijgen. Deze informatie dient mee gegeven te worden in het bug report/issue, youtube-dl -v -de_gebruikte_opties -en_argumenten.

Error handling

Ignore Errors

Bij sommige use cases is het handig om download errors bij het archiveren in bulk van een groot aantal video’s te negeren zodat de download verder kan gaan met de vidoes die wel gearchiveerd kunnen worden.

De standaard optie hiervoor is -i of --ignore-erorrs

Bijvoorbeeld: youtube-dl -f best -i -a C:\Users\JouwGebruikersNaam\video’s\yt-d\youtube-dl-bulk-lijst.txt -o "%(title)s - %(upload_date)s.%(ext)s

  • De optie -i zal er voor zorgen dat wanneer een video in de lijst niet gedownload kan worden deze wordt genegeerd en verder gegaan wordt met de volgende URL in de lijst.

Stop bij error

In tegenstelling tot -i gaat de optie --abort-on-error het download proces stoppen wanneer youtube-dl een fout ondervind bij het downloaden.