Ich finde ja die kleinen Skripte tatort-dl (für die ARD-Mediathek), zdf-dl und auch youtube-dl recht praktisch um schnell Videos aus Mediatheken oder YouTube auf die Platte zu bannen. So kann man sie bequem in einem Medienplayer anschauen, ohne dass es dank Flash ruckelt und hat mehr Komfort, weil man z.B. über eine Fernbedienung auch mal ein Päuschen einlegen kann. Allerdings kommt es vor, dass YouTube sein Streaming-Verfahren änder, so dass youtube-dl nicht mehr funktioniert. Was ich nicht wusste: Die Anwendung hat einen Update-Mechanismus eingebaut, der das kleine Tool schnell wieder auf Vordermann bringt.

Der Tipp stammt von Karten von Linuxfiles.de und steht auch im Wiki von ubuntuusers.de, an mir ist er allerdings bislang komplett vorbeigegangen. Mir fehlt eigentlich nur noch eine Art unp für die Mediathek-Downloader, so dass man mit einem Befehl sämtliche Mediatheken erschlägt, wobei das mit ein bisschen Shell-Magie eigentlich schnell umgesetzt wäre. Allerdings lade ich nun wieder auch nicht sooo oft irgendwelche Videos runter.

Youtube-dl will nicht mehr

$ youtube-dl http://www.youtube.com/watch?v=EXB0WboeELM
[youtube] Setting language
[youtube] EXB0WboeELM: Downloading video webpage
[youtube] EXB0WboeELM: Downloading video info webpage
[youtube] EXB0WboeELM: Extracting video information
ERROR: unable to download video

Anwendung aktualisieren

$ sudo youtube-dl -U
Updating to latest version...
Updated youtube-dl. Restart youtube-dl to use the new version.

Und schon klappts wieder

$ youtube-dl http://www.youtube.com/watch?v=EXB0WboeELM
[youtube] Setting language
[youtube] EXB0WboeELM: Downloading video webpage
[youtube] EXB0WboeELM: Downloading video info webpage
[youtube] EXB0WboeELM: Extracting video information
[download] Destination: EXB0WboeELM.flv
[download] 24.3% of 18.74M at 1.27M/s ETA 00:11

10 Kommentare

    • Hallo Alex, du rufst ein Programm mit Root-Rechten auf, das etwas aus dem Internet lädt und in dein System schiebt. Die Sicherheit könnte insofern besser sein, dass urllib keine Signaturen prüft und auch nach dem Download kein Check eingebaut wurde, ob die neue Datei auch wirklich vom Entwickler stammt, dafür müsste aber dessen GitHub-Account manipuliert werden.

      UPDATE_URL = 'https://raw.github.com/rg3/youtube-dl/master/youtube-dl'
      
      [...]
      
      def updateSelf(downloader, filename):
      	''' Update the program file with the latest version from the repository '''
      	# Note: downloader only used for options
      	if not os.access(filename, os.W_OK):
      		sys.exit('ERROR: no write permissions on %s' % filename)
      
      	downloader.to_screen(u'Updating to latest version...')
      
      	try:
      		try:
      			urlh = urllib.urlopen(UPDATE_URL)
      			newcontent = urlh.read()
      			
      			vmatch = re.search("__version__ = '([^']+)'", newcontent)
      			if vmatch is not None and vmatch.group(1) == __version__:
      				downloader.to_screen(u'youtube-dl is up-to-date (' + __version__ + ')')
      				return
      		finally:
      			urlh.close()
      	except (IOError, OSError), err:
      		sys.exit('ERROR: unable to download latest version')
      
      	try:
      		outf = open(filename, 'wb')
      		try:
      			outf.write(newcontent)
      		finally:
      			outf.close()
      	except (IOError, OSError), err:
      		sys.exit('ERROR: unable to overwrite current version')
      
      	downloader.to_screen(u'Updated youtube-dl. Restart youtube-dl to use the new version.')
      
    • Wahrscheinlich benutzt du ffmpeg zum encodieren? Dem ffmep fehlen bei vielen Versionen ganz einfach die passenden codecs.

      Für mich hat

      sudo apt-get install ubuntu-restricted-extras

      das Problem gelöst. Dabei wurde allerdings jede Menge instaliert, das ich wahrscheinlich nie brauchen werde. In einem anderen Thread fand ich, dass ein Paket mit dem namen libavcodec-unstripped-52 benötigt wird. Das Paket allerdings war für mein Ubunti 12.04 LTS nicht verfügbar. Der Befehl oben installiert allerdings auch ein Paket libavcodec-extra-53.

      Versuch mal vorher, ob zur Lösung des Problems auch ein

      sudo apt-get install libavcodec-extra-53

      ausreicht

  1. Hallo Christoph,
    bitte um Hilfe. Ich bekomme folgdende Falschmeldung, nachdem ich yt-dl deinstalliert und nach den Angaben im wiki manuell neu installiert habe. Danke für einen Tipp!

    $ youtube-dl https://www.youtube.com/watch?v=v1pZgrk_WCw
    /usr/local/bin/youtube-dl: Zeile 1: Syntaxfehler beim unerwarteten Wort »newline«
    /usr/local/bin/youtube-dl: Zeile 1: `'
  2. Hallo
    Hatte mir youtube-dl installiert und freute mich schon. Leider funktioniert es nicht. youtube-dl kann kein Kommando finden. /usr/local/bin/youtube-dl 302: kein Kommando. Hab es jetzt wieder deinstalliert.
    Wäre ja schön, wenn es endlich mal ein youtube-dl gibt welches funktioniert.
    Mein System Linux Mint 18.1 64bit

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein