Vous pouvez télécharger des vidéos et / ou simplement l'audio, puis les regarder / les écouter avec youtube-dl
. Le script est écrit en Python et utilise ffmpeg
je crois.
$ 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)
...
...
Pour télécharger des vidéos, vous devez simplement lui donner l'URL de la page sur laquelle vous souhaitez afficher la vidéo et le script se charge du reste:
$ 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
Vous pouvez ensuite utiliser vlc
ou mplayer
regarder ces sites localement:
$ 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 mais je veux regarder ces vidéos en streaming et en ASCII
J'ai trouvé cet article de blog intitulé: sur ascii, youtube et lâcher prise qui illustre la méthode dont j'ai parlé dans le chatroom, utilisant principalement youtube-dl
le "backend" permettant de télécharger le flux YouTube, puis de le rediriger vers une autre application.
Cet article montre que cela se fait avec mplayer
:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa -monitorpixelaspect 0.5 -
La vidéo en cours de téléchargement par youtube-dl
est redirigé via STDOUT ci - dessus, -o -
. Il y a une démonstration de l'effet ici .
Avec l'installation de bibliothèques supplémentaires, la vidéo ASCII peut encore être améliorée.
OK mais je veux la vidéo dans mon terminal actuel?
J'ai trouvé cette astuce qui permet de jouer une vidéo dans un article xterm
du O'Reilly intitulé: Watch Videos in ASCII Art .
$ xterm -fn 5x7 -geometry 250x80 -e "mplayer -vo aa:driver=curses j.mp4
Ce qui précède xterm
ouvre une fenêtre dans laquelle la vidéo est lue.
Alors j'ai pensé, pourquoi ne pas associer le beurre de cacahuète et le chocolat comme suit:
$ xterm -fn 5x7 -geometry 250x80 -e \
"youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa:driver=curses -"
Cela fonctionne presque! Je ne suis pas sûr de savoir pourquoi la vidéo ne peut pas être lue dans la fenêtre, mais il semblerait qu'elle devrait pouvoir le faire. La fenêtre se lève et commence à jouer, puis se ferme. Je vois la vidéo pendant quelques secondes, puis rien.
Peut-être que ce qui précède vous rapprochera de votre solution ultime, ou peut-être qu’il faut simplement modifier un peu les options.
Bibliothèques supplémentaires
Si vous avez libcaca
installé (la version colorisée de aalib
) et que vous réduisez la taille de la police gnome-terminal
à quelque chose de vraiment petit, comme par exemple 3, la commande suivante affichera une vidéo ASCII bien plus esthétique directement dans le terminal:
$ CACA_DRIVER=ncurses mplayer -vo caca video.mp4
Terminaux
Il semblerait que le choix du terminal puisse avoir un impact important sur la mplayer
possibilité de jouer directement à l'intérieur du terminal ou d'ouvrir une fenêtre séparée. La mise en cache a également mplayer
fait toute la différence pour pouvoir jouer directement dans les terminaux.
En utilisant cette commande, je pouvais jouer terminator
, au moins pour le premier quart de la vidéo avant de la couper:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -cache 32767 -vo aa:driver=curses -
La version colorée utilisait cette commande:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
CACA_DRIVER=ncurses mplayer -cache 64000 -vo caca -
Ces mêmes commandes pourraient jouer dans gnome-terminal
et xterm
aussi.
NOTE: C'est (de gauche à droite) xterm
, terminator
, gnome-terminal
et terminology
.