Alex Kipman of the Vista Ultimate Team brings
these recommendations for authoring good DreamScenes:
03/06/2007
Have you ever asked yourself: What are the attributes of a great piece of content for Windows DreamScene?
I get asked this question a lot, particularly from people who are
trying to create their own. The answer is rather long, so why not blog
about it ?
Turns out we think about many aspects before we deem something
DreamScene worthy. I usually break my answer in three sections: 1)
attributes of the content; 2) attributes of the rendering and 3)
attributes of the encoding. What follows is an explanation for each of
these sections...
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
And this is about it <phew>! These are the steps we follow
when creating content for DreamScene internally. If you were curious,
or are trying to roll your own, this may be a good starting point.
[Original Post Here]