Use video file as a screensaver?

There are some really complicated suggestions on here, but making a video your screensaver is really easy when using xscreensaver and mpv. Xscreensaver can be installed by typing sudo apt-get install xscreensaver. Mpv can be installed by typing sudo apt-get install mpv.

Go into Terminal, and type gedit ~/.xscreensaver. Scroll down to the part of the code that says "programs". On the top of the list, put in code similar to this:

"Screensaver Name" mpv --really-quiet --no-audio --no-stop-screensaver --loop=inf --fs --wid=$XSCREENSAVER_WINDOW $HOME/fileDirectory

"fileDirectory" can be made a single file, or a folder. If you want to play all the videos in a folder, put something like $HOME/Videos/* You can also limit it to a specific file format by putting that format after the asterisk. (ex:*.mp4) The -shuffle tag can also be applied to make the videos play in a random order.

Once this code has been put in, use Ctrl+S to save, and then change your screensaver to your new one. And that's it, you're done!


It's possible the AniBG project will give you what you want :

http://code.google.com/p/anibg/

This UbuntuGuide article has step by step instructions.

[Edit: As noted in the comments, AniBG hasn't seen any love for quite a few years now. The best replacement I could find was Komorebi, as noted in this Sep 2017 OMGUbuntu article. The GitHub page can be found here.


Too old question but here is another way to play a list of videos as screensaver:

  • webnuxsaver

Install xscreensaver

sudo apt-get install xscreensaver

and install webscreensaver.

  • webscreensaver

clone webnuxsaver project wherever you want and add mp4/webm format in folder videos. run getArrayVideos.py inside of the videos folder to get all the array of videos.

cd videos python getArrayVideos.py

Example output:

['nameofvideo.mp4','nameofvideo2.webm'.....]

Copy the output and add in index.html the array of videos in videosStorage variable.

Open index.html in browser to view everything is working fine and copy de path.

Example path in browser:

file:///usr/lib/xscreensaver/webnuxsaver/index.html

Then need to open xscreenserver to generate a ~/.xscreensaver file. Close xscreensaver and open ~/.xscreensaver file then edit ~/.xscreensaver:

programs:

webscreensaver \n\

Open xscreensaver and search for webscreensaver then click in settings then advanced>>

in command line add:

webscreensaver -url "file:///usr/lib/xscreensaver/webnuxsaver/index.html"

Note: is the url of local file of the index.html. Open your browser to get the path.

Extra note: Try to use simple name of the videos without special characters.

Finally to start with xscreensaver as default. Follow the next steps:

1) xscreensaver needs to be launched at startup via "Startup Applications" (hit Super and type "Startup"). Add a new entry to launch the xscreensaver daemon on startup as xscreensaver -no-splash.

2)You need to bring up the xscreensaver config app. Hit Super and type screensaver. Set the "Blank after x minutes" to your desired amount (e.g. 5 minutes). Remember this value for later. Ensure "Lock screen after" is UNCHECKED.

3)Finally, go to System Settings / Brightness & Lock. Set "Turn screen off when inactive for x minutes" to the same value as you set xscreensavers "Blank after x minutes" setting (e.g. 5 minutes). Then still under Brightness & Lock, set "Lock screen after:" to "Screen turns off".

Or in shortcuts keyboard add the next command:

xscreensaver-command -lock

with the shortcut you prefer. Ex. Ctrl+alt+l

more info: How do I configure xscreensaver to use the GNOME lockscreen on Ubuntu 14.04?