25 September 2012

Video screensaver

On my old XP pc I used to have a video screensaver, where I could enter a list of filenames of movies that then would be played on all connected monitors. Very cool! I used to collect all the trailers of CG movies I could get and use that list for the screensaver.

It's not the one I used, but apparently microsoft even made an official video screensaver (for XP). Now on windows 7 I'd like the same, and it should be possible according to this site. I tried but failed to accomplish this with the "windows live essentials".

So I wrote one myself. It turns out that a windows screensaver is very easy to write. I also messed around with various video playing methods in C#, using directx or directshow but none of them were as easy as using a simple media element from the WPF. Since I wrote this for .Net 3.5 that functionality is available.

Only downside to the media element is that it's not easy to synchronize them, so there is a small difference in the starting point of the movies on all screens. But most of the time it is small enough to ignore. It's something that I still want to fix so I might write an update on this post.

If you like you can download it here. The configuration is simple: turn on or off the audio, and provide a folder where to look for files. It only searches for .mov, .avi and .wmv files and does not search recursively. It could use some extra testing so if you run into trouble, you know how to find me :)

Installation: unzip the scr file to a location you like, right-click it and select 'Install'. And you need the .Net 3.5 framework of course.

Edit:

I uploaded an update with some bugfixes: the screensaver used to crash if you specified an empty path to search for videos, and there was an issue with the media element on my and steven's laptop if our extra monitor was connected. It is a known issue with Microsoft but it seems they do not bother to fix it. Luckily there is a workaround.

Edit 2:

By request, here is the link to the git repository I've set up. I converted the project to a vs 2012 solution; somehow I don't have the small sync issue anymore, but I suspect that this is because of my newer graphics card that I have in the meantime.

14 comments:

SimoensS said...

Could you add mp4 support as well? That would make it perfect ;)

Alex Vanden Abeele said...

I totally forgot to mention it, but actually I did, the version that is online now also plays mp4's.

SimoensS said...

Great! I'll give it a go

Anonymous said...

thanks.very good working

Anonymous said...

thanks

hex said...

Thank you very much!

hex said...

I was wondering how can I make the video run an normal rate, it runs a little slow and I have a powerful computer.

Unknown said...

Is there possibility to make it open source? Nice to play with it and maybe enhance capabilities.

Alex Vanden Abeele said...

That's possible, I'll set up a repo.

Stefano said...

Thank you!! It seems that the colours are not as bright as if I play the video with a player, is it possible? In particular, the white appears gray...

Alex Vanden Abeele said...

Could be, I'll have a look into that. I guess it takes some standard setting, so I'll check if that is something that can be configured.

Stefano said...
This comment has been removed by the author.
Stefano said...

Thank you! I tried with an avi and mp4 (h264) video. Both videos have the same problem

Unknown said...

It's great, but the video can get a bit laggy.