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 sehe deutlich weniger Werbung beim Stöbern auf YouTube.

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. (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.

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.

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

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.
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.

Stereogramme

l24/boerse.pic/wwm20b.gif

Erinnern Sie sich noch an dieses oder ähnliche 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

Eigene 3d-Vorlagen