Sie können Videos und / oder nur die Audiodateien herunterladen und diese dann mit ansehen / anhören youtube-dl
. Das Skript ist in Python geschrieben und bedient sich ffmpeg
meines Erachtens.
$ youtube-dl --help
Usage: youtube-dl [options] url [url...]
Options:
General Options:
-h, --help print this help text and exit
--version print program version and exit
-U, --update update this program to latest version.
Make sure that you have sufficient
permissions (run with sudo if needed)
...
...
Um Videos herunterzuladen, geben Sie einfach die URL der Seite ein, auf der Sie das Video haben möchten, und das Skript erledigt den Rest:
$ youtube-dl https://www.youtube.com/watch?v=OwvZemXJhF4
[youtube] Setting language
[youtube] OwvZemXJhF4: Downloading webpage
[youtube] OwvZemXJhF4: Downloading video info webpage
[youtube] OwvZemXJhF4: Extracting video information
[youtube] OwvZemXJhF4: Encrypted signatures detected.
[youtube] OwvZemXJhF4: Downloading js player 7N
[youtube] OwvZemXJhF4: Downloading js player 7N
[download] Destination: Joe Nichols - Yeah (Audio)-OwvZemXJhF4.mp4
[download] 100% of 21.74MiB in 00:16
Sie können diese dann lokal mit vlc
oder mplayer
ansehen:
$ vlc "Joe Nichols - Yeah (Audio)-OwvZemXJhF4.mp4"
VLC media player 2.1.5 Rincewind (revision 2.1.4-49-gdab6cb5)
[0x1cd1118] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
OK, aber ich möchte diese Videos als Stream & in ASCII ansehen
Ich fand diesen Blog-Artikel mit dem Titel: Auf ASCII, Youtube und Loslassen , der die Methode demonstriert, die ich im Chatroom besprochen habe, hauptsächlich youtube-dl
als "Backend", das das Herunterladen des YouTube-Streams und die Weiterleitung zu einer anderen App ermöglicht.
Dieser Artikel zeigt, wie es gemacht wird mit mplayer
:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa -monitorpixelaspect 0.5 -
Das von heruntergeladene Video youtube-dl
wird über STDOUT weitergeleitet -o -
. Hier gibt es eine Demo des Effekts .
Durch die Installation zusätzlicher Bibliotheken kann das ASCII-Video weiter verbessert werden.
OK, aber ich möchte das Video in meinem aktuellen Terminal?
Ich habe diesen Trick gefunden, mit dem Videos in einem xterm
der folgenden O'Reilly- Artikel abgespielt werden können : Videos in ASCII Art ansehen .
$ xterm -fn 5x7 -geometry 250x80 -e "mplayer -vo aa:driver=curses j.mp4
Das obige führt dazu, dass ein xterm
Fenster geöffnet wird, in dem das Video abgespielt wird.
Also dachte ich mir, warum man die Erdnussbutter und die Schokolade nicht so zusammensetzt:
$ xterm -fn 5x7 -geometry 250x80 -e \
"youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa:driver=curses -"
Das funktioniert fast! Ich bin nicht sicher, warum das Video nicht im Fenster abgespielt werden kann, aber es scheint, als ob dies möglich wäre. Das Fenster öffnet sich und beginnt zu spielen, schließt sich aber wieder. Ich sehe Video für ein paar Sekunden und dann nichts.
Vielleicht bringt Sie das Obige näher an Ihre endgültige Lösung, oder vielleicht müssen Sie die Optionen nur ein wenig anpassen.
Zusätzliche Bibliotheken
Wenn Sie libcaca
(die kolorierte Version von aalib
) installiert haben und die Schriftgröße in Ihrer gnome-terminal
auf etwas wirklich Kleines reduzieren , wie z. B. 3, zeigt der folgende Befehl ein viel besser aussehendes ASCII-Video direkt im Terminal an:
$ CACA_DRIVER=ncurses mplayer -vo caca video.mp4
Terminals
Es scheint, dass die Wahl des Terminals eine große Rolle spielt, ob mplayer
es direkt im Terminal abgespielt werden kann oder ob es ein separates Fenster öffnet. Auch das Cachen auf mplayer
machte einen dramatischen Unterschied, wenn es darum ging, direkt in einem Terminal zu spielen.
Mit diesem Befehl konnte ich terminator
zumindest das erste Viertel des Videos vor dem Ausschneiden abspielen :
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -cache 32767 -vo aa:driver=curses -
Die farbige Version verwendete diesen Befehl:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
CACA_DRIVER=ncurses mplayer -cache 64000 -vo caca -
Dieselben Befehle könnten auch in gnome-terminal
& xterm
abgespielt werden.
HINWEIS: Das ist (von links nach rechts) xterm
, terminator
, gnome-terminal
, und terminology
.