Skip to main content
Welcome guest. | Register | Login | Post

Feeding screensaver output into a video

7 replies [Last post]
libervisco's picture
Offline
Joined: 2006-05-04

Some people consider screensavers to be a waste of resources. They can be beautiful, but almost noone looks at them since they usually activate when user is the away. Not only that, but some of today's monitors don't even need much of screensaving in the original sense..

However I think there is something more to their value than that. Most software is designed to serve a certain useful purpose. Some software can be used by humans to create something beautiful, but one thing that is very rarely done is to allow a computer to, randomly, create beauty itself, even if with guidance of original programmer's code. These screensavers which create various moving shapes and scenes are all random and can only be "useful" for staring at with enjoyment. The fact that it all sort of happens on the fly, randomly yet according to a certain program adds a bit more to the fascination.

So.. one idea came to me about this. The scenery that these, especially 3D, screensavers create could maybe be recorded as a video material. With it one could use it in various contexts which would use it for various purposes that would interpret it in various ways. I wont go too deep into what I'm hinting at here, but let's say it could be quite interesting and creative, as a hobby project of sorts (and yes, this is coming from my "off time" so to speak (albeit a bit late in the night, I was just going to sleep Eye )).

So.. is it possible? Is there a way to feed screensavers to a video? I know I could just set up a screencaster, but I bet that would be too slow to be useful. Considering that screensavers are just a code, maybe, just as it projects through X to the screen it could project directly into some sort of a file... or can that be done *only* with a screencaster?

Thank you. Smiling

tbuitenh's picture
Offline
Joined: 2005-12-21
Well, IF the graphics

Well, IF the graphics library used for the screensaver apart from the X backend also has a video-file (or even just image-file) backend, then changing it to generate movies should be trivial.

But don't videos take away exactly what makes screensavers charming? If you watch a video again, it will be exactly the same.

It seems you want to combine a screensaver with some other media to create a video. Why not adapt the screensaver? More fun!

Another interesting idea: in a true 3d computing environment (not just 3d-enhanced like compiz), an interesting screensaver might just "walk" around randomly through that environment, and offer two options when the screensaver is interrupted: stay in the random place or go back to the location where the screensaver was started.
This concept can be ported back to 2d, of course... it would look around photo albums and cover art databases and such.

libervisco's picture
Offline
Joined: 2006-05-04
tbuitenh wrote: Well, IF
tbuitenh wrote:

Well, IF the graphics library used for the screensaver apart from the X backend also has a video-file (or even just image-file) backend, then changing it to generate movies should be trivial.

I really don't know and right now aren't sure where to look at.. but I can figure it out.

tbuitenh wrote:

But don't videos take away exactly what makes screensavers charming? If you watch a video again, it will be exactly the same.

True, but as you said:

tbuitenh wrote:

It seems you want to combine a screensaver with some other media to create a video. Why not adapt the screensaver? More fun!

Yep. About adapting the screensaver itself I'd first have to learn how exactly to do that. To be honest, screensavers are one of the more mysterious parts of the system to me, since they've never really been very important.

tbuitenh wrote:

Another interesting idea: in a true 3d computing environment (not just 3d-enhanced like compiz), an interesting screensaver might just "walk" around randomly through that environment, and offer two options when the screensaver is interrupted: stay in the random place or go back to the location where the screensaver was started.

That would be quite impressive. Something nice for the virtual universe. Smiling

tbuitenh's picture
Offline
Joined: 2005-12-21
"trivial"... ahem
libervisco wrote:
tbuitenh wrote:

Well, IF the graphics library used for the screensaver apart from the X backend also has a video-file (or even just image-file) backend, then changing it to generate movies should be trivial.

I really don't know and right now aren't sure where to look at.. but I can figure it out.

I meant trivial for a programmer... and only if there is a video-file recording backend to the graphics library at all.

Quote:

Yep. About adapting the screensaver itself I'd first have to learn how exactly to do that. To be honest, screensavers are one of the more mysterious parts of the system to me, since they've never really been very important.

So how is your C and C++ nowadays? Sticking out tongue

Offline
Joined: 2006-03-28
I just tried this with

I just tried this with GTK-recordmydesktop, and I could successfully record the BSOD-saver and the OpenGL-saver Atlantis. Worked fine.

libervisco's picture
Offline
Joined: 2006-05-04
I guess I'll try it with

I guess I'll try it with gtk-recordmydesktop or some other screencaster then..

Oh and Taco.. hm my C and C++ is.. er.. not good. Sticking out tongue

Offline
Joined: 2006-01-02
lolz
libervisco wrote:

Yep. About adapting the screensaver itself I'd first have to learn how exactly to do that. To be honest, screensavers are one of the more mysterious parts of the system to me, since they've never really been very important.

it's.. not that complex.

have you ever seen what the screensaver really is? it's just a window that covers the entire screen.. rather, a fullscreen window.

if you have xscreensaver installed with the GL screensavers installed, try running:

/usr/lib/xscreensaver/flurry

and look at this:

 9:14, britestar, ~% /usr/lib/xscreensaver/flurry --help
Flurry: from the XScreenSaver 5.04 distribution (13-Nov-2007.)
        http://www.jwz.org/xscreensaver/

Options include: -root, -window, -mono, -install, -noinstall, 
                 -visual , -window-id , -pair, -preset , 
                 -delay , -fps, -no-fps.

also, I'm sure you can inject some libraries to replace the "screen refresh" functions to save the frame to a file, rather than send it to the screen and then just stitch them together with mencoder.

libervisco's picture
Offline
Joined: 2006-05-04
Cool, though about the

Cool, though about the library I don't code so.. probably not gonna work. Sticking out tongue

I'm thinking though it may be possible to intercept the X output in that window with some existing tool similarly to the way ImageMagick does when stitching PNG's and then saving it as GIF...

But it's not a priority.

Thanks

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.