Puede descargar videos y / o solo el audio y luego verlos / escucharlos usando youtube-dl
. El script está escrito en Python y hace uso de ffmpeg
creo.
$ 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)
...
...
Para descargar videos, simplemente dele la URL de la página en la que desea el video y el script hace el 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
Luego puede usar vlc
o mplayer
para verlos 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, pero quiero ver estos videos mientras se transmiten y en ASCII
Encontré este artículo del blog titulado: En ascii, youtube y dejarlo ir, eso demuestra el método que discutí en la sala de chat, principalmente youtube-dl
como el "backend" que podría descargar el flujo de YouTube y luego redirigirlo a alguna otra aplicación.
Este artículo muestra que se está haciendo con mplayer
:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa -monitorpixelaspect 0.5 -
El vídeo está descargando por youtube-dl
se redirige a través de la salida estándar anterior, -o -
. Hay una demostración del efecto aquí .
Con la instalación de bibliotecas adicionales, el video ASCII se puede mejorar aún más.
OK pero quiero el video en mi terminal actual?
Encontré este truco que permite reproducir videos en un xterm
artículo de O'Reilly titulado: Ver videos en ASCII Art .
$ xterm -fn 5x7 -geometry 250x80 -e "mplayer -vo aa:driver=curses j.mp4
Lo anterior hace xterm
que se abra una ventana donde se reproduce el video.
Entonces pensé, ¿por qué no poner la mantequilla de maní y el chocolate juntos de esta manera:
$ xterm -fn 5x7 -geometry 250x80 -e \
"youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa:driver=curses -"
Esto casi funciona! No estoy seguro de por qué el video no se puede reproducir en la ventana, pero parece que debería poder hacerlo. La ventana aparece y comienza a jugar pero luego se cierra. Veo video por unos breves segundos y luego nada.
Quizás lo anterior lo acerque a su solución definitiva, o tal vez solo necesite modificar un poco las opciones.
Bibliotecas adicionales
Si ha libcaca
instalado (la versión coloreada de aalib
) y reduce el tamaño de la fuente gnome-terminal
a algo realmente pequeño, como por ejemplo 3, el siguiente comando mostrará un video ASCII mucho mejor directamente en el terminal:
$ CACA_DRIVER=ncurses mplayer -vo caca video.mp4
Terminales
Parece que la elección del terminal puede hacer un gran problema en cuanto a si mplayer
puede jugar directamente dentro del terminal o si abre una ventana separada. El almacenamiento en caché también mplayer
marcó una diferencia dramática al poder jugar directamente en los terminales.
Usando este comando pude jugar terminator
, al menos durante el primer cuarto del video antes de que se cortara:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -cache 32767 -vo aa:driver=curses -
La versión coloreada utiliza este comando:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
CACA_DRIVER=ncurses mplayer -cache 64000 -vo caca -
Estos mismos comandos podrían jugar en gnome-terminal
& xterm
también.
NOTA: Eso es (de izquierda a derecha) xterm
, terminator
, gnome-terminal
, y terminology
.