Alex Kipman from Microsoft has posted a series of tips on WindowsUltimate.com on how to make a good animated wallpaper. The highlights include:
From a content perspective:
- Keep the camera angle static, so no zooming, panning etc or people will either puke or turn you off after a few seconds
- Try to bring interest in the top quarter and bottom quarter of the video so that you can get motion coming through the glass surfaces in Vista
- Keep the loop to about ~30 seconds in length
- Make sure the content is visually appealing, and the composition of the frame is appealing
- Beware of the areas of motion. Make sure that where there is motion, that the motion is not distracting. Make sure the type of motion doesn't make folks dizzy or lean to one side etc
- Make sure there is enough motion to warrant the DreamScene content
- Take a look at how the content looks as a still (paused). Make sure it looks as good as a static background would look in terms of quality and appeal
- Make sure the DreamScene content looks great under the glass surface. Some of the best content I've seen is content that only comes alive when you have about 80% of your real estate taken up by other apps and windows, and all you can see is the DreamScene content sipping through the 10% or less of the glass areas
- Make sure it is something you can easily loop
- Consider how the content looks in both 16:9 as well as 4:3. You don't control the positioning style and your content should behave nicely in either scenario. In our case we optimize for 16:9 but also test the content on 4:3 to ensure the areas of interest aren't cropped straight out of the video
From a rendering perspective:
- Render the content natively at 720p
- Have the content natively rendered at 16:9, but make sure it crops nicely at 4:3
- Cap the rendering at 30 fps. Bonus points if you can make something interesting at 15 fps.
- Make sure the first frame and the last frame of the video go together so you get a sense it keeps going forever.
- Output the final results as raw and uncompressed AVI (or other uncompressed and raw format)
From an encoding perspective:
- Pre-process everything to progressive (don't let the encoder do the de-interlacing)
- If you need to scale to 1280x720, do so with XScaler
- At the end of the day the biggest variable will be the bitrate. I suggest you start with encodes at 1.5, 3 & 5 MBps and then check. At the end of the day you are looking to find a happy medium between CPU utilization, files size (i.e., download time) and video quality. This is primarily determined by the bitrate you choose.
- I have mixed feelings on what the ideal key frame distance should be. It is supposed to just repeat the current frame in the buffer but we don't want to wait too long for the next key frame. Therefore, we go with something between 3-5 seconds.
- Lastly you need to decide if you are going to be encoding an MPG or a WMV.
- If you choose the WMV route I suggest:
- 5 Mbps WMV
- Select video stream WM video Stream 1
- Width: 1280
- Height: 720
- Aspect Ratio: 16:9, Pixel [1:1]
- Encoder: Windows Media Video 9
- Framerate: 29.97
- Bitrate: 4991
- Bitrate type: CBR
- Number of passes: 1
- Seconds / Keyframe: 1
- Image quality: 97
- Interlacing: Non-Interlaced
- Buffer: 5000
- Video Codec: Complex Auto
- No Audio
- If you choose the MPG route I suggest:
- 15 & 8 Mbps MPEG2
- Stream Format: Generic ISO MPEG Stream
- Stream Type: MPEG-2 Elementary Stream
- Width: 1280
- Height: 720
- Frame rate: 29.976
- Interlacing: Non-Interlaced
- Aspect Ratio Code: 16:9
- Quality/Speed: Mastering Quality
- Bitrate type: CBR
- Video Bitrate: 15000 (8000)
- Profile/Level: HP@HL
- VBV Buffer Size: 1492
- Max GOP Size: 15
- Closed GOP: yes
- Chroma Format: 4:2:0
- Intra DC Precision: 9
- Strict GOP bitrate: No
- No audio used
- Insert one sequence header before each GOP
You can read the whole thing below.