mps-youtube
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
mps-youtube 🇬🇧 ist ein in Python geschriebenes Kommandozeilenwerkzeug, welches Audio- und Video-Streams von YouTube 🇩🇪 in Video-Playern wie mpv, MPlayer oder VLC abspielen sowie ansonsten auch herunterladen kann.
Weitere Funktionen sind:
die Suche nach Album-Stücken per Album-Titel
Suchen nach sowie der Import von YouTube-Wiedergabelisten
das Erstellen sowie Speichern von lokalen Wiedergabelisten
das Umwandeln nach MP3 oder anderen Formaten (erfordert FFmpeg bzw. Archiv/avconv (aus dem Archiv/Libav-Projekt))
sowie das Ansehen von Video-Kommentaren
Alternative Programme sind in den Artikeln Streaming und Streams speichern zu finden.
Installation¶
Voraussetzungen¶
Das Programm benötigt Python und pip (beide in Version 3.x) und Archiv/Libav oder FFmpeg (konkret die Kommandozeilenprogramme avconv
und avprobe
bzw. ffmpeg
und ffprobe
). Diese Abhängigkeiten waren bei Ubuntu in der Vergangenheit bereits vorinstalliert. Leider trifft das bei Ubuntu 14.04 nicht mehr zu. Zum einen ist FFmpeg vorübergehend aus den offiziellen Paketquellen entfernt worden und steht erst ab Ubuntu 15.04 wieder zur Verfügung, zum anderen ist Libav nicht vorinstalliert. Zusammen mit anderen benötigten Abhängigkeiten (unter anderem für MPRIS2 🇬🇧-Unterstützung) sollte man daher zuerst die folgenden Pakete installieren [1]:
libav-tools (nur für Ubuntu 14.04 als Ersatz für ffmpeg, in universe, siehe aber auch den Abschnitt Problembehebung)
python3-pkg-resources
libnotify4
python3-dbus
python3-gi
xclip (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install libav-tools python3-pkg-resources libnotify4 python3-dbus python3-gi xclip
Oder mit apturl installieren, Link: apt://libav-tools,python3-pkg-resources,libnotify4,python3-dbus,python3-gi,xclip
Um URLs von angezeigten mps-youtube-Ergebnis-Listen in die Zwischenablage kopieren zu können, muss man sich das Python-Modul pyperclip
selbst installieren [2] (siehe auch den Abschnitt Bedienung aus dem Programm heraus).
Hinweis!
Fremdsoftware kann das System gefährden.
Außerdem wird eindringlich die Installation des Python-Modules youtube_dl
empfohlen [2], da ansonsten das Abspielen bzw. Herunterladen von Audios bzw. Videos über das interne Backend nicht funktionieren könnte (siehe auch den Abschnitt youtube-dl-Fehler)!
Hinweis!
Fremdsoftware kann das System gefährden.
Außerdem wird ein Programm für die Medienwiedergabe benötigt. mpv ist bei mps-youtube voreingestellt, Alternativen wären z.B. MPlayer, SMPlayer, VLC, Dragon Player, Totem sowie GNOME MPlayer. mplayer2 ist bei Ubuntu 14.04 vorinstalliert.
pip-Paket¶
Das mps-youtube-Projekt 🇬🇧 empfiehlt die Installation via Python-Modul mps-youtube
[2].
Hinweis!
Fremdsoftware kann das System gefährden.
Benutzung¶
Die Benutzung des Programmes erfolgt über die Kommandozeile [3]. Neben den in den beiden nachfolgenden Tabellen aufgeführten Hilfe-Möglichkeiten gibt es auch die offizielle Dokumentation 🇬🇧.
Für Konfigurations-Möglichkeiten des Programmes siehe den Abschnitt Konfiguration.
Man kann mps-youtube entweder mit mpsyt
starten und dann aus dem Programm heraus weiter bedienen oder aber Aufrufe direkt von der Kommandozeile aus tätigen. Das Beenden geht in beiden Fällen mit
Q . Für die zweitgenannte Bedienmöglichkeit sind nachfolgend einige Beispiele aufgeführt:
Beispiele für Aufrufe direkt von der Kommandozeile aus | |||
Kommando | Erklärung | ||
mpsyt -h | den ausführlichen Hilfe-Text aufrufen | ||
mpsyt dlurl <url or id> | ein YouTube-Video herunterladen, entweder durch Angabe der vollen Internet-Adresse oder der YouTube-ID | ||
mpsyt playurl <url or id> | dito ein YouTube-Video abspielen | ||
mpsyt /mozart | nach Ergebnissen mit dem Begriff "mozart" (groß oder klein geschrieben) suchen | ||
mpsyt //best songs of 2010 | nach YouTube-Wiedergabelisten suchen die "best songs of 2010" enthalten | ||
mpsyt play <playlist name or ID> | eine lokale Wiedergabeliste abspielen, entweder durch Angabe des Wiedergabelisten-Namens oder der Wiedergabelisten-ID | ||
mpsyt lsFormatierter Text | lokale Wiedergabelisten auflisten | ||
Für weitere Automation kann eine Serie von Kommandos, welche durch Kommata (, ) voneinander abgetrennt werden, eingegeben werden: | |||
mpsyt open 1, 2-4 | die Einträge 2-4 der ersten lokalen Wiedergabeliste abspielen | ||
mpsyt //the doors, 1, all -a | nach YouTube-Wiedergabelisten suchen die "the doors" enthalten und von der ersten aufgefundenen alle Einträge abspielen, jedoch lediglich den Ton | ||
Falls man auf der Kommandozeile ein tatsächliches Komma eingeben möchte, so nimmt man statdessen ,, |
Bedienung aus dem Programm heraus¶
Der Aufruf von mpsyt liefert im Terminal einen interaktiven Prompt zurück, über den man mit dem Programm interagieren kann.
Man stellt den Such-Begriffen ein /
oder .
voran, z.B. /pink floyd
um nach Ergebnissen mit dem Begriff "pink floyd" (groß oder klein geschrieben) zu suchen oder dito //pink floyd
für dessen YouTube-Wiedergabelisten.
Dann, wenn Such-Ergebnisse angezeigt werden:
Optionen | |
Option | Bedeutung |
H | kurze Übersicht der Hilfe-Themen anzeigen, wovon man dann eines durch Eingabe des entsprechenden der aufgeführten Begriffe genauer angezeigt bekommt |
n und p | Suche fortsetzen nach der nächsten / vorhergehenden Ergebnis-Seite |
p <Nummer> | zur Ergebnis-Seite <Nummer> springen |
<Nummer(n)> | Abspielen von ausgewählten Eintra(e)g(en), welche durch Kommata (, ) voneinander abgetrennt werden; z.B. 1-3,5 gibt die Einträge 1, 2, 3 und 5 wieder; zum jeweils nächsten Eintrag springt man, indem man das Player-Fenster schließt bei YouTube-Wiedergabelisten geht nur jeweils eine Nummer und zeigt dann die in der jeweiligen Wiedergabeliste befindlichen Einträge an |
all oder * | alle angezeigten Einträge abspielen |
repeat <Nummer(n)> | Abspielen und Wiederholen von ausgewählten Eintra(e)g(en)... |
shuffle <Nummer(n)> | Abspielen von ausgewählten Eintra(e)g(en) in zufälliger Reihenfolge |
i <Nummer> | Informationen zum Video bzw. zur YouTube-Wiedergabeliste <Nummer> ansehen |
c <Nummer> | Kommentare zum Video <Nummer> ansehen |
d <Nummer> | verfügbare Download-Möglichkeiten (Qualitäten) für Eintrag <Nummer> anzeigen und danach aus den dann angezeigten Qualitäten eine Nummer zum Herunterladen auswählen (mit
⏎ kommt man zurück zur Ergebnisliste). Falls als selbige eine vom Typ "video" in der Spalte "Media" genommen wird, gibt das Programm eine Warnung aus: "Warning - the filetype you selected (mp4) has no audio! – Select [1-5] to mux audio or [Enter] to download without audio – This feature is experimental!" Dann muss man entweder mit
⏎ das Video ohne Ton herunterladen oder aber aus den angebotenen Audio-Dateien eine auswählen, am Besten die mit dem höchsten k -Wert in der Spalte "Quality". Danach werden wieder die ursprünglichen Such-Ergebnisse angezeigt, und darunter steht der Abspeicherort samt Namen: Saved to : ... Falls diese Datei jedoch 0 Bytes groß sein sollte, wiederholt man die Prozedur mit d <Nummer> und wählt aus den angebotenen Audio-Dateien eine Qualitäts-Stufe schlechter usw. bis die abgespeicherte Datei größer als 0 Bytes ist! ⇒ Siehe dazu auch den Absatz mit den nicht-kompatiblen Video- und Audio-Formaten im Abschnitt Unterschiedliche Video-Qualitäten. ⇒ Mit
A bis
Z kommt man wieder zurück zur Ergebnisliste, und es wird No download selected / invalid input ausgegeben. |
dv <Nummer(n)> | Herunterladen der jeweiligen bestmöglichen Qualitäts-Stufe (Video & Audio vom Typ "normal" in der Spalte "Media") von ausgewählten Eintra(e)g(en) analog zum Tabellen-Eintrag <Nummer(n)> ; wobei bei mehreren Einträgen der erste, falls hinter ihm ein Komma kommt, dieser nur einstellig sein darf! |
da <Nummer(n)> | dito von dv <Nummer(n)> ; es wird die bestmögliche "DASH audio"-Spur ausgewählt |
r <Nummer> | Videos ähnlich zum Video <Nummer> anzeigen |
u <Nummer> | Videos anzeigen, die von derjenigen Person hochgeladen wurden, welche auch Video <Nummer> hochgeladen hat |
x <Nummer> | kopiert die URL des Eintrages <Nummer> in die Zwischenablage (diese Funktion benötigt die Installation des Python-Modules pyperclip 🇬🇧, siehe auch den Abschnitt Voraussetzungen) |
save oder save <Name> | die angezeigten Einträge als eine lokale Wiedergabeliste abspeichern, falls kein Name angegeben wird, werden die ersten 18 Buchstaben des ersten angezeigten Eintrages als Name verwendet |
open <Name oder ID> | eine lokale Wiedergabeliste als die momentane Wiedergabeliste öffnen, entweder durch Angabe des Wiedergabelisten-Namens oder der Wiedergabelisten-ID |
Q | mps-youtube beenden |
Konfiguration¶
mps-youtube kennt einige Konfigurationsmöglichkeiten welche man – am Besten aus dem Programm heraus – nach dem Muster set <Schlüssel> <Wert>
vornimmt. Besonders relevant sind hierfür wohl die Schlüssel player
, overwrite
und show_video
. Die nachfolgende Tabelle gibt über deren sowie die Bedeutung von anderen Schlüsseln Aufschluss:
Konfigurations-Optionen | |
Einstellung | Erklärung |
set | die derzeitige Konfiguration anzeigen |
set <Schlüssel> default | den angegebenen Schlüssel auf seinen Standard-Wert zurücksetzen |
set all default | alle Standard-Werte setzen |
true|false | Wert ist "Ein" bzw. "Aus" ("wahr"|"falsch"); stattdessen geht auch 1|0 |
set checkupdate true|false | Vor Verlassen nach Programm-Aktualisierungen suchen |
set columns <columns> | Extra-Spalten in den Suchergebnissen anzeigen; möglich sind views für Aufrufe, comments für die Anzahl der Kommentare, rating für Bewertung, date für Datum, user für den Benutzer welcher das Video eingestellt hat, likes für Anzahl von "Mag ich", dislikes für Anzahl von "Mag ich nicht" sowie category für die Kategorie |
set ddir <download direcory> | das Verzeichnis, in das heruntergeladen wird, einstellen |
set download_command <command> | der Befehl help dl-command zeigt nähere Infos an |
set encoder <number> | einen voreingestellten Encoder für Download-Dateien wählen |
set fullscreen true|false | bei den Playern MPlayer und mpv die Vollbildvideoausgabe einstellen |
set max_res <number> | Abspielen bzw. Herunterladen von maximalem Wert der Höhe der Videoauflösung |
set notifier <notifier app> | bei jedem neuen Lied-Titel eine bestimmte Benachrichtigungsanwendung aufrufen |
set order <relevance|date|views|rating> | die Sortierung der Such-Ergebnisse |
set user_order <<nothing>|relevance|date|views|rating> | die Sortierung der Ergebnisse der Benutzer-Hochlade-Listen; freilassen um dasselbe einzustellen wie bei "set order" |
set overwrite true|false | beim Herunterladen bereits existierende gleichnamige Dateien überschreiben; Abbrechen bei false |
set player <player app> | zur Wiedergabe eine bestimmte Anwendung wählen |
set playerargs <args> | die angegebenen Argumente zusammen mit dem Player benutzen |
set search_music true|false | suche nur nach "Musik" (alle Kategorien bei false ) |
set show_mplayer_keys true|false | Tastatur-Hilfe bei MPlayer und mpv anzeigen |
set show_status true|false | Status- und Fortschritts-Meldungen anzeigen |
set show_video true|false | die Video-Ausgabe anzeigen; nur Audio bei false |
set window_pos <top|bottom>-<left|right> | die Position des Player-Fensters; "<oben|unten>-<links|rechts>" |
set window_size <number>x<number> | die Breite und Höhe des Player-Fensters |
set audio_format <auto|m4a|webm> | das voreingestellte Audio-Format der Musik |
set api_key <key> | eine andere Programmierschnittstelle für den Zugriff auf die YouTube Data API benutzen |
Tipps für Fortgeschrittene¶
-w
,-f
oder-a
können nach Belieben benutzt werden, um die jeweiligen voreingestellten Werte außer Kraft zu setzen und damit Einträge im Fenster-, Vollbild- oder Audio-Modus abzuspielen; z.B.1-4 -a
wenn Extra-Spalten mit dem
set columns
-Kommando gesetzt werden, kann man ":N" anhängen um die Weite zu bestimmen; z.B.set columns date views user:17 likes
wenn man
open
,view
oderplay
benutzt, um auf eine lokale Wiedergabeliste zuzugreifen, braucht man anstelle des ganzen Namens lediglich die ersten paar Buchstaben einzutippenman kann
5-
eintippen, um Einträge 5 und oberhalb auszuwählen sowie-5
für 5 und darunter. Dies kann zusammen mit anderen Auswahlen benutzt werden; z.B.5,3,7-,-2
auch kann man Leerstellen anstatt Kommas benutzen; z.B.
5 3 7- -2
umgekehrte Bereiche gehen auch; z.B.
5-2
dump
zeigt den gesamten Inhalt einer geöffneten YouTube-Wiedergabeliste an (nützlich zum Abspielen oder Speichern von vollständigen Wiedergabelisten;undump
zum Rückgängig-Machen)set player mpv
oderset player mplayer
– ändert die Player-Anwendungman kann
1
und0
oder anstelle vontrue
undfalse
benutzen beimset
-Kommando
Problembehebung¶
Siehe auch die Abschnitte Voraussetzungen und Installation!
youtube-dl-Fehler¶
Falls beim Programmstart von mps-youtube (kurz) die folgende Warnung erscheint:
WARNING:root:pafy: youtube-dl not found; falling back to internal backend. This is not as well maintained as the youtube-dl backend. To hide this message, set the environmental variable PAFY_BACKEND to "internal".
dann kommt das daher, dass man youtube-dl entweder überhaupt nicht oder nicht via pip, sondern über die offiziellen Paketquellen 🇬🇧 oder manuell installiert hat.
In diesen Fällen befindet sich zwar dessen Binärdatei in /usr/bin/, ~/.bin/, ~/bin/ bzw. /usr/local/bin/ , es fehlt jedoch ein entsprechender Eintrag in einem der Python-Modul-Verzeichnisse /usr/lib/python3.VERSION/dist-packages/ bzw. /usr/local/lib/python3.VERSION/dist-packages/.
python3-pafy 🇬🇧 bzw. pafy 🇬🇧 bemerkt, wenn sich das Python-Modul von youtube-dl nicht in einem der vorstehend aufgeführten Verzeichnisse befindet. In diesem Fall schaltet pafy
um auf das interne Backend, worüber jedoch das Abspielen bzw. Herunterladen von Audios bzw. Videos häufig nicht funktioniert!
Abhilfe kann adurch geschaffen werden, dass man sich via pip das Python-Modul youtube_dl
installiert [2].
Hinweis!
Fremdsoftware kann das System gefährden.
Ubuntu 14.04¶
Wenn bei Ubuntu 14.04 die folgenden Fehler bzw. Warnungen herausgegeben werden:
"ERROR: ffprobe or avprobe not found. Please install one."
WARNING: Your copy of avconv is outdated and unable to properly mux separate video and audio files, youtube-dl will download single file media. Update avconv to version 10-0 or newer to fix this.
so sollte man zunächst den im FFmpeg-Abschnitt Ubuntu 14.04 aufgeführten Symlink löschen und außerdem das Paket libav-tools (siehe Archiv/Libav) deinstallieren [1]. Danach installiert man FFmpeg entweder Aus dem Quellcode oder über die Linux Static Builds.
Links¶
Intern¶
Streaming Grundlegendes zum Thema; Audio- und Videostreams mit Browser-Plugins oder eigenständigen Programmen abspielen
Streams speichern Übersichtsartikel
Internetradio Übersichtsartikel
Internet-TV Übersichtsartikel
Extern¶
Projektseite 🇬🇧
Getting Warning:youtube-dl not found #154 🇬🇧 – Thread bei GitHub