6

I am using the "-vo caca" option in order to be able to play a video in the terminal. However, mplayer is opening up a window in which the video runs. Is there any way to make it play in the console window (to have it filled)? I am using Linux Mint 16.

Vintage
  • 61

3 Answers3

6

No. Mplayer can run using the the linux kernel framebuffer, which if you are on one of the virtual consoles (these are tty devices, and they are not the same as what's used in a GUI terminal) makes it seem as if it's running "in the console" because, of course, that's the entire screen. But it's not running in the console, it's running in the framebuffer, which takes the screen.

If you are using a GUI desktop, you have an X server running, and it controls the screen, so you cannot use the framebuffer at the same time (although you can switch back and forth to a VT and use the framebuffer there). Mplayer detects this context and adapts itself accordingly.

goldilocks
  • 87,661
  • 30
  • 204
  • 262
1

Yes, simply unset DISPLAY variable:

unset DISPLAY; mplayer -vo caca path_to_videofile

or

DISPLAY= mplayer -vo caca path_to_videofile

But I found that it works slower.

Update: I found out that rxvt-unicode terminal is fast enough.

Also this link http://helpful.knobs-dials.com/index.php/Aalib,_caca might be helpful.

login
  • 275
0

Yes, simply tell the caca driver to use the ncurses backend by setting the CACA_DRIVER environment variable appropriately.

You'll also need to tell mplayer to be quiet so that the terminal output doesn't interfere with video playback:

CACA_DRIVER=ncurses mplayer -quiet -vo caca /path/to/file

See 4.10. libcaca – Color ASCII Art library

Greenonline
  • 1,851
  • 7
  • 17
  • 23