Puoi scaricare video e / o solo l'audio e poi guardarli / ascoltarli usando youtube-dl
. La sceneggiatura è scritta in Python e ffmpeg
ci credo.
$ 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)
...
...
Per scaricare video, devi semplicemente assegnargli l'URL dalla pagina in cui desideri che il video e lo script faccia il resto:
$ 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
È quindi possibile utilizzare vlc
o mplayer
per guardare questi localmente:
$ 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, ma voglio guardare questi video mentre sono trasmessi in streaming e in ASCII
Ho trovato questo articolo del blog intitolato: su ascii, youtube e lasciarsi andare che dimostra il metodo che ho discusso nella chatroom, principalmente usando youtube-dl
come "backend" che potrebbe fare il download del flusso di YouTube e quindi reindirizzarlo su qualche altra app.
Questo articolo mostra che è stato fatto con mplayer
:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa -monitorpixelaspect 0.5 -
Il video è stato scaricato dal youtube-dl
viene reindirizzato tramite STDOUT sopra, -o -
. C'è una demo dell'effetto qui .
Con l'installazione di librerie aggiuntive è possibile migliorare ulteriormente il video ASCII.
OK ma voglio il video nel mio vero terminale?
Ho trovato questo trucco che consente di riprodurre il video in un articolo xterm
di O'Reilly intitolato: Guarda i video in ASCII Art .
$ xterm -fn 5x7 -geometry 250x80 -e "mplayer -vo aa:driver=curses j.mp4
Quanto sopra si traduce in una xterm
finestra aperta in cui viene riprodotto il video.
Quindi ho pensato, perché non unire il burro di arachidi e il cioccolato in questo modo:
$ xterm -fn 5x7 -geometry 250x80 -e \
"youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa:driver=curses -"
Questo funziona quasi! Non sono sicuro del motivo per cui il video non può essere riprodotto nella finestra, ma sembra che dovrebbe essere in grado di farlo. La finestra si apre e inizia a suonare ma poi si chiude. Vedo il video per alcuni secondi e poi niente.
Forse quanto sopra ti avvicinerà alla tua soluzione definitiva, o forse deve solo essere modificato un po 'sulle opzioni.
Biblioteche aggiuntive
Se hai libcaca
installato (la versione colorata di aalib
) e riduci la dimensione del carattere in gnome-terminal
qualcosa di veramente piccolo, come dire 3, il seguente comando mostrerà un video ASCII molto più bello direttamente all'interno del terminale:
$ CACA_DRIVER=ncurses mplayer -vo caca video.mp4
terminali
Sembrerebbe che la scelta del terminale possa fare molto se è mplayer
possibile giocare direttamente all'interno del terminale o se apre una finestra separata. Anche la memorizzazione nella cache ha mplayer
fatto la differenza nel poter giocare direttamente nei propri terminali.
Usando questo comando sono stato in grado di riprodurre terminator
, almeno per il primo 1/4 del video prima del taglio:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -cache 32767 -vo aa:driver=curses -
La versione colorata utilizzava questo comando:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
CACA_DRIVER=ncurses mplayer -cache 64000 -vo caca -
Questi stessi comandi potrebbero essere riprodotti anche in gnome-terminal
& xterm
.
NOTA: Questo è (da sinistra a destra) xterm
, terminator
, gnome-terminal
, e terminology
.