Wallpaper Engine

Wallpaper Engine

71 ratings
Video wallpaper creation required reading
By Gnathonic
Maximize performance, compatibility, quality and compression. Before and after examples included.
   
Award
Favorite
Favorited
Unfavorite
Introduction
Wallpaper Engine is pretty awesome, but it's not magic. It's easy to make wallpapers that are sub-optimal or just won't work on some systems. This guide will teach you some tools to encode your finished wallpaper well, provide some advice for any intermediate tools (editors, capture), and will point out some interesting and useful features and limitations of Wallpaper Engine.

Wallpaper Engine technicals: hidden features & limitations
As of 11/22/2017, this section of the guide has become slightly less relevant. Wallpaper Engine can now use user installed codecs in addition to the ones built into windows. Wallpaper Engine's dev's post on the subject

---how wallpaper engine used to work---
Wallpaper Engine uses Microsoft's Media Foundation codecs[msdn.microsoft.com]. While this does include a handful of codecs including the superior H.265. We'll only be talking about the H.264 codec as it has much wider support than H.265 and the next best compression. Features/limitations of Media Foundation's H.264 include:
  • No support for videos over 1920x1088 on Windows 7. Attempting to play these will render a white screen and an error message.
  • For newer systems the maximum is 4096×2304.
  • Video cards handle the decoding if capable.
  • Older video cards can only decode up to 1920x1088.
  • When the video card can't do the decoding the CPU will take over. However this is much slower so it is best to avoid this.
  • Videos under 10MB are stored in RAM instead of streamed from disk.
    Working with your video
    Almost all video codecs are what is known as "lossy". This means that no matter what settings you use, in order to achieve reasonable file sizes they will make approximations. The lower your bitrate is the bigger these approximations are, and every time you re-encode these compound making the video worse. This is known as Generation loss[en.wikipedia.org]. If you've got space and your software supports it you can use a lossless codec to avoid this entirely. Otherwise you can minimize the problem by using as high a bitrate as your software supports and your system can keep up with up until your final encode. Given that this isn't Hollywood and these videos are only likely to be encoded a few times, as long as you use a high enough bitrate generation loss shouldn't accumulate enough to be noticeable to even the most exacting videophile. Even Blurays use a lossy codec and most people can agree that they look stunning.

    A note on video capture tools:
    While you can adjust your bitrate to be a reasonable size for release. Capture tools are designed for encoding fast not well. A low bitrate capture will look significantly worse than an even lower bitrate re-encode of a higher bitrate capture. Don't bother with low bitrate captures, and don't release any captured video without re-encoding it first.
    Encoding
    While there are a good handful of other transcoding solutions out there (and I may document those by request). I will be covering XviD4PSP 7.0.313 as it is free, easy to use, and rather full featured despite what the name would suggest.
    XviD4PSP homepage[winnydows.com]

    Fire up XviD4PSP and add your file to it. Don't bother with the open dialog, just drag and drop it in.
    Along the top there are several tabs.

    The only ones you need to care about are Trim, Filters, and Codecs.
    • Trim is self explanatory.
    • Filters is where useful options like framerate adjustments, cropping, and resizing are. Most of these aren't useful for us but resizing is good if you want to make a 1080p version of your high res background for people with older/weaker hardware to enjoy.
    • And codecs is where all the magic with esoteric terminology is located. Rather than give you a crash course on that nonsense. I'll give you some defaults that are useful 99.something % of the time.

    For compatibility, make sure the "Container" is set to MP4. The option next to that is irrelevant and can be left on whatever it is on.

    Audio. Do you want/need audio? If not make sure to uncheck that option. Cuz hey, free space savings.

    That box next to the filmstrip icon should always be set to "Progressive"
    Codec should always be "X264"
    Clicking the gear to the far right of "Codec" and "X264" will pop a configuration dialog for the X264 codec.


    In here the preset should always be "Very Slow". "Placebo" is technically a better option but takes considerably longer for a infinitesimally better result. The faster the selection the more features it turns off for the sake of going faster, and the worse the encode. So if you must adjust it, leave it as slow as you can tolerate.
    "Encoding Mode" should be set to "Constant Ratefactor", or "Variable Bitrate, 2 Pass" if you are trying to do the under 10 MB thing. The "Constant Ratefactor" setting just means that no matter how complicated or boring a scene is it will adjust bitrate to try to maintain a constant quality. The higher the number the more flaws it will tolerate. I've found that I can't spot flaws in a Ratefactor 16 encode, but 18 is also pretty impressive. If you've got time to spare you should try 18 and see if it is a good fit for your material. Some kinds of material mask encoding flaws better than others and the file size reduction is worth the effort. The "Tune" option can be adjusted to something that matches your material for some minor gains, but really you don't have to mess with it.

    If you are trying to do the under 10 MB thing then select "Variable Bitrate, 2 Pass" instead of "Constant Ratefactor". In the box labeled Size, replace whatever number is there with "10 MB" and press enter. This will automatically calculate the video's target bitrate for you. Do your encode and see if you can get away with this quality wise. Under 10 MB is kinda a hard thing to get away with, but if you can do it playback is practically free on most systems.

    Examples and hard numbers
    I've uploaded both the shadowplay version and the CRF 18 version to the workshop. Feel free to download those and try and spot the differences. Also there's the 1080p version for compatibility.

    Ori wallpaper shadowplay - 1,439MB
    Ori wallpaper Constant Ratefactor 16 - 408MB (not uploaded to workshop)
    Ori wallpaper Constant Ratefactor 18 - 267MB
    Ori wallpaper 1080p downscale Constant Ratefactor 18 - 104MB

    Ori shadowplay requires minimum constant disk read speeds of 10MB/s
    Ori CRF 18 requires minimum constant disk read speeds of 1.78MB/s
    Ori 1080p downscale CRF 18 requires minimum constant disk read speeds of 0.69MB/s
    A plea from the author
    I made this guide after seeing far too many wallpapers in the shop falling afoul of users. Poorly encoded and bloated. Degrading the performance of the systems they ran on. Heck, some of these videos even taking as much as 10 times the required resource. I'm not going to point fingers or list names, but I want to turn that around.

    If you think this guide is good or at least good enough and you want to help improve the quality of the workshop. Would you politely direct authors whose wallpapers are bigger than 240MB per minute (for 1080p) or whose captures look like garbage to take a gander at this guide so they can improve. Thank you.
    24 Comments
    Gnathonic  [author] 1 Jan, 2022 @ 10:10am 
    The author of XviD4PSP decided to add a trial system based not on the number of days from when you installed it, but x number of days from when he released the last version. And he hasn't been releasing updates fast enough so most of the time the "trial period" is already expired by the time someone installs it. Still good software, but man is his trial system broken.

    Handbrake is a good, easy, and free alternative. Everything I talk about in this guide can by used in Handbrake.
    theREALdjELITE 30 Dec, 2021 @ 7:16am 
    XviD4PSP doesn't appear to be free. Keeps telling me to fork money over and if I don't it closes.
    Aub 7 Nov, 2019 @ 12:51am 
    Hmm
    MrClonkig 12 Jun, 2017 @ 5:30pm 
    Thank you! Finally someone gets it... This should be common sense for everyone.
    Blue Umbrella Corp 24 Feb, 2017 @ 1:56pm 
    @Gnathonic.
    Thank, I just made my own live wallpaper last night from Black desert online :D its running smooth so far and what not. I might end up start making more live wallpapers from :D
    Gnathonic  [author] 24 Feb, 2017 @ 4:16am 
    @Umbrella Corp
    Which is the main reason why it is improtant to do the encoding well yourself. You can throw a ridiculously large video at Youtube, and it will compress it so most people can handle it. Steam and Wallpaper Engine will happily give people that same video without doing any work to make it reasonably sized.
    Gnathonic  [author] 24 Feb, 2017 @ 4:11am 
    @Umbrella Corp
    The steam workshop, unlike youtube, is designed to handle all kinds of files and won't mess with your data by trying to re-encode it. Whatever you have on your system is exactly what they will get on theirs. Compatibility caveats aside.
    Blue Umbrella Corp 24 Feb, 2017 @ 12:38am 
    I have tried this on a test live wallpaper and it came out great on my end but don't know, how it will turn out for other people.
    jme 19 Feb, 2017 @ 2:48pm 
    @gnathonic OK! Thanks for taking the time to explain it all haha
    Gnathonic  [author] 17 Feb, 2017 @ 2:51pm 
    @jme
    Scratch everything I just hypothesized. I took a look at your video and nothing (that can be fixed) looks wrong with it. Even some of the problems that it had were inconsistent, and given the other content of the video I'm led to believe those "problems" are in there on purpose.

    vlc is probably just messin with your head by trying to filter out artifacts that are intentionally in there.