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.
3 Answers
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.

- 87,661
- 30
- 204
- 262
-
I see... That must be it then. Thank you very much. – Vintage Apr 14 '14 at 13:16
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.

- 275
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

- 1,851
- 7
- 17
- 23

- 1