osx - 使用mpc或mplayer使用libcaca或aalib在终端中播放youtube视频作为文本?

最后发布: 2016-07-05 13:08:42


问题

我通过homebrew安装:

brew install mplayer mpv libcaca aalib

尝试在我的终端中播放视频作为文本。 使用mplayer ,我尝试了aa:

youtube-dl https://www.youtube.com/watch?v=urxk4mveLCw -o - | mplayer -cache 64000 -vo aa -

还有caca:

youtube-dl https://www.youtube.com/watch?v=urxk4mveLCw -o - | CACA_DRIVER=ncurses mplayer -cache 64000 -vo caca -

但是,两者都给出以下错误:

Error opening/initializing the selected video_out (-vo) device.

再试一次mpv

mpv "http://www.youtube.com/watch?v=OC83NA5tAGE" -vo caca
mpv "http://www.youtube.com/watch?v=OC83NA5tAGE" -vo aa

哪个输出:

09:00 $ mpv "http://www.youtube.com/watch?v=OC83NA5tAGE" -vo aalib
Playing: http://www.youtube.com/watch?v=OC83NA5tAGE
 (+) Video --vid=1 (*) (h264)
 (+) Audio --aid=1 --alang=eng (*) 'DASH audio' (opus) (external)
[vo] Video output aalib not found!
Error opening/initializing the selected video_out (-vo) device.
Video: no video

Exiting... (Errors when loading file)
✘-2 ~

在查看mpv的手册页时,我发现:

   caca   Color  ASCII art video output driver that works on a text console.

          NOTE:
             This driver is a joke.

我做错了什么,如何正确观看终端中的YouTube视频?

谢谢。

PS如果它有所不同,这是我的screenfetch信息:

OS: 64bit Mac OS X 10.9.5 13F1603
Kernel: x86_64 Darwin 13.4.0
DE: Aqua
WM: Quartz Compositor
WM Theme: Blue
GPU: Intel Iris

另外我使用iterm2作为我的终端,但我也有xterm通过xquartz和普通terminal

macos youtube video-streaming homebrew mplayer
回答

caca默认情况下没有安装mpv,您需要将其设置为选项标志。

您可以使用caca重新安装

brew reinstall mpv --with-libcaca

或者如果你是从新鲜安装

brew install mpv --with-libcaca

现在正在运行

mpv --vo=help

输出以下内容

Available video outputs:
  opengl         : Extended OpenGL Renderer
  null           : Null video output
  image          : Write video frames to image files
  caca           : libcaca
  opengl-hq      : Extended OpenGL Renderer (high quality rendering preset)

所以你可以看到caca现在可以使用了。 然后只需运行您的命令即可在终端中播放您选择的视频。

mpv "http://www.youtube.com/watch?v=OC83NA5tAGE" -vo caca


回答

我想你没有用mpv / mplayer编译的caca / aa驱动程序; 校验:

mpv --vo=help
mplayer --vo=help

如果他们没有列出caca,你应该尝试从源代码编译mpv(或mplayer)。