您可以下载视频和/或仅下载音频,然后使用观看/收听它们youtube-dl
。该脚本是用Python编写的,并利用了ffmpeg
我的信念。
$ 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)
...
...
要下载视频,您只需在想要播放视频的页面上为其提供URL,然后脚本执行其余操作:
$ 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
然后,您可以在本地使用vlc
或mplayer
观看这些内容:
$ 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"
可以,但是我想观看这些视频,因为它们采用流媒体和ASCII格式
我发现这篇博客文章的标题为:在ascii上,youtube和放手演示了我在聊天室中讨论的方法,主要youtube-dl
用作“后端”,可以下载YouTube流,然后将其重定向到其他应用程序。
本文显示了它的完成方式mplayer
:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa -monitorpixelaspect 0.5 -
正在下载的视频youtube-dl
通过上方的STDOUT重定向-o -
。这里有一个演示效果。
通过安装其他库,可以进一步增强ASCII视频。
可以,但是我想在实际的终端中播放视频吗?
我xterm
在O'Reilly题为“ 观看ASCII Art中的视频”的文章中找到了一种使视频可以在其中播放的技巧。
$ xterm -fn 5x7 -geometry 250x80 -e "mplayer -vo aa:driver=curses j.mp4
上面的操作会导致在xterm
播放视频的窗口打开。
所以我想,为什么不像这样将花生酱和巧克力放在一起:
$ xterm -fn 5x7 -geometry 250x80 -e \
"youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa:driver=curses -"
这几乎有效!我不确定为什么视频无法在窗口中播放,但似乎应该能够播放。窗口打开并开始播放,然后关闭。我看了一段短短的视频,然后什么都没有。
也许以上所述将使您更接近最终解决方案,或者可能只是需要对选项进行一些调整。
附加库
如果您已libcaca
安装(的彩色版本aalib
),并且将字体大小减小gnome-terminal
到很小,例如3,则以下命令将直接在终端中显示看起来更好的ASCII视频:
$ CACA_DRIVER=ncurses mplayer -vo caca video.mp4
码头
对于是否mplayer
可以直接在终端内播放还是打开单独的窗口,终端的选择似乎有很大关系。缓存在mplayer
直接在终端中播放方面也产生了巨大的变化。
使用此命令,我terminator
至少可以播放视频的前1/4片段,然后播放:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -cache 32767 -vo aa:driver=curses -
彩色版本使用以下命令:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
CACA_DRIVER=ncurses mplayer -cache 64000 -vo caca -
这些相同的命令也可以在gnome-terminal
&中播放xterm
。
注:这是(从左至右)xterm
,terminator
,gnome-terminal
,和terminology
。