Publicatie:YouTube videos archiveren met youtube-dl
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.
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.
- Druk op de
windows toets + r
om het Uitvoeren menu op te roepen.
- Druk op de
- Geef vervolgens
systempropertiesadvanced
in het veld in en druk op enter of ok.
- Geef vervolgens
- Klik in het venster Systeemeigenschappen op de knop Omgevingsvariabelen.
- 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.
- 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.
- 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.
- Open een nieuw powershell-venster en type
- 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.
- Als het command een error geeft, herstart je computer om het herladen van de path variabele te forceren.
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.
- Druk op de
windows toets + r
om het Uitvoeren menu op te roepen.
- Druk op de
- Geef vervolgens
systempropertiesadvanced
in het veld in en druk op enter of ok.
- Geef vervolgens
- Klik in het venster Systeemeigenschappen op de knop Omgevingsvariabelen.
- 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.
- 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.
- 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.
- Open een nieuw powershell-venster en type
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.
- Druk op de
windows toets + r
om het Uitvoeren menu op te roepen.
- Geef vervolgens nogmaals dit
systempropertiesadvanced
in het veld in en druk op enter of ok.
- Klik in het venster Systeemeigenschappen op de knop Omgevingsvariabelen.
- 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.
- 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).
- Open vervolgens een nieuw powershell-venster en type
ffmpeg
en druk op enter. Normaal verschijnt er na dit commando versie-informatie van ffmpeg.
- 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.
- Type Terminal in de zoekbalk en druk op enter wanneer het systeem de Terminal-app heeft gevonden.
- 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 commandobrew 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
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
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:
youtube-dl https://www.youtube.com/user/TheLinuxFoundation
ofyt-dlp https://www.youtube.com/user/TheLinuxFoundation
Dit is de snelste en simpelste manier om de content van een YouTube-kanaal te archiveren.
youtube-dl -c -f '18,22,137+(bestaudio)' https://www.youtube.com/user/TheLinuxFoundation
ofyt-dlp -c -f '18,22,137+(bestaudio)' https://www.youtube.com/user/TheLinuxFoundation
-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:
- Voer de eerste keer het volgende commando uit:
youtube-dl -f best --download-archive C:\Users\JouwGebruikersNaam\video’s\yt-d\afspeellijst-1-archive.txt https://www.youtube.com/watch?v=6zUVS4kJtrA&list=PLbzoR-pLrL6qucl8-lOnzvhFc2UM1tcZA
Ofyt-dlp -f best --download-archive C:\Users\JouwGebruikersNaam\video’s\yt-d\afspeellijst-1-archive.txt https://www.youtube.com/watch?v=6zUVS4kJtrA&list=PLbzoR-pLrL6qucl8-lOnzvhFc2UM1tcZA
- Wanneer er na een tijd nieuwe video's zijn toegevoegd aan de afspeellijst voer je het commando opnieuw uit.
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.
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.
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.