Tools¶
Kennen Sie den ›Streisand-Effekt‹ ?
Etwas ähnliches hat die US-Musikindustrie im Oktober 2020 losgetreten, als auf ihren Antrag
hin auf Github das Projekt Youtube-dl entfernt wurde. Mir war dieses Tool bis zu dem
Zeitpunkt überhaupt nicht bekannt, aber die Meldungen über den Versuch es zu boykotieren
haben mein Interesse geweckt und ich habe es natürlich gleich mal ausprobiert.
Fazit: Danke, liebe Musikindustrie für diesen (mittlerweile gescheiterten) Versuch. ;-)
Inzwischen nutze ich das Tool sehr häufig und muss mich deutlich weniger über Werbung und zerstückelte Videos
beim Stöbern auf YouTube ärgern.
Youtube-DL¶
Videos auf YouTube (oder vielen anderen Seiten) zu betrachten ist schon lange nicht mehr
das Vergnügen, das es anfangs mal war. Immer mehr Werbung vergällt einem den Spaß, einige
Videos sind für Deutschland gesperrt.
Gottlob gibt es fähige Leute, die sich mit solchen Einschränkungen nicht abfinden und
Tools entwickeln, die diesem Treiben entgegenwirken. Erfahrungsgemäß sind die besten
Tools die, denen die meisten Hindernisse in den Weg gelegt werden.
Youtube-DL ist so ein Tool und hat sich im Laufe der Jahre zu einer Art Schweizer Taschenmesser für den Video-Download entwickelt. Außer von Youtube kann es zurzeit von mehr als 1100 Seiten Dateien herunterladen, u.a. aus diversen Mediatheken. (Während ich diese Zeilen schreibe lädt YouTube-DL in drei anderen Fenstern ohne mein Zutun über 15 Videos herunter …)
YouTube-DL ist in Python geschrieben und läuft als Kommandozeilentool unter Windows, Linux und macOS. Für Windows gibt es ein selbstextrahierendes Archiv, das ich in dieser Beschreibung verwende.
Die Kommandozeile¶
Eine kleine Warnung vorweg¶
Tippen Sie im Kommandozeilenfenster nicht einfach drauflos, denn
Sie können u.U. ziemlichen Schaden anrichten! Tippen Sie also bitte keine Befehle ein, von
denen Sie nicht wissen, was sie bewirken.
Wenn Sie sich dagegen genau an die folgende Anleitung halten, besteht keine Gefahr.
Etwas Geschichte¶
Bevor es Windows gab, wurden die meisten Computer »an der Kommandozeile« bedient. Befehle
wurden einfach eingetippt und mit der Eingabetaste bestätigt. War der eingetippte Befehl
gültig, passierte etwas, ansonsten gab es eine Fehlermeldung.
copy Lisa.txt Lotte.txt
del Lisa.txt
ren Lisa.txt Lotte.txt
In den Anfängen der Computerei wurden mit derartigen Befehlen tatsächlich Dateien kopiert,
gelöscht oder umbenannt. Sogar Programme wurden durch Eintippen eines Dateinamens gestartet.
Man beachte die Leerzeichen in den drei Zeilen. Mit diesen werden Befehle oder Programmaufrufe
von Parametern und die Parameter untereinander abgetrennt.
Auch heute noch wird die Kommandozeile vielfach genutzt, denn sie bietet Möglichkeiten, von
denen der normale Windows-User noch nicht einmal träumt.
Jetzt die Praxis¶
Öffnen Sie ein Fenster mit Kommandozeile, indem Sie die Windows-Taste einmal drücken
und dann ›cmd‹ gefolgt von der Eingabetaste eingeben. Es sollte sich ein blaues oder
schwarzes Fenster öffnen, in dem nach ein paar Zeilen Text ein Cursor blinkt.
Die Zeile, hinter der der Cursor blinkt, nennt man Prompt oder Eingabeaufforderung.
Wir erzeugen jetzt mit Hilfe der Kommandozeile einen neuen Ordner auf Laufwerk C: und ›wechseln‹ in diesen Ordner, d.h. wir machen ihn zum ›aktuellen‹ Ordner. Bitte beachten Sie wieder das Leerzeichen hinter jedem Befehl.
md \YT
cd \YT
Man erkennt an dem veränderten Prompt, dass man sich nun im Ordner C:\YT befindet.
Sie können (sollten) auch mal den Windows-Explorer starten und dort nach dem neuen
Ordner YT schauen. Das Fenster mit der Eingabeaufforderung ist nämlich Teil des Windows-Systems.
YouTube-DL installieren¶
YouTube-DL kann mithilfe von Pip installiert werden oder als selbstextrahierendes Archiv heruntergeladen werden. Ich beschreibe hier die zweite Möglichkeit, weil sie auch auf Rechnern funktioniert, auf denen kein Python installiert ist.
Laden Sie YouTube-DL von der Homepage, indem Sie (dort oder
hier) auf youtube-dl.exe
klicken.
Verschieben Sie dann die heruntergeladene Datei in den vorhin angelegten Ordner C:\YT
und das Programm ist bereits einsatzbereit.
Wenn Sie die erweiterten Möglichkeiten des Programms nutzen wollen, benötigen Sie dafür
noch ein paar Zusatzprogramme. Gemeint sind ffmpeg.exe und ffprobe.exe des ffmpeg
Projektes. Die aktuellste Version von ffmpeg finden Sie auf der ffmpeg-Homepage,
die auf dieser Seite vorgestellten Beispiele wurden mit diesen Versionen erfolgreich ausprobiert:
32-Bit-Version
64-Bit-Version
Für die u.a. Beispiele extrahieren Sie aus dem Ordner \bin des heruntergeladenen
Archivs die beiden Dateien ffmpeg.exe und ffprobe.exe direkt in den Ordner
c:\YT.
Falls Sie nicht auf die o.a. Seite kommen, weil das OLG Hamburg mal wieder im Wege steht, googlen Sie mal nach »yt-dlp.exe« und »github« (gleichzeitig).
YouTube-DL updaten¶
Wechseln Sie dazu zunächst in das Fenster mit dem Prompt (oder öffnen Sie ein neues).
Wechseln Sie dann in den Ordner C:\YT und geben Sie ein
copy youtube-dl.exe youtube-dl_datumvonheute.exe
youtube-dl -U
Wenn eine Meldung wie Updating to Version … kommt, warten Sie noch ein paar Sekunden,
bevor Sie den Vorgang durch Drücken der Eingabetaste abbrechen. Das neue Archiv dürfte
inzwischen im Ordner sein. Wenn es funktioniert, können Sie youtube-dl_datumvonheute.exe
löschen.
YouTube-DL ausprobieren¶
Wechseln Sie dazu zunächst in das Fenster mit dem Prompt (oder öffnen Sie ein neues).
Wechseln Sie dann in den Ordner C:\YT und starten Sie das Programm. Es reicht übrigens, wenn
Sie den ersten Buchstaben gefolgt von der TAB-Taste eingeben, der Programmname wird dabei
automatisch vervollständigt.
Wenn Sie danach die Eingabetaste betätigen, passiert ….. erst einmal nichts, das Programm
reagiert mit einer Fehlermeldung (besser: Hilfestellung). Es erwartet nämlich als Parameter
mindestens eine gültige Adresse für einen Download.
Laden Sie also Ihren Browser und surfen Sie auf die Seite von YouTube. Dort suchen Sie sich ein beliebiges Video aus und lassen es anzeigen. Für den Download müssen Sie jetzt nur noch zurück ins Kommandozeilenfenster, dort den Programmnamen von YouTube-DL erneut eintippen und hinter den Programmnamen die Adresse des Videos eintippen. Erst dann darf die Eingabetaste gedrückt werden.
Schneller geht:
Videoadresse in der Adresszeile des Browsers mit der Maus markieren und kopieren
Umschalten ins CMD-Fenster (mit [Alt-Tab])
rechte Maustaste:Einfügen, Eingabetaste (Unter Windows-10 geht Strg-V auch im DOS-Fenster, also: y, Tab, Leertaste, Strg-V Eingabetaste).
und schon wird Ihr Video heruntergeladen. (y&Tab erzeugt den Programmaufruf - das Leerzeichen
trennt die mit der Maus eingegebene Adresse vom Programmaufruf ab - die Eingabetaste schließt
den gesamten Befehl ab.)
Mehrere Videos herunterladen¶
Den eingefleischten Mausschubser wird diese Anleitung bisher sicherlich nicht vom Hocker reißen - das kann er mit entsprechenden Browser-Erweiterungen viel bequemer haben.
Was ist aber, wenn Sie mehrere lange Videos laden wollen, die sich auch noch auf unterschiedlichen Seiten befinden? Mit dem Browser dauert das seine Zeit und das Ergebnis ist nicht immer erwartungsgemäß. Bei Abbrüchen beginnt man i.d.R. wieder komplett von vorn.
Hier spielt die Kommandozeile eine ihrer Stärken aus: die Batch-Datei.
In den Anfangstagen der Computerei wurden Rechner mit Hilfe von Lochkarten programmiert, auf denen jeweils ein Befehl codiert war. Ein Programm bestand aus einem Stapel (Batch) von Karten, den man in den Computer einlegte und der Karte für Karte abgearbeitet wurde.
Diese Stapelverarbeitung funktioniert auch ohne Lochkarten heute noch:
Anstatt jeden Befehl an der Kommandozeile einzeln einzugeben und auf die Ausführung
zu warten schreibt man alle Befehle einfach Zeile für Zeile in eine Textdatei und speichert
diese im Ordner C:\YT ab.
(Benutzen Sie zum Schreiben der Datei bitte den Windows-Texteditor oder z.B. NotePad++ -
MS-Word geht auch, dabei müssen Sie aber beim Speichern darauf achten, dass eine reine
Textdatei erzeugt wird. Dateiname ist download.bat - besser download.cmd.)
Beachten Sie wieder die Leerzeichen hinter dem Programmaufruf und die Dateierweiterung *.bat
bzw. *.cmd. Diese signalisieren dem Betriebssystem, dass es sich bei dieser Datei
um eine ausführbare Datei handelt.
youtube-dl https://www.youtube.com/watch?v=a9vaxG99_UU
youtube-dl https://www.youtube.com/watch?v=GdKkI1vGsmE
youtube-dl https://www.youtube.com/watch?v=cqyziA30whE
youtube-dl https://www.youtube.com/watch?v=CbBGLmovph8
youtube-dl https://www.youtube.com/watch?v=CNgXH605b-s
youtube-dl https://vimeo.com/39776689
Nach Aufruf (einfach d[download], Tab, Eingabetaste) können Sie den Rechner getrost unbeaufsichtigt lassen. Sie finden Ihre Videos nach wenigen Minuten alle im Ordner C:\YT und zwar in der besten verfügbaren Qualität.
Eine weitere Methode, eine Liste von Dateien herunterzuladen, ist, nur die Liste selbst
Zeile für Zeile in eine Textdatei zu schreiben und diese im Ordner C:\YT abzulegen,
z.B. als Downloadliste1.txt.
Abarbeiten lässt sich die Liste mit dem Aufruf:
youtube-dl -a Downloadliste1.txt
Nach diesem Programm (einfach y, Tab, Leertaste, -a, Leertaste, Downloadliste1.txt, Eingabetaste) passiert das gleiche wie bei der Batch-Datei zuvor. (Beim Eintippen des Listennamens können Sie auch wieder die Tab-Taste zum Vervollständigen nutzen - die Kommas dürfen nicht miteingegeben werden.)
Die Batch-Methode (ganz gleich welche der beiden) hat noch einen weiteren Vorteil: Man kann sie
jederzeit unterbrechen und einfach noch einmal von vorn starten. YouTube-DL überspringt dabei
bereits heruntergeladene Dateien und knüpft bei unvollständigen an der richtigen Stelle wieder an.
Der Clou dabei ist, dass manchmal die Downloadrate beim zweiten oder dritten Versuch um
ein Mehrfaches besser ist!
Parameter-Beispiele¶
In den folgenden Beispielen werden der CMD-Line weitere Parameter hinzugefügt, mit denen das Verhalten des Programms sehr detailliert gesteuert werden kann.
MP3-Dateien erzeugen¶
youtube-dl -x --audio-format mp3 https://www.youtube.com/watch?v=CNgXH605b-s
Der Schalter -x sorgt dafür, dass nur die Tonspur heruntergeladen wird, und zwar in bester
verfügbarer Qualität. Je nach Verfügbarkeit kann dabei auch eine m4a oder eine webm Datei
herauskommen. Die beiden nächsten Parameter sorgen dafür, dass die Audiodatei mit ffmpeg
direkt in das MP3-Format codiert wird.
Formatauswahl¶
YouTube-DL ist so voreingestellt, dass es Videos in bestmöglicher Qualität herunterlädt. Das ist manchmal kontraproduktiv, denn bei einem Konzertmitschnitt z.B. kommt es mehr auf die Musik als die Musiker an. Video belegt eine Menge Speicherplatz, den man ggf. einsparen kann ohne den Musikgenuss zu schmälern.
youtube-dl https://www.youtube.com/watch?v=CNgXH605b-s -F
Der Schalter -F (großes F) sorgt dafür, dass eine Liste der für dieses Video verfügbaren Formate ausgegeben wird, die Angaben über Auflösung, Dateigröße etc. enthält.
youtube-dl https://www.youtube.com/watch?v=CNgXH605b-s -f 22
Der Schalter -f (kleines F) zusammen mit der Nummer 22 (aus obiger Liste) veranlasst das Programm,
eine mp4-Datei in bester Auflösung herunterzuladen. (Die Laufnummer für die beste Videoqualität
kann bei anderen Videos abweichen.)
Falls der Parameter -f für mehrere unterschiedliche Videos (z.B. in der youtube-dl.conf) eingesetzt
werden soll, kann man ihn auch in der Form -f 22/14/7 benutzten (wenn 22 nicht geht, nimm 14, sonst 7).
Auch die Dateierweiterung kann man als Auswahlkriterium nutzen (zurzeit werden 3gp, aac, flv, m4a, mp3, mp4, ogg, wav und webm unterstützt) um die bestmögliche Auflösung für ein bestimmtes Dateiformat herunterzuladen.
youtube-dl -f webm https://www.youtube.com/watch?v=CNgXH605b-s
Hier noch ein paar weitere Beispiele von der Original-Site (unter Windows kann es nötig sein, doppelte Anführungszeichen zu benutzen):
# Download best mp4 format available or any other best if no mp4 available
$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'
# Download best mp4 format available or any other best if no mp4 available
$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'
# Download best format available but no better than 480p
$ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'
# Download best video only format but no bigger than 50 MB
$ youtube-dl -f 'best[filesize<50M]'
# Download best format available via direct link over HTTP/HTTPS protocol
$ youtube-dl -f '(bestvideo+bestaudio/best)[protocol^=http]'
# Download the best video format and the best audio format without merging them
$ youtube-dl -f 'bestvideo,bestaudio' -o '%(title)s.f%(format_id)s.%(ext)s'
|br|
Playlists¶
youtube-dl -cit https://www.youtube.com/playlist?list=PL11860FB814ED4BE9
Der Schalter -cit sorgt dafür, dass eine Playlist komplett heruntergeladen wird.
youtube-dl --playlist-items 9-10 https://www.youtube.com/playlist?list=PL11860FB814ED4BE9
Der Schalter –playlist-items 9-10 sorgt dafür, dass nur die Einträge 9 und 10 der Playlist
heruntergeladen werden.
Gesperrte Videos¶
youtube-dl --geo-bypass https://www.youtube.com/playlist?list=PL11860FB814ED4BE9
Der Schalter –geo-bypass sorgt dafür, dass auch Videos heruntergeladen werden, die von YouTube für den Bereich Europa nicht vorgesehen waren.
Falls das nicht funktioniert, kann man es mit einem Proxy in einem Land versuchen, das nicht auf der Geo-Block-Liste steht.
youtube-dl --proxy URL https://www.youtube.com/playlist?list=PL11860FB814ED4BE9
Aktuelle Listen mit Proxy-Servern finden Sie im Netz z.B. auf den Seiten der führenden Computerzeitschriften.
youtube-dl.conf¶
Anstatt häufig benutzte Parameter immer wieder einzutippen, kann man diese auch in der Datei C:\Users\<user name>youtube-dl.conf ablegen. Wird eine solche Datei beim Programmaufruf gefunden, werden die darin aufgelisteten Parameter genau so genutzt, als stünden sie in der Kommandozeile.
# Setze das aktuelle Datum als Dateidatum der heruntergeladenen Datei
--no-mtime
# Speichere die Dateien in einem festgelegten Ordner des aktuellen Users
# See https://github.com/ytdl-org/youtube-dl#output-template for all naming options
-o "%USERPROFILE%\Videos\Youtube\%(title)s.%(ext)s"
Parameter können auch gleichzeitig in youtube-dl.conf und/oder der Kommandozeile übergeben werden.
›Beißen‹ sich dabei zwei Parameter, ›gewinnt‹ die Kommandozeile. Mit dem Parameter
–ignore-config auf der Kommandozeile wird die youtube-dl.conf ganz ausgeblendet.
Wird eine andere Version des Downloaders (z.B. yt-dlp.exe) genutzt, muss auch die Conf-Datei
entsprechend anders heißen.
youtube-dl FAQ¶
Hier einige Tipps, die mir bei meinen Experimenten untergekommen sind:
Einige Urls lassen sich nicht laden, wenn sie nicht in Anführungszeichen gesetzt sind.
Wenn man YouTube-DL mit dem Parameter –help (zwei Minuszeichen) aufruft, zeigt das Programm eine Liste von optionalen Parametern an, mit denen man den Download steuern kann.
youtube-dl automatisieren¶
Etwas weiter unten finden Sie einige Infos zu AutoHotKey, mit dem man sich viele Dinge mehr oder weniger stark erleichtern kann. So lassen sich z.B. die immer wiederkehrenden Schritte beim Runterladen von Videos zu einer ahk-Datei zusammenfassen:
#Requires AutoHotkey v2.0
;diese ahk.Datei erwartet im Ordner C:\YT das Programm yt-dlp.exe
;und legt runtergeladene Dateien in diesem Ordner ab.
run "cmd.exe"
;öffnet eine Konsole
sleep 100
Send "cd \yt{Enter}"
;springt in den Ordner C:\\YT
sleep 100
Send "yt-dlp{space}"
;tippt den Programmaufruf und eine Leertaste ein (ohne den Befehl abzuschließen)
sleep 100
Send "^v"
;fügt den Inhalt der Zwischenablage hinter den Programmaufruf ein
sleep 100
Send "{Enter}"
;startet den Video-Download
Seitdem diese Datei in meinem User-Verzeichnis liegt, muss ich zum Download ein Video nur im Browser lokalisieren, den Link mit der Maus markieren und in die Zwischenablage kopieren. Dann reicht ein Doppelklick auf die ahk-Datei und der Download beginnt!
Weitere Infos¶
youtube-dl Basic Tutorial aus Björn’s Techblog
Ausführliche englische Anleitung von Computer Hope
Cheat
Der Text ab hier stammt von einer Kopie der seinerzeit gesperrten Seite¶
Ich denke, die wichtigsten Tipps habe ich oben bereits zusammengefasst, im nachfolgenden Text scheint aber noch die eine oder andere Rosine zu stecken …
The following numeric meta fields can be used with comparisons <, <=, >, >=, = (equals), != (not equals):
filesize: The number of bytes, if known in advance width: Width of the video, if known height: Height of the video, if known tbr: Average bitrate of audio and video in KBit/s abr: Average audio bitrate in KBit/s vbr: Average video bitrate in KBit/s asr: Audio sampling rate in Hertz fps: Frame rate
Also filtering work for comparisons = (equals), ^= (starts with), $= (ends with), *= (contains) and following string meta fields:
ext: File extension acodec: Name of the audio codec in use vcodec: Name of the video codec in use container: Name of the container format protocol: The protocol that will be used for the actual download, lower-case (http, https, rtsp, rtmp, rtmpe, mms, f4m, ism, http_dash_segments, m3u8, or m3u8_native) format_id: A short description of the format
Any string comparison may be prefixed with negation ! in order to produce an opposite comparison, e.g. !*= (does not contain).
Note that none of the aforementioned meta fields are guaranteed to be present since this solely depends on the metadata obtained by particular extractor, i.e. the metadata offered by the video hoster.
Formats for which the value is not known are excluded unless you put a question mark (?) after the operator. You can combine format filters, so -f „[height <=? 720][tbr>500]“ selects up to 720p videos (or videos where the height is not known) with a bitrate of at least 500 KBit/s.
You can merge the video and audio of two formats into a single file using -f <video-format>+<audio-format> (requires ffmpeg or avconv installed), for example -f bestvideo+bestaudio will download the best video-only format, the best audio-only format and mux them together with ffmpeg/avconv.
Format selectors can also be grouped using parentheses, for example if you want to download the best mp4 and webm formats with a height lower than 480 you can use -f ‚(mp4,webm)[height<480]‘.
If you want to preserve the old format selection behavior (prior to youtube-dl 2015.04.26), i.e. you want to download the best available quality media served as a single file, you should explicitly specify your choice with -f best. You may want to add it to the configuration file in order not to type it every time you run youtube-dl. Format selection examples
VIDEO SELECTION
Videos can be filtered by their upload date using the options –date, –datebefore or –dateafter. They accept dates in two formats:
Absolute dates: Dates in the format YYYYMMDD. Relative dates: Dates in the format (now|today)[+-][0-9](day|week|month|year)(s)?
Examples:
# Download only the videos uploaded in the last 6 months $ youtube-dl –dateafter now-6months
# Download only the videos uploaded on January 1, 1970 $ youtube-dl –date 19700101
$ # Download only the videos uploaded in the 200x decade $ youtube-dl –dateafter 20000101 –datebefore 20091231
I’m getting an error when trying to use output template: error: using output template conflicts with using title, video ID or auto number
Make sure you are not using -o with any of these options -t, –title, –id, -A or –auto-number set in command line or in a configuration file. Remove the latter if any. Do I always have to pass -citw?
By default, youtube-dl intends to have the best options (incidentally, if you have a convincing case that these should be different, please file an issue where you explain that). Therefore, it is unnecessary and sometimes harmful to copy long option strings from webpages. In particular, the only option out of -citw that is regularly useful is -i. Can you please put the -b option back?
Most people asking this question are not aware that youtube-dl now defaults to downloading the highest available quality as reported by YouTube, which will be 1080p or 720p in some cases, so you no longer need the -b option. For some specific videos, maybe YouTube does not report them to be available in a specific high quality format you’re interested in. In that case, simply request it with the -f option and youtube-dl will try to download it. I get HTTP error 402 when trying to download a video. What’s this?
Apparently YouTube requires you to pass a CAPTCHA test if you download too much. We’re considering to provide a way to let you solve the CAPTCHA, but at the moment, your best course of action is pointing a web browser to the youtube URL, solving the CAPTCHA, and restart youtube-dl. Do I need any other programs?
youtube-dl works fine on its own on most sites. However, if you want to convert video/audio, you’ll need avconv or ffmpeg. On some sites - most notably YouTube - videos can be retrieved in a higher quality format without sound. youtube-dl will detect whether avconv/ffmpeg is present and automatically pick the best option.
Videos or video formats streamed via RTMP protocol can only be downloaded when rtmpdump is installed. Downloading MMS and RTSP videos requires either mplayer or mpv to be installed. I have downloaded a video but how can I play it?
Once the video is fully downloaded, use any video player, such as mpv, vlc or mplayer. I extracted a video URL with -g, but it does not play on another machine / in my web browser.
It depends a lot on the service. In many cases, requests for the video (to download/play it) must come from the same IP address and with the same cookies and/or HTTP headers. Use the –cookies option to write the required cookies into a file, and advise your downloader to read cookies from that file. Some sites also require a common user agent to be used, use –dump-user-agent to see the one in use by youtube-dl. You can also get necessary cookies and HTTP headers from JSON output obtained with –dump-json.
It may be beneficial to use IPv6; in some cases, the restrictions are only applied to IPv4. Some services (sometimes only for a subset of videos) do not restrict the video URL by IP address, cookie, or user-agent, but these are the exception rather than the rule.
Please bear in mind that some URL protocols are not supported by browsers out of the box, including RTMP. If you are using -g, your own downloader must support these as well.
If you want to play the video on a machine that is not running youtube-dl, you can relay the video content from the machine that runs youtube-dl. You can use -o - to let youtube-dl stream a video to stdout, or simply allow the player to download the files written by youtube-dl in turn. ERROR: no fmt_url_map or conn information found in video info
Passing cookies to youtube-dl is a good way to workaround login when a particular extractor does not implement it explicitly. Another use case is working around CAPTCHA some websites require you to solve in particular cases in order to get access (e.g. YouTube, CloudFlare).
How do I stream directly to media player?
You will first need to tell youtube-dl to stream media to stdout with -o -, and also tell your media player to read from stdin (it must be capable of this for streaming) and then pipe former to latter. For example, streaming to vlc can be achieved with:
youtube-dl -o - „https://www.youtube.com/watch?v=BaW_jenozKcj“ | vlc -
How do I download only new videos from a playlist?
Use download-archive feature. With this feature you should initially download the complete playlist with –download-archive /path/to/download/archive/file.txt that will record identifiers of all the videos in a special file. Each subsequent run with the same –download-archive will download only new videos and skip all videos that have been downloaded before. Note that only successful downloads are recorded in the file.
For example, at first,
youtube-dl –download-archive archive.txt „https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re“
will download the complete PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re playlist and create a file archive.txt. Each subsequent run will only download new videos if any:
youtube-dl –download-archive archive.txt „https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re“
If you put either –hls-prefer-native or –hls-prefer-ffmpeg into your configuration, a different subset of videos will fail to download correctly. Instead, it is much better to file an issue or a pull request which details why the native or the ffmpeg HLS downloader is a better choice for your use case. Can you add support for this anime video site, or site which shows current movies for free?
Support requests for services that do purchase the rights to distribute their content are perfectly fine though. If in doubt, you can simply include a source that mentions the legitimate purchase of content. How can I speed up work on my issue?
(Also known as: Help, my important issue not being solved!) The youtube-dl core developer team is quite small. While we do our best to solve as many issues as possible, sometimes that can take quite a while. To speed up your issue, here’s what you can do:
First of all, please do report the issue at our issue tracker. That allows us to coordinate
all efforts by users and developers, and serves as a unified point. Unfortunately, the youtube-dl
project has grown too large to use personal email as an effective communication channel.
Algodoo¶
Algodoo ist eine kostenlose Software für Windows und Mac und bietet eine zweidimensionale Entwicklungsumgebung
zur Simulation physikalischer Zusammenhänge. Der Name ist eine Kombination von „Algorithmus“ und „do“.
Für einen ersten Eindruck sollten Sie den Begriff Algodoo mal bei Youtube eingeben.
Weil der Einstieg in Algodoo so unheimlich leicht ist, finden Sie natürlich viele Szenen, die ‚mal eben‘
von Script-Kiddies zusammengeschoben wurden und nicht unbedingt viel Sinn ergeben. Lassen Sie sich von solchen Dateien
nicht abschrecken und suchen Sie bitte weiter. Es lohnt sich!
Installation¶
Laden Sie die Installationsdatei hier herunter und führen Sie sie aus. Es erscheint ein Willkommens-Bildschirm mit den ersten wichtigen Hinweisen. Klicken Sie nach dem Schließen der kleinen grauen Box mal auf das grüne Start-Dreieck ganz unten …
Algodoo und InkScape¶
Sobald man komplexe Simulationen erstellen will, stößt man mit den Entwurfstools von Algodoo schnell an Grenzen.
Hier kann InkScape aushelfen.
Diese Erweiterung versetzt InkScape in die Lage, eine
SVG-Datei als PHN-Datei zu speichern, die man dann in Algodoo-Simulationen integrieren kann.
Das Einfügen von derart erzeugten Elementen hat bei mir nicht so funktioniert wie ich das von anderen Phunlets
kannte, da Algodoo dabei eine neue Szene erschuf. Über die Zwischenablage konnte ich die Elemente dann in
die gewünschte Szene übertragen. Man kann Elemente auch direkt von InkScape über die Zwischenablage nach
Algodoo übertragen.
Es macht Sinn, die Objekte in InkScape eher größer zu entwerfen und dann in Algodoo zu verkleinern als umgekehrt.
Bei den so konstruierten 1-kg-Gewichten für das Tafelwaage-Modell trat das Problem auf, dass der Aufdruck
1kg vom Gewicht abfiel, sobald der Gewichtsstein den Boden berührte. Die Lösung:
→ Auswahl → Gruppieren und
→ Geometrieaktionen → Zusammenkleben.
Leider half das nicht, ein weiteres Problem zu lösen: Beim Zusammenstoß der Gewichte mit einem Ballon, der beide verschwinden lassen sollte, verschwand zwar das Gewicht ( (+x) + (-x) = 0 ), die Aufschrift blieb aber zurück.
Neue Lösung: Das InkScape-Gewicht wurde als PNG exportiert, in Algodoo als Textur verwendet und schließlich über → Aussehen → Generiere Geometrie von Textur in ein Algodoo-Element verwandelt.
Scripting¶
in Algodoo ist etwas für Masochisten oder Leute, die sehr viel Zeit und Geduld haben …
Auf dieser Seite
finden Sie eine Zusammenfassung, mit der ich mehrere Tage gekämpft habe, bevor ich die ersten kleinen
Erfolge hatte.
Beispiel für ein Code-Schnipsel für das OnCollide-Ereignis der 1-kg-Gewichtssteine in meinem Waagemodell . Die beiden Bedingungen verhindern, dass die Steine beim Aufsetzen auf die Ebene und/oder eine Waagschale verschwinden. „plane“ ist vordefiniert, die Waagschalen müssen im Scriptmenue die Eigenschaft ›MaterialName = „ws“‹ gesetzt bekommen.
(e)=>{ ((e.other + "") != "plane") && (e.other.materialname != "ws") ? { timeToLive = 0} : {} }
Ebenfalls aus dem Waage-Modell: Die rechte Waagschale übergibt ihre absolute vertikale Auslenkung laufend (›PostStep = ‹) an eine globale Variable, die wiederum von der Anzeige des Gleichgewichtszustands ausgewertet wird.
(e)=>{
scene.my._h = 100 * (pos(1) - 4.98);
(scene.my._h < 0) ? {
scene.my._h = 0 - scene.my._h
} : {}
}
(e)=>{
((scene.my._h >= 25) || (scene.my._h <= -25)) ? {
text = " Waage ist <markup><b>nicht</b></markup> im Gleichgewicht!";
textcolor = [1, 0, 1, 1]
} : {
text = "Waage ist im Gleichgewicht";
textcolor = [1, 1, 1, 1]
}
}
Algodoo und Variable¶
Algodoo unterscheidet zwischen globalen und lokalen Variablen. Auf eine globale Variable kann von jedem Objekt innerhalb einer Szene zugegriffen werden, lokale Variablen sind nur innerhalb des Objekts verfügbar, in dem sie angelegt wurden.
Mit F10 kann eine Konsole aufgeklappt werden, in der man wie in einem DOS-Fenster Eingaben machen kann.
scene.my.variable_1 = 1;
Auf diese Variable kann dann in jedem Objekt zugegriffen werden (man beachte den Vergleichsoperator ==):
(e)=>{
(scene.my.variable_1 == 1) ? {
color = [1.0, 1.0, 1.0, 1.0];
colorhsva = [30.0, 1.0, 0.66666669, 1.0];
weitere_Anweisungen ...;
} : {keine_Anweisung im ELSE-Zweig}
}
Lokale Variable
werden im Script-Menue eines Objekts in der schwarzen Zeile ganz oben eingegeben. Wenn sie mit einem Unterstrich
beginnen, werden sie Teil des Objekts und mitgespeichert.
Anmerkungen¶
Objekte können in Algodoo kopiert/ausgeschnitten und dann als Text in z.B. NotePad wieder eingefügt werden.
Im Textprogramm können Änderungen (z.B. Farbe) vorgenommen werden und dann das Objekt wieder nach Algodoo
zurück gebracht werden.
FFMPEG¶
Ffmpeg ist ein kostenloses Kommandozeilentool und eignet sich hervorragend zur Konvertierung von einem Video-, Audio- oder Bildformat zu einem anderen. Gleichzeitig kann man die Datei auch schneiden.
Infos anzeigen¶
Bevor man ffmpeg sinnvoll auf ein Video ansetzen kann, sollte man sich zunächst ein Bild über den Aufbau desselben machen:
ffmpeg -i Quelldatei.mp4
Videos komprimieren¶
Mein Festplattenrecorder zeichnet Filme im TS-Format auf, was eine ziemliche Platzverschwendung ist, da der Transportstream 1:1 auf der Festplatte abgelegt wird. Eine deutliche Ersparnis bei kaum spürbarer Qualitätseinbuße erreicht man mit dem MKV-Format.
ffmpeg -i Aufnahme.ts Zieldatei.mkv
komprimiert die Aufnahme und spart dabei mehr als 80% Platz. Nicht jeder Fernseher kommt mit dem
MKV-Format klar. Manchmal wird überhaupt nichts angezeigt, manchmal fehlt nur der Ton.
Abhilfe schafft eine weitere Konvertierung in das mp4-Format.
ffmpeg -i input.mp4 -b 2000000 output.mp4
Der Parameter ‚-b 100000000‘ verändert die Bitrate und führt so ggf. zu einer weiteren Platzeinsparung.
Der Wert muss durch Ausprobieren herausgefunden werden und richtet sich u.a. nach dem Inhalt.
Format konvertieren¶
Das zuvor angeführte Beispiel ist eigentlich eine Formatkonvertierung. Ffmpeg erkennt das Format von Quell- und Zieldatei i.d.R. an der Dateierweiterung.
ffmpeg -i Quelldatei.mkv Zieldatei.mp4
Möchte man nur den Ton konvertieren, gelingt die Konvertierung wesentlich schneller mit:
ffmpeg -i Quelldatei.mkv -vcodec copy Zieldatei.mp4
da nur der Sound-Anteil wirklich konvertiert wird. Wichtig: Der Parameter -vcodec muss tatsächlich vor
der Zieldatei stehen.
Weitere Beispiele:
ffmpeg -i Quelldatei.mp4 -vcodec h264 Zieldatei.mp4
hilft, falls die Quelle im h265-Format codiert ist und auf einem Gerät nicht abgespielt werden kann.
Der Sound-Anteil wird in diesem Beispiel nur kopiert.
Musik extrahieren¶
Die Mediatheken vieler Sender bieten Mitschnitte von Konzerten im MP4-Format an. Um die Musik z.B. auch im Auto zu hören, kann man den Audio-Anteil extrahieren:
ffmpeg -i Aufnahme.mp4 Musikanteil.mp3
speichert die Aufnahme im MP3-Format.
Audios schneiden¶
Für eine Demo-Spielfragendatei des neuen Millionärspiels galt es, ein paar Takte eines He*inz Erha*rdt-Songs aus einem Youtube-Filmchen zu extrahieren:
ffmpeg -i lordfort.wav -ss 4.1 -to 28.2 -y fortshort.wav
Videos schneiden¶
Das Schneiden von Videos läuft analog. Anstelle von Sekunden kann man die Zeiten auch in der Form HH:MM:SS angeben:
ffmpeg -i video1.mp4 -ss 4:12 -to 5:24 -y video2.mp4
DVD rippen¶
Eine DVD lässt sich als mp4-Datei auf dem Rechner ablegen, indem man die VOB-Dateien zusammenfügt und das Ergebnis dann konvertiert:
ffmpeg -i concat:"VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB" -c:v libx264 -vf yadif -c:a mp3 output.mp4
ffmpeg -i concat:"VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB" -map 0:1 -map 0:2 -map 0:3 -c:v libx264 -vf yadif -c:a mp3 output.mp4
Streams gezielt auswählen¶
Das Entfernen einer oder mehrerer Audiospuren funktioniert mit:
ffmpeg -i Input.mp4 -map 0:0 -map 0:1 -vcodec mpeg4 -b 1000k -s 640x360 -acodec mp3 -ar 22050 -ab 64k -ac 1 -f avi mr.avi
Der erste Schalter -map 0:0 wählt den Videostream aus, der zweite -map 0:1 den Audiostream.
Tonspur entfernen¶
Das Entfernen einer oder mehrerer Audiospuren funktioniert mit:
ffmpeg -i InputVideo.mp4 -map 0 -map -0:a:0 -codec copy OutputVideo_EINS.mp4 oder
ffmpeg -i InputVideo.mp4 -map 0 -map -0:a:1 -codec copy OutputVideo_EINS.mp4
Die erste Zeile entfernt Audiospur 1, die zweite Audiospur 2.
Tonspur umcodieren¶
Wenn ein Film ohne Ton wiedergegeben wird, kann das daran liegen, dass der benutzte Codec vom Abspielgerät nicht unterstützt wird. Das Umcodieren einer Audiospur funktioniert mit:
ffmpeg -i InputVideo.mp4 -c:a libvorbis -c:v copy OutputVideo_mit_vorbissound.mp4
Der Parameter »-c:a libvorbis« sorgt für die Umcodierung, der Parameter »-c:v copy« kopiert den Videostream.
Untertitel entfernen¶
Das Entfernen aller Untertitel funktioniert mit:
ffmpeg -i InputVideo.mp4 -map 0 -map -0:s -c copy OutputVideo.mp4
Mehrere Sounddateien zusammenführen¶
Mehrere CD-Tracks sollen nacheinander abgespielt werden.
ffmpeg -i "concat:01.MP3|02.MP3|03.MP3" -acodec copy 01-03.mp3
dauert auf einem SSD-Laufwerk nur Sekundenbruchteile.
Weitere Infos und Beispiele¶
20+ FFmpeg-Befehle für Anfänger
Converting FLV to MP4 With FFmpeg The Ultimate Guide
Videohokuspokus mit ffmpeg
Using ffmpeg to manipulate audio and video files
FFmpeg FAQ
AutoHotKey¶
AutoHotkey ist eine freie (Open-Source) Scriptsprache für Microsoft Windows und wurde ursprünglich dafür entwickelt, Tastaturkürzel, Makros etc. für Windows-Anwendungen bereitzustellen. Inzwischen ist daraus ein mächtiges Programmpaket mit vielfältigen Möglichkeiten geworden.
Es erinnert in seiner Benutzung an CMD-Dateien, da auch *.ahk-Dateien aus reinem Text bestehen und mit Doppelklick gestartet werden und dann u.a. Programme ausführen können. Zusätzlich können in den *.ahk-Dateien Tastenanschläge programmiert werden, die nach Programmstart an das aufgerufene Programm übergeben werden.
AutoHotKey installieren¶
Das Programm kann portable installiert werden (z.B. auf einem USB-Stick), muss dann aber händisch mit den *.ahk-Dateien verknüpft werden.
Die normale Installation erledigt das automatisch und ist eigentlich vorzuziehen.
AutoHotKey nutzen¶
Wie AutoHotKey für die Nutzung von Interaktiven Puzzles eingesetzt werden kann,
siehe hier.
Kurze Zusammenfassung: Durch Doppelklick auf eine ahk-Datei wird InkScape gestartet, lädt automatisch
eine bestimmte Datei, verbirgt die Programmoberfläche von InkScape und passt die Bildschirmdarstellung
an die benutzte Auflösung an.
Weitere Infos¶
10+ Cool AutoHotkey Scripts Englischsprachige Seite mit tollen Tipps.
Sumatra PDF¶
Sumatra PDF ist ein sehr schneller Dokumentenbetrachter. Ursprünglich mal zum Anzeigen von PDF-Dateien entstanden, kann das Programm inzwischen eine Vielzahl von Dateitypen öffnen. Ich selbst nutze es inzwischen als Ersatz für den Acrobat-Reader und zur Sichtkontrolle von E-Books.
Da es nur aus einer ausführbaren Datei besteht, eignet es sich für den portablen Einsatz. Mithilfe von Wine soll es auch unter Linux laufen.
Einstellungen¶
Epubs werden mit einer sehr kleinen Schriftart angezeigt, die sich weder mit einer
Tastenkombination noch durch einen Menüpunkt ändern lässt. [Strg-W] schließt die gerade
angezeigte Datei und zeigt einen kleinen Kasten mit einigen Links.
Dort findet sich der Hinweis auf eine Datei ›SumatraPDF-settings.txt‹, in der einige
Einstellungen vorgenommen werden können, u.a. die Schriftart und -größe.
c’t-WIMage¶
Sicherungen des eigenen PCs sind lästig, oft kompliziert und werden daher in aller Regel viel zu selten angefertigt.
Es geht aber auch anders:
Die Zeitschrift c’t hat in der Ausgabe 10/2021 eine neue Version eines schon 2015 vorgestellten
Sicherungskonzepts veröffentlicht. Es basiert auf dem Microsoft-Media-Creation-Tool, einer beim Heise-Verlag
runterladbaren ZIP-Datei und einer USB-Festplatte.
c’t-WIMage erzeugt beim Backup aus der Systempartition Ihres Rechners einfach eine extrem komprimierte Datei Install.wim. Diese selbst erzeugte Datei ersetzt die gleichnamige Datei, die vom Media-Creation-Tool auf der USB-Platte zur Installation eines frischen Windows abgelegt wurde.
Nach einem Gau installiert man damit Windows einfach neu und hat danach sofort seine komplette Windows-Installation wieder - mitsamt allen Programmen, Einstellungen, Rechten etc. !
Da bei der Erstellung des Installationsmediums die originale Windows-DVD eingebunden wird, gelingt diese Neuinstallation auf beliebiger (windows-kompatibler) Hardware, so dass man c’t-WIMage auch gut zum ›Umziehen‹ auf einen neuen Rechner einsetzen kann.
Beim ersten Sicherungslauf hat mich die ›Geschwindigkeit‹ etwas irritiert. Über längere Zeit (Stunden!) tat
sich nichts in der Anzeige! Da ich in der Zwischenzeit meine normale Arbeit am Rechner aber fortsetzen konnte,
habe ich nicht abgebrochen und irgenwann ging es auch weiter.
Man kann die Sicherungsgeschwindigkeit (dramatisch!) erhöhen, indem man vor dem Start der Sicherung der Echtzeitschutz
des Windows-Defenders ausschaltet.
Eine ›Neuinstallation‹ meines ersten Backups auf einer alten SSD gelang in kurzer Zeit ohne Probleme.
Durch die wirklich trickreiche Komprimierung wächst die Datei install.wim bei späteren Sicherungen immer nur geringfügig.
Nicht unerwähnt bleiben sollte, dass sich c’t-WIMage nur um die Systempartition kümmert. Für die Sicherung der Daten (außer denen auf der Systempartition) muss man weiterhin selbst sorgen.
Nach einem Restore verliert MS-Office 2010 (andere Versionen habe ich nicht getestet) seine Aktivierung.
Unter https://www.youtube.com/watch?v=pPIBsyQjSiE erklärt jemand, wie man das erfolgreich wieder ändert.
Die Schritte:
- Alle Office Programme schließen.
- Die Datei c:ProgrammeCommon Filesmicrosoft sharedOfficeSoftwareProtectionPlatformOSPPREARM.exe als Administrator ausführen.
Wenn die Backupliste nach häufigem Sichern langsam unübersichtlich wird, kann man sie einfach umbenennen in z.B. Backupliste_JJJMM.txt. Gleichzeitig sollte die Datei install.wim im Ordner sources entsprechen umbenannt werden. Beide werden beim nächsten Sichern automatisch neu angelegt.
Stereogramme¶
Erinnern Sie sich noch an die Bilder, bei denen sich nach längerer (oder geübter) Betrachtung
einer ‚wuseligen‘ Vorlage urplötzlich ein 3d-Bild zeigte? Dann sollten Sie
mal hier einen Klick riskieren und vielleicht gelingt es Ihnen
auch nach kurzer Zeit, selbst so ein Stereogramm zu erzeugen.
Sie müssen dazu nichts auf dem Rechner installieren, es genügt, online ein paar Häkchen zu setzen oder zu löschen
und ein paar weitere Vorgaben zu setzen oder zu verändern.
Noch einfacher geht es hier . Nach nur drei Klicks laden Sie Ihr
erstes Stereogramm als png-Datei herunter. Die vielen Einstell-Möglichkeiten der ersten Seite fehlen hier aber.
Wie entsteht der 3d-Eindruck¶
Da unsere Augen einen gewissen horizontalen Abstand haben, sieht jedes Auge einen Gegenstand unter einem anderen
Blickwinkel. Kneifen Sie mal nacheinander jeweils ein Auge zu, während Sie eine Tasse o.ä. auf dem Tisch
betrachten. In unserem Gehirn verschmelzen die beiden unterschiedlichen Bilder zu einem 3d-Bild.
Je näher der Gegenstand den Augen kommt, desto mehr ‚schielt‘ man, damit jedes Auge richtig auf den Gegenstand
ausgerichtet ist.
Schon früh nach der Erfindung der Fotografie gab es ‚Stereo-Bilder‘, die einen räumlichen Eindruck vermittelten,
obwohl sie vollkommen flach waren. Der Trick bestand darin, dass die Aufnahmen mit zwei Kameras aufgenommen
wurden, deren Objektive einen gewissen horizontalen Abstand voneinander hatten. Durch eine besondere Vorrichtung
wurde jedem Auge nur eines der beiden Bilder gezeigt.
Dennoch stellt sich der 3d-Effekt nicht bei jedem Betrachter ein, jedenfalls nicht sofort, denn man muss den Augen
das beim Nahsehen gewohnte Schielen abtrainieren.
Gleiches gilt beim Betrachten von Stereogrammen, bei denen die beiden Teilbilder nicht nebeneinander liegen, sondern
miteinander vermischt sind.