toc

Team LiB
Next Section

Windows Media 9 Series by Example
Windows Media 9 Series by Example
by Nels Johnson ISBN:1578202043
CMP Books © 2003 (368 pages)

Deliver first-class presentations to your audiences with proven strategies for reliable performance and positive user experiences. Tutorials and complete instructions for compressing and editing WM9 video files are also discussed.

Table of Contents
 | Windows Media 9 Series by Example
 | Introduction
 | Section I -
 | Chapter 1 | - | What's New in Windows Media 9 Series
 | Chapter 2 | - | Setting up the WM9 Player, Encoder, Server, and SDK
 | Chapter 3 | - | Video Capture in WM9
 | Chapter 4 | - | Compression and Transcoding with WM9
 | Chapter 5 | - | Network Streaming with WM9
 | Chapter 6 | - | DRM, WM9 Style
 | Section II -
 | Chapter 7 | - | Playing WM9 files in PowerPoint, Producer, and Internet Explorer
 | Chapter 8 | - | Working with the WM9 Software Development Kit (SDK)
 | Chapter 9 | - | Making DVD Movies with WM9 and MS Movie Maker 2
 | Chapter 10 | - | WM9 with Third-Party Nonlinear Editors
 | Chapter 11 | - | Using WM9 with SnapStream Personal Video Station
 | Chapter 12 | - | Producing WM9 Content for Handhelds
 | Chapter 13 | - | WM9 Audio Techniques
 | Chapter 14 | - | Encoding with the WM9 Screen Codec
 | Section III -
 | Chapter 15 | - | WM9 Integration in Consumer Electronics
 | Chapter 16 | - | Late-Breaking News & Production Tools
 | Chapter 17 | - | How Movielink Uses Windows Media 9 Series
 | Chapter 18 | - | Standing in the Shadows of Motown—A WM9 Feature
 | Index
 | List of Figures
 | List of Tables
 | List of Listings

Team LiB
Next Section


backcover

Team LiB

Back Cover

Deliver a first-class presentation to your Web, home theater, and desktop video audience with proven strategies for reliable performance and positive user experiences. Culled from a decade of professional software development experience, these illustrated, step-by-step production examples are based on the latest standards (HTML, SMIL, XML, WSC, and JavaScript, among others). Inside you’ll find tutorials, recipes, and complete instructions on how to capture, edit, compress, serve, and otherwise present Windows Media 9 Series video files. This book even includes hardware recommendations, tips for equipment setup, descriptions of working delivery systems, and breakdowns of the latest tools and techniques.

Special features include:

  • Insights on how to most effectively set up the Windows Media 9 Series player, encoder, and server
  • Tutorials on using established programs and peripheral devices to create, import, and output WM9 files
  • Tools for using Windows Media 9 Series in conjunction with such applications as PowerPoint, Producer, Internet Explorer, Movie Maker, and SnapStream
  • Tips on supporting CD players, DVD players, and portable devices
  • Expert examples of how to produce high-quality audio and video
  • Sample code for basic Web video applications

About the Author

Nels Johnson is president of Download Recordings, Inc., a desktop media consulting and production company, and has taught desktop video and multimedia at the University of California and College of Marin. He is the author of How to Digitize Video, Web Developer's Guide to Multimedia and Video, and Web Developer’s Guide to Multicasting, as well as contributing editor and feature writing for DV magazine. Mr. Johnson served on the independent team (the San Francisco Canyon Company) that developed the original version of QuickTime for Windows for Apple Computer.

Team LiB


Windows Media 9 Series by Example

Nels Johnson

EXPERT SERIES

CMP Books

Published by CMP Books
an imprint of CMP Media LLC
Main office: 600 Harrison Street, San Francisco, CA 94107 USA
Tel: 415-947-6615; fax: 415-947-6015
Editorial office: 1601 West 23rd Street, Suite 200, Lawrence, KS 66046 USA
http://www.cmpbooks.com
email: books@cmp.com

Designations used by companies to distinguish their products are often claimed as trademarks. In all instances where CMP is aware of a trademark claim, the product name appears in initial capital letters, in all capital letters, or in accordance with the vendor's capitalization preference. Readers should contact the appropriate companies for more complete information on trademarks and trademark registrations. All trademarks and registered trademarks in this book are the property of their respective holders.

Copyright © 2003 Nels Johnson except where noted otherwise. Published by CMP Books, CMP Media LLC.

All rights reserved. Printed in the United States of America. No part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without the prior written permission of the publisher; with the exception that the program listings may be entered, stored, and executed in a computer system, but they may not be reproduced for publication.

The publisher does not offer any warranties and does not guarantee the accuracy, adequacy, or completeness of any information herein and is not responsible for any errors or omissions. The publisher assumes no liability for damages resulting from the use of the information in this book or for any infringement of the intellectual property rights of third parties that would result from the use of this information.

Senior editor: Dorothy Cox
Technical editor: Galan Bridgman
Copyeditor: Madeleine Reardon Dimond
Layout design: Madeleine Reardon Dimond
Cover design: Damien Castaneda

Distributed to the book trade in the U.S. by:
Publishers Group West
1700 Fourth Street
Berkeley, CA 94710
1-800-788-3123

Distributed in Canada by:
Jaguar Book Group
100 Armstrong Avenue
Georgetown, Ontario M6K 3E7 Canada
905-877-4483

For individual orders and for information on special discounts for quantity orders, please contact:
CMP Books Distribution Center, 6600 Silacci Way, Gilroy, CA 95020
Tel: 1-800-500-6875 or 408-848-3854; fax: 408-848-5784
email: cmp@rushorder.com; Web: http://www.cmpbooks.com

Grateful acknowledgement is made to Microsoft for permission to use brief sections of copyrighted material from their MSDN (http://www.msdn.microsoft.com), Windows Media (http://www.windowsmedia.com) and Windows XP (http://www.microsoft.com/windowsxp) websites. Such use is clearly attributed in the chapters where it occurs. The material from the websites above is ©2003 Microsoft Corporation. All rights reserved.

03 04 05 06 07 5 4 3 2 1

1-57820-204-3

To my friend, Fred Gault


Introduction

In 1993 I wrote a book titled How To Digitize Video. My employer, The San Francisco Canyon Company, had developed QuickTime for Windows for Apple Computer and was working with Intel on some projects involving an early version of Microsoft's Video for Windows. Back then, desktop video was new and mysterious—even for most professional computer programmers. This was before streaming media and just at the start of the first great CD-ROM era. Multimedia shops used top-of-the-line 486 PCs and Mac Quadra 800s for production. Most users made do with even lesser machines. QuickTime and AVI clips were generally 160×120 or 240×180 pixels, 10–15 frames per second. The public (including the film and television industries) remained skeptical.

Ten years later, desktop video is commonly used, well-understood, and finally challenging television on its own turf—the living room. TV sets are slowly but surely being replaced by big computer monitors capable of presenting crisp broadcast and VCR content plus anything you can do on a Mac or a PC. Just as important, you can now buy consumer electronics gear that plays PC media natively: MP3 and WMA files on CD-ROM and Windows Media and other video file types on DVD-R in off-the-rack DVD players. This is the true convergence we used to joke about in the mid-90s.

A New Standard

Leading the way is the latest version of Microsoft's desktop audio/video technology, Windows Media 9 Series. In my opinion, WM9 sets a de facto standard for highquality media delivery on multiple types of devices, from PCs to TVs to portable disk and static-RAM players. On high-end computers, WM9 rivals HDTV in visual and audio fidelity at a much lower data rate than digital HDTV. At the low end (e.g., 56K streaming), WM9 provides CD-quality voice and music as well as full-screen resolution in some scenarios (such as screen capture playback). Anyone who spent the last decade making QuickTime, AVI, MPEG, or Real movies with a maximum movie window of 320×240 should be excited indeed by what WM9 has to offer.

For the record, Apple, Real, and others have made their own impressive advances in the same time frame, and at present QuickTime is often preferred among professional film and video editors. I have found it useless to argue the relative merits of any one of these fine products, which is why this book is devoted specifically to Windows Media. Microsoft claims to have overhauled all software directly related to media delivery on the Windows desktop, and I tend to believe them. As I hope you'll see in the following chapters, the tools now exist to create full-screen, TV-like video files (with comparable audio quality) completely within the Microsoft product suite and at relatively low cost. WM9 itself, both Player and Encoder, is freely available at the Microsoft web site. Microsoft claims that Windows XP is the preferred operating system for WM9, although Windows 2000 supports it without incident on my test machines.

Higher Expectations

On the whole, capturing video on a PC today is a much cleaner process than it was 10 years ago. The bad news is that things have turned mysterious again in various ways. For example: transcoding DV files, encoding MPEG-2 clips, optimizing video for local playback versus web delivery, not to mention embedding media in web pages, PDF files, and Microsoft Office documents. Also, analog capture is still a bit tricky—even with proven equipment from companies like ViewCast and Pinnacle—because quality expectations are so much higher now. In my work with WM9 to date, I have found it well-suited to handling all of the video capture scenarios described in this book.

So what about WM9 versus MPEG-4 and the MPEG-4 committee? Microsoft gets heat for not participating in this and other committees, but such groups often seem populated with companies promoting their own agendas rather than creating meaningful standards for digital media. WM9 contains Digital Rights Management (DRM) features that content owners are taking as seriously as the proposed (and still unfinished) DRM components published in the MPEG-4 spec. In video quality tests I've seen so far, WM9 clearly surpasses the latest release of MPEG-4. So does Real9, for that matter. I believe that if any company (MPEG-4 committee member or not) had a desktop media solution as good as the current release from Microsoft or Real, they would run with it and hope it became a de facto standard.

Back to Basics (but not all the way)

A few years ago there was great excitement around the idea that streaming video on the Internet could be sold, metered, and consumed like cable television but with much more control over targeting audiences and tracking customer usage. Lots of money was spent building Content Distribution Networks (CDNs) and highly available media storage facilities. No one realized how expensive it was to maintain reliable webcast systems or how much Internet media consumers expected to get for free. When the smoke cleared, each of the principal desktop media technologies emerged leaner and meaner and with a focus back on nonstreaming media (with some exceptions, like Internet radio). As it turned out, new desktop and laptop computers had become much faster and cheaper in the meantime, setting the stage for software capable of turning PCs into high-definition video systems. Enter Windows Media 9 Series.


How This Book is Organized

This book is divided into three sections. Depending on what you're looking for, each section may be used on a standalone basis. See the chapter overview on page xii for a more detailed breakdown of these three sections.

Section I

First is a discussion of the new and enhanced feature set of the Windows Media 9 Series product line, from Player and Encoder to Server and SDK (Software Development Kit). Installation scenarios are described for each component, along with test-drive instructions based on years of working with all prior versions of this technology.

I'll skip trying to sell anyone on why they should use desktop video for business or pleasure. If you weren't sold already, you wouldn't be here. A basic theme of this book is doing all your desktop video and audio production work within the Microsoft application suite using default settings as often as possible. Where custom settings or workarounds deliver better quality results, the details of such customization are discussed in detail.

The rest of Section I is about capture, encoding, and streaming. Step-by-step tutorials show how to use established programs and peripheral devices to create, import, and output WM9 files with high video and audio quality. I've taught classes in Adobe Premiere and multimedia in general, but I am not a professional video editor. I have, however, spent way too much time in Media-Wrangling Hell not to have forged a gut-level appreciation of what the conventional tools can actually do for people willing to learn them.

Section II

Section II concerns itself with production and presentation. Again, the focus is on using free, established applications in the Microsoft product line (such as PowerPoint, Producer, and Internet Explorer). For video software developers, there is a chapter on the WM9 SDK with simple source code for programming the WM9 Player, Encoder, and Server. For beginning and intermediate desktop video editors, there is a chapter detailing the use of Microsoft Movie Maker 2—no longer a toy NLE.

Other chapters cover content production for Pocket PC 2002 devices, encoding with the WM9 Screen codec and using WM9 with Personal Video Recorders such as SnapStream. Windows Media Audio gets a special focus including production recipes for converting back and forth from high-quality MP3 and Red Book Audio formats. Sonic Foundry's Vegas 4 editor is featured as one of the first professional NLEs capable of importing and exporting WM9 files natively (not possible in prior versions of Windows Media).

Section III

In section III we look at the issues involved in integrating WM9 with consumer electronics devices such as CD and DVD players, with close attention paid to the emerging HighMAT standard. Also considered is Microsoft's XP Media Center Edition for helping you create a PC-based media center (if not a reasonably priced home theater). Coverage of just-released (as this book was going to the publisher) tools and techniques are included in this section as well.

Finally, there are two interviews with people involved in WM9-dependent businesses: Movielink and Artisan Entertainment. Movielink uses WM9 and its DRM system to rent major Hollywood movies via download. Artisan engaged Microsoft to produce a high-definition WM9 version of the independent feature Standing in the Shadows of Motown. Chapter 18 details the business and technical issues involved in this venture.

Chapter Overview

Introduction

This chapter discusses who this book is for, how it's organized, and why I believe you'll find it useful.

Chapter 1– What's New in Windows Media 9 Series

First, the important new general features: editable file format, integration with consumer electronics devices, and full-screen, high-definition image quality (see Figure I.1). Then a list of specific new and enhanced abilities in each basic WM9 component (Player, Encoder, and Server).

Click To expand
Figure I.1: Encoding WM9 video for high-definition playback.

Chapter 2 – Setting up the WM9 Player, Encoder, and Server

Detailed instructions for installing and test-driving each basic WM9 component. Hardware and system requirements are included, along with suggestions for basic maintenance and system operation following WM9 installation. An overview of the issues involved in setting up the WM9 SDK (see Figure I.2).

Click To expand
Figure I.2: Configuring a WM9 Server publishing point.

Chapter 3 – Capturing Video with the WM9 Encoder

A step-by-step guide to capturing WM9 Video using the free Microsoft WM9 Encoder. Instructions are included for working with analog devices (such as VCRs and DVD players) and digital equipment such as DV camcorders, along with an overview of capture techniques and a focus on full-screen encoding (see Figure I.3).

Click To expand
Figure I.3: Calibrating WM9 Encoder for full-screen capture.

Chapter 4 – Compressing and Transcoding Video with WM9 Tools

More detailed production recipes, this time for converting (a.k.a., transcoding) from one compressed video format to another using WM9 tools. Importing MPEG and AVI files is covered, as well as how to set criteria for creating high-quality desktop video masters (see Figure I.4).

Click To expand
Figure I.4: Converting from MPEG-1 to WM9.

Chapter 5 – Network Delivery with WM9 Server

This chapter covers how to set up and configure the WM9 Server for LAN and webbased streaming. Common publishing scenarios are explained, including examples of Encoder Push (see Figure I.5) and Encoder Pull (in which the WM9 Server is controlled by the WM9 Encoder). Multicast streaming is also covered, along with standard on-demand delivery.

Click To expand
Figure I.5: Calibrating the WM9 Server for Encoder Push.

Chapter 6 – Digital Rights Management (DRM) with WM9

Understanding the design of Microsoft's DRM technology should always precede implementation. This chapter presents various facets of the Windows Media 9 DRM SDK, including code samples, so that prospective content owners and programmers can appreciate the resources required for developing custom DRM solutions (see Figure I.6).

Click To expand
Figure I.6: Overview of WM9 DRM

Chapter 7 – Integrating WM9 with Web Browsers and Office Productivity Tools

What's the best way (outside of the WM9 Player) to render WM9 video clips on your desktop? Depends on your environment and personal preferences. This chapter covers embedding WM9 files in PowerPoint decks, HTML files, and Microsoft Producer applications (see Figure I.7).

Click To expand
Figure I.7: WM9 Movie playing back from an MS Producer app.

Chapter 8 – Working with the WM9 Software Development Kits (SDKs)

There are actually multiple WM9 SDKs, one for each major component (Player, Encoder, Server, Format, DRM, etc.) The first three of these are freely downloadable and code samples are provided on which to base custom applications in VBScript, VB.NET (see Figure I.8).

Click To expand
Figure I.8: Command-line script for cropping a WM9 video clip.

Chapter 9 – Editing WM9 content with Microsoft Movie Maker

Microsoft Movie Maker 2 changes everything for low-end desktop video editing. In my opinion, its capabilities push it well into the midrange as well. On a sufficiently beefy XP machine, you can easily edit a full-screen short feature, burn it to a DVD (with a separate program), then play it back in a PC-equipped home theater with DVD-level audio/visual quality (see Figure I.9).

Click To expand
Figure I.9: Movie Maker 2's user interface.

Chapter 10 – Editing WM9 Content with Third-Party Nonlinear Editors (NLEs)

One of the breakthroughs of WM9 is that you can reedit the files—unlike with the competition and prior versions of Windows Media itself. Finally you can import (and export) Windows Media files into NLEs such as Sonic Foundry's Vegas 4, Adobe Premiere, and Ulead's MediaStudio 7. This chapter provides brief demos to illustrate the process and reveal the enhanced user interfaces (see Figure I.10).

Click To expand
Figure I.10: Vegas 4 project including source WMV files.

Chapter 11 – Using WM9 with Personal Video Recorders (PVRs)

If Windows Media 9 is so great, can I you use it with a PC-based PVR instead of TiVo? I do. Actually, I use it alongside of TiVo, but that may change. The best application I've found so far is SnapStream (see Figure I.11), and here we see the synergy. Unlike with TiVo, SnapStream gives you direct access to the recorded program files in WM9 format.

Click To expand
Figure I.11: SnapStream User Interface.

Chapter 12 – Producing Windows Media Content for Pocket PC Devices

While not big and bold, Windows Media on handheld devices can still be highly useful and often entertaining (see Figure I.12). This chapter concentrates on Pocket PC 2002 devices and demonstrates several ways to produce WM9 content for handheld playback (with the WM9 Encoder, Movie Maker 2, and SnapStream).

Figure I.12: Windows Media Movie on a Pocket PC 2002 device.

Chapter 13 – Focus on Windows Media 9 Audio

Audio is another digression from the main focus of this book, but essential nevertheless. Microsoft has put a lot of effort into making Windows Media 9 Audio a de facto standard and has succeeded in many ways. This is by no means an exhaustive evaluation, but rather a collection of useful workflow scenarios, including batch conversion to and from MP3, how playlists work, and converting WM9 Audio to Red Book Audio (see Figure I.0.14).

Click To expand
Figure I.13: Microsoft Plus! DME User Interface.

Chapter 14 – Encoding with the WM9 Screen Codec

For some reason, the Windows Media Screen codec did not seem to find a large user base in WM7 (despite Microsoft's ample support on its web site). The WM9 version of the Screen codec is significantly improved and provides an excellent way to capture full-screen desktop activity and deliver it with audio to users at 56 Kbps and higher (see Figure I.14).

Click To expand
Figure I.14: Setting up for a WM9 screen capture session.

Chapter 15 – WM9 Integration in Consumer Electronics

This is another WM9 breakthrough, particularly the ability to play WM9 media files from DVD-R on HighMAT-enabled consumer DVD players (see Figure I.15). Such products are just now shipping, but the implications for desktop video-producers are exciting. Windows XP Media Center Edition is also covered here.

Click To expand
Figure I.15: Root directory of a HighMAT disc.

Chapter 16 – Late-breaking WM9 News and Production Tools

This chapter features several WM9 technologies that either arrived late in this book's production schedule or didn't seem right for inclusion in previous chapters (see Figure I.16). Specifically:

  • WM9 plug-in for Adobe Premiere 6.5

  • Microsoft Video Compression Manager,

  • WM9/AVI Capture Tool

  • WM9 Enterprise Deployment Pack

  • Making VCDs from WM9 media.

Click To expand
Figure I.16: User interface of WM9CAP.

Chapter 17 – Business Interview: How Movielink leverages WM9

Who's using Windows Media for commercial distribution of movies over the Internet? Movielink, for one (see Figure I.17). Backed by several major studios, Movielink offers high-quality, DRM-protected, Windows Media movies at its web site for rental fees competitive with your neighborhood video store. Why did they choose this technology? Read the interview and find out.

Click To expand
Figure I.17: Movielink's home page.

Chapter 18 – Production Interview: Making the WM9 version of Standing in the Shadows of Motown

Microsoft has a history of converting theatrical releases to Windows Media format (see Figure I.18). WM9 provides a means to take it to the next level: high definition. Standing in the Shadows of Motown is a perfect example of how Microsoft is working with traditional independent studios to simplify the production and exhibition process using next-generation hardware and the Windows operating system. Read this chapter for the technical (and business) details.

Click To expand
Figure I.18: WM9 in the movie theater.


Who Needs This Book

Note

No Mac Yet: While Windows Media is currently available for the Mac, WM9 is not released on that platform as of this writing.

I believe there is great pent-up demand for any widely distributed PC platform that can deliver full-screen, DVD-quality video and audio, especially from standard silver discs. Just think about how such technology is glamorized on TV and in the movies. Throughout this book you will find tutorials, recipes, and step-by-step instructions on how to capture, edit, compress, serve, and otherwise present WM9 files. The emphasis is on getting the best possible results using default settings, but custom solutions are recommended where appropriate.

Like my earlier book How To Digitize Video, Windows Media 9 Series by Example is about making movies on PCs and enjoying the process. You do not need to be a programmer or a video technician to understand the material presented herein, although it certainly won't hurt. The only prerequisite is that you are an experienced, enthusiastic user interested in getting top quality media into and out of your WM9-equipped computer.


My Reference Machine

Because I am concentrating on Windows Media, it seemed like a good idea get a dedicated PC to use as a reference machine. This makes it easy to present recipes and performance assertions that I can verify on at least one popular platform with known hardware limits. For this dubious honor, I bought a brand new HP Pavilion 752n from Micro Center off US 101 in Santa Clara, California. The specs, which you can verify at http://www.hp.com, are as follows:

  • 2.0 GHz Pentium® 4 processor

  • 512 megabytes (MB) of RAM

  • 60 gigabyte (GB) hard drive

  • CD-RW drive

  • DVD-ROM drive

  • Multiple USB 2.0 and 1394 (FireWire) ports.

The pretax damage for this minitower was roughly $1,000.00, a nice round number for a computer that can run circles around the $5,000 486 machines we used for multimedia production in the early 1990s. I chose the box not only for the price, but also because it has nearly the same specs as the system Microsoft chose to host an early version of its Windows XP Media Center. This family room–based digital hub has a hardware MPEG-2 encoder to capture incoming television content (in PVR mode), but otherwise handles WM9 software and media with the native HP system components.

No monitor included. All capture cards and external mass storage devices extra. The machine came preinstalled with XP Home plus a huge complement of thirdparty software. When I got it home I wiped the hard drive and installed Windows XP Professional along with Service Pack 1 and all the latest updates and patches from http://www.windowsupdate.com. Then I installed the WM9 Player, Encoder, and SDK. You might argue that changing the OS and erasing the third-party applications makes this box ineligible as a true reference machine, but it's the raw processing power (CPU + RAM + hard drive capacity) that I'll be using to judge performance throughout this book. I don't have any control over how other users may calibrate system or application software on their own systems.


Updates

Want to download the source code or get periodic updates? Send a blank email to wm9@news.cmpbooks.com. If you have a suggestion or correction, please send your comments to: njohnson@downrecs.com.


Copyrights and Permissions

Most of the illustrations in this book are screen shots taken from WM9-related applications running on my previously described reference machine. Others images are credited where they appear. Most of the code listings are original to this book unless otherwise acknowledged. In several chapters there are significant reproductions of material published at the Microsoft web site. Permission has been obtained from Microsoft for such usage, and the instances are clearly credited, as well as indented and set in sans serif type.


Acknowledgments

Without the help of the following people, this book could not have been completed: Cathie Nelson, Dan Beyer, Tim Tully, Sharna Brocket, Neal Page, Amy Jorgenson, Keith Hatounian, David Caulton, Jennifer Hatley, John Farrell, Rachel Heffron, and Dominic Milano.

I am especially thankful to Technical Editor Galan Bridgman and my editor at CMP Books, Dorothy Cox, and copyeditor/designer Madeleine Reardon Dimond. Visit the Microsoft Expert Zone (http://www.microsoft.com/windowsxp/expertzone) for Galan's continuing coverage of new Windows Media technology.


Section I

Team LiB

Section I:

Chapter List

Chapter 1: What's New in Windows Media 9 Series
Chapter 2: Setting up the WM9 Player, Encoder, Server, and SDK
Chapter 3: Video Capture in WM9
Chapter 4: Compression and Transcoding with WM9
Chapter 5: Network Streaming with WM9
Chapter 6: DRM, WM9 Style


Chapter 1: What's New in Windows Media 9 Series

Overview

If you're already working with Windows Media, the following additions/enhancements in WM9 should make a lot of sense:

  • High-definition, full-screen quality (now possible on a killer machine)

  • Editable file format (as opposed to the tertiary, hard-to-reedit format of prior versions)

  • Suitable for embedding in consumer electronics devices (such as CD and DVD players)

  • Instant-On performance (for broadband users)

  • Player enhancements such as variable speed playback, video smoothing, and a Smart Jukebox.

  • Lossless and Surround Sound (24-bit/96 kHz/5.1 channel) audio codecs.

If you are new to Windows Media, these and other new capabilities may be less meaningful. Nevertheless, most of them are unique among the current competition. True, QuickTime lets you reedit final-format media (Sorenson movies, for example) but this is not usually recommended in professional production. And, while Real offers competitive technology in certain areas, it is not across the board nor as well-integrated.

I discuss the implication of each bulleted item in more detail at the end of this chapter. For now, let's break down the feature set of each new or improved component in the WM9 application suite. I'll make comparisons mostly to WM7 (as opposed to Windows Media Player for XP, a.k.a. WM8) and will concentrate mainly on WM9's video aspects.


New WM9 Player Features

Figure 1.1 shows the WM9 Player in Full mode (unskinned), rendering a 640×480 clip on a 1,024×768 desktop. If you're used to the WM7 user interface, you'll notice changes to several items in the taskbar: Copy from CD, Copy to CD or Device, and Services, plus the ability to easily hide the taskbar. Let's get these and the standard menu items out of the way before discussing the serious new features.

Click To expand
Figure 1.1: Windows Media 9 Player running in Full mode.

XPMP (WM8) has a similar look and feel but includes only the first three of these new taskbar items. Here's what they do and why that's important.

Copy From CD

This is the audio CD ripper. Its UI is similar to that of the CD Audio item in the WM7 taskbar, but there is now a data field for Composer (as opposed to simply the recording artist), as well as buttons Find Album Info and View Album Info. If you've never explored these features before, there is quite a wealth of artist/album data available through AMG (the All Music Guide), assuming you have a web connection.

As for actual ripping, you can now set a fixed data rate as high as 192 kilobits per second (Kbps). The limit in the WM7 ripper was 160 Kbps. What's more, you can encode using a two-pass Variable Bit Rate (VBR) that allows a data rate as high as 355 Kbps if needed, or in so-called Lossless mode. Microsoft claims this "mathematically" lossless option preserves all the fidelity of the source CD track in WMA format, even though 2:1 compression is employed (see Figure 1.2). As you might suspect, lossless WMA audio files tend to be quite large—as in 25 megs for a 3.5-minute pop song, based on my tests—but they do sound good on decent speakers. Doing the math here gives us a data rate of approximately 952 Kbps. Pretty beefy, mathematically lossless or not. Unlike in WM7, there is a prominent link for obtaining third-party MP3 encoders that appear in the same dropdown menu as VBR and Loss-less after you install them.

Click To expand
Figure 1.2: Selecting a quality mode for audio ripping.

Copy to CD or Device

What's greatly improved here is the ability to burn a CD—either a data CD-ROM or a standard music CD in Red Book Audio format. Audio CD creation was possible to some degree in WM7, which used an Adaptec plug-in, but was reportedly problematic for many users. XP added Microsoft burning enhancements for both audio and data CDs, which make this checkered history even more unclear (especially when you factor in different types of drives and possible conflicts with third-party burning software).

Recording speed depends on the capability of the CD burner in or attached to your computer. On my HP reference machine, WM9 ripped a 10-song audio CD (approximately 54 minutes TRT) in lossless mode in under four minutes. The aggregate size of the lossless WMA files was 369 megabytes on my hard drive, which burned to a CD-R in under 10 minutes but only occupied about 50 megabytes on the CD.

This is because the highest specific data rate allowed for even lossless audio files burned to CD-ROM by the WM9 Player is 128 Kbps. The player says "converting" during the process, which suggests additional compression. I got around this by selecting the automatic quality setting, which produced files on CD exactly the same size as the lossless files on the hard drive. Burning to Red Book Audio format also took around 10 minutes. Each disc played without incident in my iRiver SlimX multicodec disc player.

Copying music to a portable device is not much different than it was in the WM7 Player, although you can now copy a playlist as well as an itemized collection of media files, and a larger number of specific portable devices are supported. A playlist may also be burned to CD-ROM, although not yet to DVD. WM9 does not support native DVD burning as of this writing. As you'll see below, the new Smart Jukebox lets you do some very useful things with playlists. Also note that a new convention called HighMAT (developed by Microsoft and Panasonic) is now surfacing that lets WM9 files burned on DVD play natively on commercial DVD players. HighMAT is covered in detail in Chapter 15.

The take-away? If you want to burn archives of ripped lossless WMA files to CD-ROM, use the automatic quality setting in WM9 or a third-party burning program such as Roxio's Easy CD Creator 5. Better yet, burn your lossless archives to DVD to save storage space if you've got a DVD burner and big audio collection you want to back up. Roxio's Easy CD Creator 5 has a DVD-R option available at http://www.roxio.com.

Services

As the rollover says, this is where you "Find Subscription Services on the Internet." Such services include movies, music, news, sports, and other types of entertainment, all delivered right to your WM9 Player. Good intentions, to be sure, but not an instant winner unless the so-called Premium Content starts good and stays that way. Companies like Press(play) and FullAudio offered free trial subscriptions in beta releases, but I believe this particular aspect of WM9 will remain highly volatile going forward.

New Standard Menu Items

The standard Windows menu bar for the WM9 Player (in Full mode) also contains some new and changed items. In the File menu, there are expanded playlist functions and a Copy item with options for copying to and from audio CD. Simple enhancements, but handy nevertheless and worth exploring, as are some of the new elements in the View menu. One nice thing about the Full Screen option, now in the View menu but also available with Alt+Enter, is that a video control bar appears briefly at the bottom of the screen then goes away after a second or two. You can get it back with a mouse move or key tap but the video doesn't revert to the last 1x or 2x mode (unless you tap the Escape key), as in WM7.

The Play menu is more interesting. For instance, there is the Play Speed item, which lets you speed up or slow down the pace of the media presentation without changing the pitch of the audio (covered in this chapter on page 5). There are also new items named Audio and Language Tracks and Captions and Subtitles, not to mention VCD or CD Audio, all of which clearly suggest what they control and how much richer the WM9 Player experience will likely become.

The Tools>Options menu is where you can calibrate much of the WM9 Player's new functionality, such as CD burning (described previously). Also under Tools is an expanded Download item for procuring skins, plug-ins, portable device software, etc. The item for License Management hasn't changed much from the WM7 Player menu, although Microsoft has made major improvements to its overall Digital Rights Management (DRM) implementation in WM9. We'll cover this in Chapter 6 in greater detail.

Help has a longer table of contents than in WM7, including a Getting Started section that takes you to the Microsoft site for their version of what's new and important in WM9. It's well worth a visit.

Variable Speed Playback Control

Now for the main courses. I already mentioned the Play Speed item in the Play menu, but its importance should not be underestimated. At a WM9 press demo, the Microsoft MC played a clip from Ferris Bueller's Day Off—the one where a dorky teacher creeps out students with his lethargic vocal delivery. The presenter played the clip again with Play Speed set to Fast, and the effect was galvanizing. Ferris' teacher suddenly didn't seem dorky and the pitch of his voice was not altered, although his movements were noticeably accelerated (see Figure 1.3).

Click To expand
Figure 1.3: Choosing a Play Speed option.

Third-party software developers, especially in the education market, have been trying to add this feature to their multimedia products for years. They have not found it easy. Try shooting some footage of a fast-talking friend or family member, encode it in WM9 format, then play it back for him or her with Play Speed set first to Normal, then to Slow, and see the look on his or her face.

Note

Play Speed Limitations: This feature works only on WM9 files (big surprise). You can calibrate the speed of slow or fast mode by clicking the button at the left edge of the bar just under the video window, with the mouse-over tag Select Now Playing options. Select Settings>Play Speed Settings.

For Developers: This feature has an API which is addressable by other applications that employ the WM9 Player object.

Video Smoothing

Here's something else that third-party programmers have tried but never mastered, at least not for commercial consumption. Microsoft's solution takes a lot of computing power, but it does work (again, only with WM9 files). The best way to see it for yourself is to dig up, say, an old 10-frame-per-second Cinepak movie, transcode it to WM9 format, and then play it twice in the WM9 Player—once with smoothing off and again with it on. The difference should be quite dramatic, depending on the nature of the content. Figure 1.4 shows where to enable this feature (Tools>Options>Performance>Advanced). Is this true frame interpolation? Yes, according to Microsoft.

Click To expand
Figure 1.4: How to enable video smoothing.

If you're working only with newer footage (encoded at 30 fps), your audience will probably not need to turn this on. But you never know when you might need to deal with legacy multimedia clips, and having the WM9 Player use video smoothing is way better for all concerned than transcoding old 10 or 15 fps clips to 30 frames per second. Microsoft says smoothing only works for clips with a maximum window size of 320×240.

Smart Jukebox

This is an impressive combination of features, but mostly meaningful to users with huge audio file collections on their Windows machines—as opposed to desktop video wranglers, the intended audience for this book. The WM9 Smart Jukebox combines an improved Media Library with several new tools such as Ratings (Automatic and Personal), Auto Playlists, a Playlist Editor, and an Advanced Tag Editor with Synchronized Lyrics—all of which work together to provide users with powerful ways to organize, prune, annotate, and otherwise manage their digital music collections (WAVs, WMAs, and MP3s) to the point of utter distraction. I can't do it justice in a few paragraphs, but demos of the personal rating system and synchronized lyrics editor have convinced me that the Smart Jukebox is a killer application unto itself.

The Mini Player

Microsoft features this enhancement prominently in their online descriptions of what's new in WM9 (see Figure 1.5). Despite its novelty and occasional honest value, it seems more of a distraction. Consuming video is not a passive experience (with some exceptions, like streaming news). If you're going to watch at all, why not big and bold? The Mini Player has an Instant Message/web cam feel to it that might confuse some users, but I suppose it is too early to say. For audio only, it is quite handy indeed.

Figure 1.5: Mini Player in Video mode, distracting me from my deadline.

To run it, right-click an unused spot on the Windows taskbar, select Toolbars, and then select Windows Media Player. The WM9 Player will now appear as the Mini Player, docked in the taskbar, whenever you minimize it. Fire up the WM9 Player, load a movie clip, click the Minimize button, and see for yourself.

Player architecture

According to Microsoft, the WM9 Player design goals were: fast and flexible playback, intelligent organization, best A/V quality anywhere, and high extensibility. They have documented in detail how they claim to have achieved these goals in their printed literature and at their site (http://www.microsoft.com/windowsmedia). For the most part, I agree with their claims. At the press demo mentioned previously, they stated that the WM9 design spec will be frozen for the next three years for the sake of chip makers and consumer electronics vendors. Figure 1.6 illustrates how the WM9 Player components participate in the overall Windows Media 9 Series architecture.

Click To expand
Figure 1.6: WM9 Player's role in the Windows Media 9 Series architecture.

Player Upgrade versus Codec Upgrade

For users not wishing to upgrade to the WM9 Player right away, but who would like to enjoy media encoded with the WM9 technology, here's the deal:

  • If you have WM7 Player installed and try to play a WM9 media file, your environment will be upgraded with the WM9 codecs automatically, depending on your system security settings (you may be prompted first).

  • If you have WM8 Player installed (in other words, if you're running XP prior to installing WM9), your codecs will be upgraded automatically, and you'll be prompted to upgrade your player from WM8 to WM9—the recommended course of action.

  • If you're still at WM6.4 (a likely scenario if you're running Windows NT Workstation 4 in, say, a corporate environment) you will need to specifically download and install WM9. As you may know, NT4 does not permit upgrading from WM6.4 to WM7 and its family of codecs.

This is the official story. To the extent that I have tested it, it plays out as described. If your system is well-organized and maintained, your mileage shouldn't vary that much.


New WM9 Encoder Features

On to the WM9 Encoder. While the new Player is certainly impressive, getting content into a playable format is an even more important job. By playable format, I mean full-screen DVD quality performance from a hard drive, silver disc or broadband/LAN connection. Much of this book will focus on the video-encoding process using the WM9 Encoder and its related services. As most desktop videographers will attest, making excellent clips, if not feature-length presentations, is often more fun than watching them.

In the old days (circa 1996), professional compressionists loaded uncompressed AVI files into programs such as Adobe Premiere for Windows, Ulead MediaStudio, Terran's Media Cleaner, or even Microsoft's original VidEdit workhorse for output as finished video clips. Formulas were created; recipes followed. Everyone seemed to have their own secret sauce for cooking good-looking Cinepak, Indeo, and MPEG-1 movies as rich as 320×240, 15 fps (30 fps for MPEG-1). This was all in the video-for-Windows world, of course, as opposed to the QuickTime world, where things were much more cohesive—at least until your QuickTime clips required conversion to Windows format.

At the dawn of streaming media, Microsoft released some command-line tools for conversion from AVI to ASF (Microsoft's original Active Streaming Format). In retrospect, these tools did the job, but few developers used them for serious production. Starting with Windows Media 7 (Microsoft skipped a grade or two in their naming scheme), there was finally a good-enough user interface for converting and capturing Windows Media files directly, without using a third-party editing suite.

Still, the WM7 Encoder had a steep learning curve. For example, a separate command line tool was required for VBR/two-pass encoding. Using the WM8 codecs with the WM7 Encoder was also confusing, and some features—like the screen capture codec that worked great at 56K—seemed unknown to most developers. You could put together reliable recipes for producing high-quality clips if you put your mind to it, but they were hard to memorize (despite the profile editor) and not often intuitive while working in the WM7 Encoder UI.

Addition/Enhancement Overview

Unfortunately, the Encoder UI hasn't changed all that much, but I don't really have any great ideas for improvements. The ability to easily capture, transcode, and play back at 640×480 (as opposed to 320×240) is what takes WM9 to the next level for me and, I hope, my clients. Of course, this is only the midrange of WM9's formidable power, but in the real world it is a significant improvement. For general audiences, here's a list of new and enhanced features that Microsoft is touting, followed by a capsule description for each item:

  • Device control for DV cameras and video tape recorders (VTRs)

  • Multichannel audio sourcing

  • Frame-accurate time code data

  • Scalable video support

  • Multiple bitrate audio

  • Multiple language audio support

  • Push distribution and remote server administration

  • Server monitoring

  • Live DRM support

  • Nonsquare pixel support

  • Plug-in support

  • Windows Media stream editor

  • Windows Media file editor

  • Windows Media Video 9 Image

Again, the previous features are new to WM9. Specific enhancements include:

  • Improved Session wizard

  • Conversion of DV and MPEG-2 files

  • Improved source switching

  • Optimized encoding guide

  • Improved screen capture codec

  • Improved command line encoding tools

  • Improved profile editor

  • Improved support for batch encoding

  • Much improved encoder SDK

Device Control for DV Cameras and Video Tape Recorders (VTRs)

This capability has been available on the Windows desktop for years, but through third parties. (Remember the MotoDV card?) QuickTime had it from the beginning, more or less, and now Windows Media has it natively. IEEE 1394 cameras are supported, as are SMPTE and Sony protocol-controlled tape decks. This means users can create and execute Edit Decision Lists (EDLs). Very nice, but about time.

Multichannel Audio Sourcing

In Microsoft's words:

Windows Media Encoder 9 Series enables real-time capture of multichannel audio, and can also encode to multichannel audio using the new Windows Media Audio 9 Professional codec with six or more discrete digital channels. Multichannel audio can be sourced from MPEG-2 and multiple PCM WAV files and encoded using the Windows Media Audio 9 Professional codec at bit rates from 128 to 768 Kbps.

Figure 1.7 shows the multichannel audio settings.

Click To expand
Figure 1.7: Setting multichannel WAV source properties.

Frame-accurate Time Code Data

This is related to device control, described previously. Prior to WM9, there was no native frame-accurate time code support in Windows Media. In the past, various third parties (Sony, for example) offered near-frame-accurate hardware control (and products like Premiere for Windows let you edit at the frame level), but now WM9 can capture the original source timecode. Again, about time.

Scalable Video Support

For Internet streaming, this is key. In the old days, anyone hosting web video clips had to manually encode not only for multiple players (Windows Media, Quick-Time, Real, etc.), but at multiple connection speeds for each player (56K, 300K, etc.). This got better through automation from firms such as anystream, Telestream, and others and through just-in-time encoding from a single source file on the server in the manner of genericmedia and Vinguage, but now WM9 handles it all internally.

The catch is that, on the server side, you have to use Windows Server 2003 and employ Windows Media Services 9 Series (no, this is not a typo, just a confusing moniker in the WM9 taxonomy). Combining these components lets you create streams with multiple bit rates (MBR) and multiple resolutions, all in one encoding session. For example, the same WM9 file can contain:

  • a 176×144, 29 Kbps video stream (for dial-up users)

  • a 320×200, 100 Kbps video stream (for DSL users)

  • a 640×400, 500 Kbps video stream (for corporate LAN users)

During a broadcast, Windows Media Services 9 Series can monitor throughput to a given player and shift gears if network conditions change.

Multiple Bitrate Audio

Again in the words of Microsoft:

As with MBR video, a single file can contain scalable audio content, from a 20 Kbps dial-up stream up to a 64 Kbps consumer CD quality broadcast for broadband users. So as connection speed increases, the bandwidth allotted to audio can increase as well. And the server and client will continually monitor connection speed and automatically scale the audio to match the current network speed.

Multiple Language Audio Support

Based on the Windows language setting, the WM9 Player will render the appropriate language track if such a track has been specifically encoded and included in a multiple language file created with the WM9 Encoder. A user can override a given language setting, if necessary, from within the WM9 Player—assuming there are other language tracks available in the file.

Push Distribution and Remote Server Administration

Simply put, this feature allows a user to access a remote server to create a publishing point (for a media file) and quickly schedule a broadcast time from the WM9 Encoder. Experienced users can administer, monitor, and otherwise configure Windows Media Services in the Windows Server 2003 from directly within the WM9 Encoder.

Server Monitoring

This is a long overdue way to monitor real-time server-side statistics during a live broadcast. It includes data on audience size and quality of server performance (so that more servers can be added if necessary in a large broadcast). Data is presented to the user in the WM9 Encoder UI (see Figure 1.8).

Click To expand
Figure 1.8: Monitoring server performance in a live event with the WM9 Encoder.

Live DRM Support

Again from the Microsoft literature:

Music and video files aren't the only materials that can be sensitive and proprietary. Live event broadcasts can contain information that needs to be protected from unauthorized viewing or copying.

Secure content distribution for either live or on-demand streamed content is possible through the Windows Media Encoder 9 Series. In a live event, content captured from an attached device is protected on the fly. This also works for doing live broadcasts of pre-encoded content. If a real-time broadcast of a file is being made, the encoder can apply DRM during the broadcast. In either case, the content goes precisely to the intended audience.

Windows Media Encoder 9 Series includes complete integrated support for third-party license server providers allowing content authors to easily define rights and other properties for their content.

I will try to verify these assertions later in this book.

Nonsquare Pixel Support

This has usually been a nonissue for people creating original video content on the PC or Mac desktop, but it is quite meaningful for anyone who is concerned about distortion when converting from, for instance, MPEG-2 source. According to Microsoft, the WM9 Encoder includes new support for encoding to nonsquare pixels natively. This means that the true resolution of MPEG-2 and other DV content can be preserved without distortion.

Plug-in Support

For software developers more than media producers. Supported third-party plug-ins must follow strict Microsoft conventions and are applicable at encode time as opposed to playback time. Check out http://www.wmplugins.com for a large and growing list of effects, skins, visualizations, and other items supported by this feature. This could be big.

Windows Media Stream Editor

This feature lets you modify the composition of an existing video or audio MBR file. Separate streams can be combined into a larger, single file for less media wrangling. Whopping MBR files can be broken down into their most useful or important streams.

Windows Media File Editor

With this feature you can trim a clip's start and end points, add metadata and markers, insert script commands, and convert multichannel audio to stereo, among other things. Figure 1.9 shows the Media File Editor's UI.

Click To expand
Figure 1.9: Post-encode editing with the WM9 Media File Editor.

Windows Media Video 9 Image

Using this new codec, a still image may be processed into a full screen (640×480) video clip. This is accomplished with pan, zoom, and crossfade effects, which can produce surprisingly good results. The resulting WM9 video file may then be encoded (with either CBR or VBR) at a relatively low data rate while retaining high image quality.

Improved Session Wizard

Compared to the one in WM7, the Session wizard in WM9 is definitely improved and will be used in numerous examples throughout this book. The idea is to use system and application defaults as long as they deliver the required quality, with custom settings where necessary. WM9's simplified, more intuitive Session Wizard facilitates this.

Conversion of DV and MPEG-2 files

In my first tests with the WM9 beta, it handled 1394 input from my JVC DVM70 MiniDV camcorder without any problems, unlike with WM7 and certain versions of Movie Maker. I believe other DV cameras may also start working properly with WM9. If you install an MPEG-2 decoder (available at http://www.microsoft.com/windows/windowsmedia/windowsxp/buypacks.asp), you'll be able to more efficiently convert MPEG-2 source to Windows Media format using the WM9 Encoder (according to Microsoft).

Improved Source Switching

Another Microsoft quote:

Live events often involve multiple camera angles, insertion of stock footage, and shots from multiple locations. Windows Media Encoder 9 Series is designed to enable this scenario from the ground up. New source switching options allow even greater control over live-event content production and delivery, enabling users to switch between live and prerecorded input sources.?

Optimized Encoding Guide

This ties into the improved Session Wizard, noted previously, and also helps establish a default-settings approach to encoding video with WM9 (see Figure 1.10). The basic settings can seem confusing at first—we'll clear that up in Chapter 4 and other later chapters—but the focus on distinct delivery methods is the right way to go.

Click To expand
Figure 1.10: WM9's new focus on media delivery methods.

Improved Screen Capture Codec

Why this feature didn't get better play or developer usage in WM7 is a mystery. Microsoft claims it is even better in WM9, and I hope the examples presented later will convince you to test it even if you don't have a current project that can exploit its improved performance criteria. Thanks to WM9's VBR technology, even lower data rates (such as 56K) are supported with no dropped frames.

Improved Command Line Encoding Tools

Use these for large batch-encoding projects and automation of routine media-wrangling tasks. Examples are provided where appropriate in this book.

Improved Profile Editor

If you do need to customize the default settings I recommend, the WM9 Profile Editor will likely be the place to start. Using this editor, you can create and save custom profiles with specific calibrations for bit rate, frame rate, and video resolution, for example. Such profiles may be transported to other encoding stations for enterprise-wide consistency.

Improved Support for Batch Encoding

This is meaningful in the context of device control (described previously on page 10). What's improved are the elements of the WM9 Encoder SDK that programmatically support control of devices such as DV cameras and VTRs via standard time-code protocols, such as Sony's Remote-1.

Improved Encoder SDK

New features of this enhanced Windows Media component are:

  • Control of connected devices, noted on page 10)

  • Review of encoding settings for an existing content stream

  • Basic editing support for clip trimming, etc.

  • DRM support for adding DRM to existing content streams

  • Profile support for programmatically creating profiles

  • Sample applications

  • Enhanced documentation


New WM9 Server Features

Yes, there is a new version of Windows Media Server, but Microsoft has given it two layers of context. As of this writing, it is now an integral part of Windows Media Services 9 Series, which is now part of the Microsoft Standard Server 2003, the Enterprise Server 2003, and Datacenter Server 2003.

We'll get into the details of the WM9 Server in Chapter 2 and Chapter 5, with plenty of examples. For now, here is a list of its important new features, followed by a summary of each one:

  • Fast streaming in broadband environments

  • Server-side playlists

  • Extensive advertising support

  • Improved scalability and reliability

  • Improved cache/proxy architecture

  • Improved ease of administration

  • Scenario-based wizards and Help

  • Flexible plug-in architecture

Fast Streaming (in broadband environments)

Microsoft literature identifies four subcomponents of this new feature:

  • Fast Start: In other words, little, if any, initial buffering (Microsoft claims none).

  • Fast Cache: Accelerated buffering during normal stream playback for extra reservoir of content if stream starvation occurs.

  • Fast Reconnect and Fast Recovery: In effect, the ability to offer an uninterrupted presentation during short network disconnects or intermittent data corruption. I have no doubt that work has been done in this area, but real-world performance will be required as proof.

In the server admin UI, you can scale back Fast Start and Fast Cache (depending on expected user demographics). For the record, you have to use the WM9 Player to take advantage of all this.

Server-Side Playlists

From the Microsoft documentation:

Playlists are managed on the client side in the previous version of the Windows Media platform. To play an element in the playlist, the client had to make a new connection to the server to play each individual element in the playlist, which is an intensive process that reduces the performance of both the client and the server. Furthermore, it requires the client to process potentially complex playlist syntax, limiting playlists to "smart" clients such as PCs and ruling out "thin" clients such as wireless devices.

Windows Media Services 9 Series introduces Server-Side Playlists (.wsx extension) that break through these limitations. Server-Side playlists are managed and executed by the server, so the server manages the changes from one piece of content to the next. The client is freed from managing the changes, and is required to make only one connection to the sever to receive a single smooth, continuous stream. This dramatically increases the reliability and performance relative to conventional client-side playlists.

In addition, for both on-demand or live streams, Server-Side Playlists enable a radio/TV Program Director level of functionality and provide the unprecedented ability to dynamically change the content within the playlist—change the order of clips, insert a new clip, insert an ad, etc.—during broadcasts, without interruption to the viewer.

Sounds good to me. See Figure 1.11.

Click To expand
Figure 1.11: WM9's server-side playlist administration UI.

Last but not least, Microsoft says that server side playlists are formatted using XML-based SMIL 2.0, allowing for dynamic creation by scripts and applications. Web services with individual user relationships can thus build constantly updated broadcasts on the fly, whenever an identified user tunes in.

Extensive Advertising Support

The devil we know. Improved in WM9 Server to include bumper, trailer, and interstitial ads, plus the ability to play an advertisement prior to a broadcast regardless of when a user turns in. Usage tracking and reporting are also improved in Windows Media Services 9 Series.

Other Improvements

The rest of the WM9 features in this list—improved scalability and reliability, improved cache/proxy architecture, improved ease of administration, scenario-based wizards and Help, and flexible plug-in architecture— are all self-explanatory and relatively subjective. If you'd like to see the official Microsoft position on these features, please point your browser to http://www.microsoft.com/windows/windowsmedia/default.asp.


New WM9 Digital Rights Management Features

This is a big and volatile subject area, best deferred in its entirety to specific later chapters, such as Chapter 6. Microsoft is serious about making DRM work and claims to have integrated it in WM9 at a deep level. I don't doubt that things are much better than they were in WM7, but I'm still skeptical. Because this book is primarily about personal and commercial desktop video production and playback, I can't ignore the role and effect of DRM. But I will keep it separate from the basic production processes unless copyright issues are directly involved.


Summary

This chapter began with a bullet list of the major additions/enhancements now embodied in Windows Media 9 Series. Based on the descriptions we've seen of the feature sets of the new Player, Server, and Encoder, let's consider the implications of each point.

High-Definition, Full-Screen Quality

Granted that it takes a very powerful PC to render video comparable to commercial HDTV, but WM9 does support this level of quality. Production scenarios presented in this book will prove this. The implication? Your home theater can be powered by Windows Media if you're willing to do the encoding chores. Set the bar a bit lower, and you can bypass DVD authoring and present DVD-quality video in business environments on your Win2K or XP laptop or desktop using MS Office publishing tools—or just the WM9 Player.

Editable File Format

As long as you keep the bit rate high, you can use WM9 video clips as raw source files. Of course, there are diminishing returns in this scenario, but it beats the old system where an ASF or WMV clip was the end of the line in terms of reediting/re-encoding. As long as your editing software supports WM9 (as does Adobe Premiere for Windows 6.5, for example) you will have much more flexibility in creating full-screen, TV-quality features, not to mention shorts, industrials, and clips for all kinds of personal uses.

Suitable for Embedding in Consumer Electronics Devices

When I can rip a DVD movie rented from Blockbuster into full-screen, high-quality WM9 format on a $500 PC (especially with a $100 analog capture card), burn that file onto a $2 DVD-R, and then play that DVD-R on a $100 DVD player bought at Best Buy, the world will be changed forever. Okay, maybe just my world, but it will still be changed. Not that I would ever make a copy of that DVD-R for anyone else.

Outside of this personal time-shifting scenario, given the suggested price/performance references, it's not hard to see many other implications involving WM9 as a breakthrough desktop video platform, legal and otherwise.

Instant-On Performance/Lossless and Surround Sound Audio

These items were in the original list and are important in their own right, but I believe they are gravy to the previous three points. In fact, they specifically apply to WM9 files rendered on a PC, not a consumer electronics device, at least for now. That being said, the main implication of each one is that the fabled convergence of high-quality media with personal digital rendering devices is finally happening (on the desktop if not the Internet) and within technical and financial reach of most consumers who use and like computers.


Chapter 2: Setting up the WM9 Player, Encoder, Server, and SDK

Overview

Microsoft recommends that you install the Windows Media 9 Series components on machines running Microsoft XP (excluding the Server piece). That being said, I have installed and run the relevant components on Windows 2000 computers without mishap. Windows 98SE and ME are officially supported, but I have not thoroughly tested WM9 in these environments and would recommend neither for resource-intensive media handling on general principles. If you are able to enjoy WM9 on Windows 98/ME successfully over time, my hat is off to you for maintaining what I assume to be a well-tweaked and orderly system. And don't forget file size limits: Windows ME and 98 do not support the NTFS file system, which allows for files larger than 4 GB. Windows 2000 and XP (as well as NT) do support NTFS and can therefore handle huge raw media files, such as feature-length AVI captures. The reported NTFS limit is 1,000 GB.

The best general advice I have for someone installing any WM9 components (especially the Player) is that you carefully consider how this new software will change the way you use your computer. If you are installing the Player just to render Windows Media clips as they come across your desktop, you may not give the matter much thought. But if you're putting WM9 on your laptop to make it your portable media center, you might want to review the existing state of your local file system and plan accordingly. We'll cover this in more detail in "Digital Lifestyle Issues" on page 26. Of course, your server, encoder, and software development machines are probably dedicated systems already and thus not subject to the same type of consideration.

Please read this chapter all the way through (at least skimming the parts not related to the specific component you want to install) before installing any WM9 software on a production machine or carefully maintained personal system.


Installing the WM9 Player

Until WM9 ships native with new Microsoft operating systems (or comes preinstalled on new computers from Dell, HP, Sony, Gateway, etc.), most users will procure the WM9 Player online. Several sources should remain available:

  • http://www.windowsmedia.com

  • http://www.microsoft.com/windows/windowsmedia

  • the Windows Update center at http://www.windowsupdate.com

The download install package is roughly 12 megabytes in size. Disk space required for a full installation is around 25 megs. Like prior Players, Microsoft offers it free of charge. There is no Pro version or related subscription service tied to better Player features, although links to preferred media subscriptions (i.e., PressPlay and FullAudio) are included.

If you have a prior version of the WindowsMedia Player already installed on your machine, you should uninstall it before installing WM9. The best way to do this is by running Add/Remove Programs in the Windows Control Panel (see Figure 2.1).

Click To expand
Figure 2.1: Removing the WM7 Player in Windows 2000.

In XP, the MediaPlayer is listed in the Add/Remove Windows Components section of Add or Remove Programs. A reboot is recommended (if not required) following the removal any media player running on Windows. Note that these instructions reflect my system settings at the time I officially tested this software. Your experience may differ slightly.

The Microsoft web site lists the minimum and recommended system requirements for the WM9 Player. They are shown here in Table 2.1.

Table 2.1: Minimum and Recommended System Requirements for the Windows Media 9 Player
 | Required | Recommended
Operating system | Microsoft Windows® 98 Second Edition, Windows 2000, Windows Millennium Edition, Windows XP Home Edition, or Windows XP Professional | Windows XP Home Edition or Windows XP Professional (some features require these operating systems)
Processor | A 233 megahertz (MHz) processor, such as an Intel Pentium II or Advanced Micro Devices (AMD) processor | A 500 MHz processor or faster
RAM | 64 megabytes (MB) | 128 MB
Free hard disk space | 50 MB | 50 MB
Optical drive | CD-ROM or DVD-ROM drive (DVD playback requires compatible DVD decoder software) | CD-R or CD-RW drive
Modem | 28.8 kilobits per second (Kbps) | 56 Kbps or faster
Sound card | 16 bit | 5.1 multichannel audio sound card (for example, Creative Sound Blaster Live! 5.1, Sound Blaster Audigy, or Sound Blaster Extigy; Echo Audio Layla24 or Mona; or M-Audio Delta 1010, Delta 1010-LT, or Delta 410).
Video adapter and monitor | Super VGA (800×600) or higher resolution | Super VGA (800×600) or higher resolution
Sound output device | Speakers or headphones | 5.1 multichannel speakers
Software | Microsoft ActiveSync™ (required only if you are using a portable device). For more information about the required version of ActiveSync, see your portable device documentation. | Microsoft ActiveSync™ (required only if you are using a portable device). For more information about the required version of ActiveSync, see your portable device documentation.

My HP reference machine, described on page xxii in the Introduction, meets the recommended requirements described in Table 2.1 and handled the WM9 Player setup without any problems. It also successfully played the test audio and video files I loaded right after installation. My performance criteria were statistics reported by the Player, as well as simple observation of the sustained playback process, since I know the behavior and limits of previous Windows Media Players.

Microsoft further states at its site—as of this writing—that the only way to revert from WM9 to a prior version of Windows Media is to do a System Restore (assuming, of course, you've done a recent and reliable system backup that didn't include a WM9 setup). They also suggest turning on system restore if you haven't already done so. In other words, be sure you want to upgrade or have high confidence in your system backup/restore policy. Although I deleted WM9 using Add/Remove Programs and then successfully reinstalled it, I would take Microsoft's word and not try to revert to WM7 from WM9 without using System Restore.

Note

Final Recommendation: Microsoft recommends that you back up your licenses prior to WM9 installation (or, presumably, reinstallation), if you have protected files. For more information about backing up your licenses, see the current player's Help menu.

Assuming you're ready to go, the actual setup process for the WM9 Player should proceed accordingly. You must be logged on to the computer as Administrator, or with Administrative privileges, if your OS is Windows 2000 or XP. Note that these instructions may differ slightly if you're installing from, say, a Microsoft Jumpstart CD.

  1. Double-click the setup program.

  2. Agree to the standard license terms.

  3. Select either the Default or Custom setting.

    Custom components include Media Rights Management, Runtime Engine (for embedding the Player in other apps), Device Manager, Default Playlist, and Skins (a basic set). Selecting Default gives you all the Custom components. Some users may wish to streamline their WM9 Player environment, but I recommend Default without reservation.

  4. In the File Association panel, select which file types you want WM9 Player to handle.

    The only item here you might not want to check is MP3, depending on what your favorite MP3 player happens to be. After you have specified your preferences in steps 3 and 4, the appropriate WM9 files will be written to your hard drive.

  5. After the file-writing process completes, you'll have a chance to view the WM9 Privacy Statement and to specify whether you'd like to "enhance" your playback experience.

    This means allowing WM9 to retrieve from the Internet any available text, graphics, or other data (including licenses for protected content) related to the media files you'll soon enjoy using the WM9 Player (see Figure 2.2).

    Click To expand
    Figure 2.2: Choosing WM9 playback enhancement options.

  6. Another reboot is recommended, even though the WM9 Player will probably launch automatically after step 5.

Other media players (such as QuickTime or the Real Player) should not be affected by installing WM9, but I can't say for certain which applications (such as web browsers) will retain their preferred player settings. This is not meant to sound ominous—just something to check following an otherwise successful setup. For the record, I installed the free version of DivX 5 on my Windows 2000 and XP machines after setting up the WM9 Player, and my DivX-encoded clips played just as well as with the WM7 Player.

Prior to exploring the new WM9 features and customizing the Player's UI, I would feed it a bunch of different media files (AVIs, MP3s, MPEG-1 clips, etc.) just to make sure you have basic operability. I would also immediately visit some media-enhanced web sites and sample the movies and music available there. The previous chapter describes WM9's important new features, and you could go through them in order to make sure they work as advertised on your machine. Again, depending on how often (and how carefully) you back up your system, it might be a good idea to run an ad-hoc Windows backup at this point, just to lock in a stable media platform.

One point to remember is that installing the WM9 Player is not the same thing as upgrading a prior version of the Windows Media Player with WM9 codecs. In the latter case, designed to happen automatically when a player encounters a new codec, the old player (let's say, WM7) remains intact even though it can henceforth render media encoded with WM9 codecs. Microsoft tried to make this a transparent process and, for the most part, it is. Problems can occur when you troubleshoot another person's machine whose owner/user doesn't understand this distinction.

In my experience, corporate LANs moving from WM6 to WM7 to XPMP (not to mention similar migrations involving Real and QuickTime) over the last few years had big problems with automatic codec upgrades, as anyone else who worked in this environment will likely testify. Such problems were compounded by corporate IT departments often refusing to authorize player upgrades even though they allowed codec upgrades—which were anything but automatic. So far, WM9 seems much better at this, especially if the OS is 2K or XP. I'll come back to this issue where necessary in later chapters.

Digital Lifestyle Issues

Note

Player Only: If all you need from a default setup is to have the WM9 Player available on your system, please skip ahead till you find something of specific interest.

Now for the planning part. Generally speaking, you can't go wrong letting Windows media applications put their documents in the built-in folders My Music, My Pictures, My Videos, etc. (see Figure 2.3). XP makes this design even easier to work with and appreciate, and the big hard drives (40–80 gigs) now standard on most new consumer systems can hold most people's media quite nicely.

Click To expand
Figure 2.3: Default filing system for WM files.

Because this book is not about personal digital archiving, I can't present detailed strategies for success in this pursuit. I can, however, recommend that you consider a more personal filing system if you plan to make your digital media collection as portable and restorable as possible as it grows and matures. For example, you could install an additional IDE or SCSI hard drive (say, 80–120 gigs) for around $100 and create movie, music, and picture folders on that drive (as opposed to the folders in C:\Documents and Settings\―\My Documents). You could then get an external FireWire or USB2 hard drive (80–120 gigs) for backup and sleep fairly easy, assuming you were vigilant about backups and integrity testing. These are extra expenses, obviously, but worth it in the long run if you spend time producing high-quality video clips, WMA/MP3 files, and digital photographs.

Making such changes to the default Windows Media file system will also enforce a structured approach to professional-level production on your desktop. Junk media files are less likely to accumulate in folders you manage personally and need to have pruned and otherwise reliable (unlike casual users' My Music, My Pictures, and My Video). The WM9 Player can seriously change the way you collect and enjoy movies and music. If you manage your files proactively, you'll probably enjoy them even more.


Installing the WM9 Encoder

Yes, the Windows Media 9 Series Encoder is a powerful and sophisticated piece of software with lots of wizards, profiles, and other options. No, it is not impossible to master, nor is it overkill for everyday quick-and-dirty encoding chores. In this chapter we'll cover platform requirements and the basic installation procedure. Detailed production scenarios for the WM9 Encoder will be presented in later chapters. Setup overall is quick and painless on both Windows 2000 and XP.

Like the Player installer, the Encoder setup package (about 9 megs) is freely available online at http://www.microsoft.com/windows/windowsmedia/download. Disk space required on your system is around 25 megs. The OS of the machine on which you install the WM9 Encoder does not need to be Windows 2000 or Windows Server 2003 although, as you'll see later, the Encoder can push WindowsMedia files to a Windows Media Server. In fact, I recommend that you make your Encoder box a standalone Windows 2000 Pro or XP Pro system—especially for real-time media acquisition. Specific components of the setup package include:

  • Windows Media Encoder 9 Series

  • Windows Media File Editor

  • Windows Media Stream Editor

  • Windows Media Profile Editor

  • Windows Media Encoding Script

  • User Documentation

If you have a prior version of the Windows Media Encoder already installed on your machine, you should uninstall it before installing the WM9 version. Again, the best way to do this is by running Add/Remove Programs in the Windows Control Panel, and then rebooting.

Microsoft's web site lists the following minimum and recommended system requirements for the WM9 Encoder; they are reproduced here in Table 2.2.

Table 2.2: Windows Media Encoder 9 Series System Requirements
Encoding task | Minimum configuration | Recommended configuration
Conversion of files | 266 megahertz (MHz) processor, such as an Intel Pentium with MMX, Microsoft Windows® XP or Windows 2000 64 megabytes (MB) of RAM | 500 MHz processor or higher, such as a Intel Pentium III Windows XP 128 MB of RAM or more
Capture and broadcast of audio files | 266 MHz processor, such as an Intel Pentium with MMX Windows XP or Windows 2000 64 MB of RAM Supported audio capture device | 866 MHz processor or higher, such as an Intel Pentium II or Advanced Micro Devices (AMD) processor Windows XP 128 MB of RAM or more Supported audio & video capture device
Capture and broadcast of audio and video files for dial-up modem and mid-bandwidth audiences using the Windows Media Audio 9 and Windows Media Video 7 codecs | Single stream and multiple-bit-rate content for 28.8 kilobits per second (Kbps) and 56 Kbps modems: 300 MHz processor, such as an Intel Pentium II or AMD processor Windows XP or Windows 2000 64 MB of RAM Supported audio & video capture device | Single stream and multiple-bit-rate content for 100 Kbps through 500 Kbps: 866 MHz processor or higher, such as an Intel Pentium II or AMD processor Windows XP 256 MB of RAM Supported audio & video capture device
Capture and broadcast of audio and video files for dial-up modem and mid-bandwidth audiences using Windows Media Audio and Video 9 Series codecs | Single stream content for 28.8 Kbps and 56 Kbps modems: 1.5 gigahertz (GHz) processor, such as an Intel Pentium IV or dual AMD 1900 Windows XP or Windows 2000 64 MB of RAM Supported audio & video capture device | Single stream and multiple-bit-rate content for 100 Kbps through 500 Kbps: 1 GHz dual processor or higher, such as an Intel Pentium III or IV or dual AMD 1900 Windows XP 256 MB of RAM Supported audio & video capture device
Capture and broadcast of audio and video for high bandwidth using Windows Media Audio and Video 9 Series codecs | Use recommended configuration | Single stream and multiple-bit-rate content for 500 Kbps through 2 megabits (Mbps) or more: 2 GHz dual processor or higher, such as an Intel Pentium IV or dual AMD 1900 Windows XP 256 MB of RAM or more Supported audio & video capture devices

Reading through these requirements, you'll notice that "for capture and broadcast of audio and video for high bandwidth," my HP reference box appears to be under-powered. It has only a single P4/2-gig processor. Because the solution takes several forms, I'll address this issue in detail in the next chapter. In the meantime, set up for Windows 2000 and XP should proceed as follows (assuming you're logged in as Administrator or with Administrative privileges):

  1. Double-click the setup program.

  2. Agree to the standard license terms.

  3. Select a destination folder (default = C:\Program Files\Windows Media Components\Encoder) and proceed.

    That's it. The appropriate WM9 Encoder files are now written to your hard drive.

  4. Call me superstitious, but I'd reboot at this point.

  5. As a reality check, click the Start button, then All Programs, then Windows Media, and then Windows Media Encoder.

The program should run in its default state, along with the New Session wizard (see Figure 2.4). At this point I also recommend a test file conversion session using just the wizards and as many built-in settings as possible. If you don't have any media source files handy, you can try this test session later or skip it altogether if you're experienced with the WM7 Encoder.

Click To expand
Figure 2.4: Default UI of the WM9 Encoder.

Trial Encoding Session 1: File Conversion

You'll need a high-quality AVI clip, at least 320×240, for this exercise.

  1. Click the Convert a file item under the Wizards tab.

  2. In the File Selection panel, browse to an appropriate source file.

  3. Edit the name and path of the output file (using the .wmv file extension).

  4. In the Content Distribution panel, select File Download.

    Note

    Not Profiles: These options are basically wizards as opposed to profiles. Don't take them as gospel at this point, although they can be useful in some cases, as you'll see in later chapters.

  5. Under Encoding Options>Video, select DVD Quality (1Mbps VBR). For Audio, select CD Quality (VBR).

    The Bit Rate will adjust itself accordingly, but do leave it checked. Other settings should read:

    Total Bit Rate

    1,073 Kbps

    Frame Rate

    29.97

    Output Size

    640×480

    Way good enough for watching a movie on a computer monitor if you're used to watching a good-quality VHS tape on a decent TV screen.

  6. Fill in whatever program data suits your needs (title, author, copyright, etc.) in the Display Information panel.

  7. Click Next in the Settings Review panel.

The Encoder should now start and display its progress in various places of the UI. Because we specified VBR (Variable Bit Rate) output, two passes will be made over the source file. When the encoding process is complete, you can close the Encoder, start a new job, or play the just-encoded clip, all from the Encoder UI.

Trial Encoding Session 2: Capture from a DV Camera

While we're at it, let's also do a sample encoding session using a DV camcorder. I'll assume you've got one plugged in using a FireWire connection. I tested this recipe with a JVC model GR-DVM70. In general, FireWire DV cameras work a lot better with Windows XP than with Windows 2000.

  1. Click the Capture audio or video item under the Wizards tab.

  2. In the Device Options panel, drop down the Video menu and click on the item corresponding to your camera. Do the same thing in the Audio dropdown.

  3. Edit the name and path of the Output file (using the .wmv file extension).

  4. In the Content Distribution panel, select File Archive. Again, note that these options are basically wizards as opposed to profiles.

  5. Under Encoding Options, Video, select Highest Quality (VBR 100). For Audio, select Highest quality audio (VBR 100).

    Note

    The 100 in each case refers to 100% quality.

  6. Because this is a quick drill, click Finish instead of Next.

    You should see the user interface shown in Figure 2.5. Note the VCR controls halfway down on the left, as well as the Start and Stop buttons at the top.

    Click To expand
    Figure 2.5: Device Control UI

  7. Click the Start button, make sure that camera control appears operational, and then click Stop.

  8. Shut down the WM9 Encoder; then go the folder you specified for the output file.

  9. Double-click the output file to play it in the WM9 Player.

If these two trial encoding sessions go well, you can assume that the WM9 Encoder is at least installed successfully. If you plan to use a high-end video capture card for acquisition from a VCR, Betacam deck, or DVD player (or some other analog video source), please refer to Chapter 3. Also note that we are just scratching the surface here in terms of the deep level of control that the WM9 Encoder provides for media capture, conversion, broadcasting, and archiving. I'll try to present recipes for as many useful scenarios as I can for personal and professional use. This is a whole different world than previous versions of the Windows Media Encoder, including Version 7.


Installing the WM9 Server

This section is slightly different, mainly because it requires that you upgrade from Windows 2000 Server to Microsoft's new Windows Server 2003 (if you haven't already). If you want to serve WM9 clips from a web site without streaming them, you can stick with Windows 2000 Server and Internet Information Server 5, which is certainly a valid option. Prior to installing Windows Server 2003, I offered WM9 video files from my site as progressive-download media, which worked well for clients running both the WM9 Player and the WM7 Player fortified with WM9 codecs. After the upgrade, I could still offer the progressive-download versions from an IIS-6 web site on the same machine as the WM9 Server.

In the Windows view of things, the WM9 Server is not an application. It is a Windows Service. Right away this can get needlessly complicated, if you're not a network administrator or developer. But I will walk through a basic Windows Server 2003 install and the wizard-driven process of setting up and configuring the WM9 Server under the Windows Server OS (in this case, Enterprise Edition, for the record). If you don't need to know about this yet, please feel free to move on to the SDK set-up section of this chapter or proceed directly to Chapter 3.

Setting up Windows Server 2003

Again, migration to Windows Server 2003 is an operating system upgrade and thus a big deal if you're not used to installing a new OS. Microsoft has tried to minimize the pain by using as many wizards as possible, but it can still feel risky because you can't go back to your old OS (the devil you know) unless you reinstall it from scratch or have a reliable Restore package on hand (from a prior backup). If you're familiar with the Windows 2000 Server setup process, Windows Server 2003 installation won't seem all that strange.

Assuming you're ready for adventure, here's the upgrade procedure:

  1. Double-click the setup program on the installation disk.

  2. Check system compatibility (via the wizard), if appropriate.

  3. Click Install Windows Enterprise Server.

  4. Select Installation Type: Upgrade (Recommended).

  5. Accept the license agreement; then enter the product key.

  6. Accept download of updated setup files, if necessary.

The setup will now (assuming normal operation) proceed to the point where your system will reboot and ask you to log in to the newly installed Windows Server 2003 using the credentials from the previously installed OS (assuming this was an upgrade). A clean install will take a bit longer and ask more questions.

Setting up the Windows Media Service

Following a successful log-in to your new Windows Server 2003, you should find the Manage Your Server wizard started automatically. To add the WM9 Server to the Windows Server 2003's battery of services:

  1. Select Add or Remove a Role and wait while the setup process checks your machine's capabilities.

  2. Check Custom configuration in the Configuration Options panel.

  3. Select Streaming media server from the list shown.

  4. Wait until installation and preliminary configuration completes.

  5. A successful setup will arrive at the panel shown in Figure 2.6. Click Finish.

Click To expand
Figure 2.6: End of WM9 Media Server installation.

Configuring the WM9 Service

To finalize configuration of the newly installed WM9 Service:

  1. Click Start>All Programs>Administrative Tools>Windows Media Services.

  2. Click the Getting Started tab (see Figure 2.7); then click Test my server.

    A new window will open in which a test media file will be rendered along with some statistics regarding performance.

    Click To expand
    Figure 2.7: Properties of a WM9 publishing point.

  3. Assuming normal behavior has occurred, close this window,.

  4. Click the Monitor, Advertising, and Properties tabs in turn for a quick look at what we'll be covering in later chapters. Leave all the settings intact for now, although note the wizards for Common Streaming Scenarios, which we'll look at briefly next.

Trial Streaming Server Session (Server Side)

As we did after installing the WM9 Player and Encoder components, let's now run through a trial streaming session from the server side and also from the client perspective. This is just complex enough that some of the steps may change slightly from the version I tested, but it does show the nature of the workflow. For this trial, we'll use one of the sample clips on the Jumpstart CD in the directory demos/ wm9_video_quality/media.

  1. Once again, click Start>All Programs>Administrative Tools>Windows Media Services.

  2. In the Getting Started tab, click Create an on-demand publishing point to launch the wizard. Click Next in the wizard splash panel.

  3. Accept the default name, PublishingPoint1.

  4. In the Content Type panel, check the radio button for One file (used for a broadcast of an archived file).

  5. In the Publishing Point Type panel, check the radio button for On-demand publishing point, used to create a scenario in which each client can control (for example, fast forward) the stream.

  6. In the Existing Publishing Point panel, check the radio button for Add a new publishing point.

  7. In the File Location panel, check the radio button for New playlist.

  8. In the New Playlist panel, click the Add Media button.

  9. In the Add Media Elements panel, click the Browse button.

  10. Browse to and select your clip from the Jumpstart CD.

  11. In the Save Playlist File panel, accept the default name.

  12. In the Content Playback panel, accept the defaults.

  13. In the Unicast Logging panel, accept the defaults.

  14. In the Publishing Point Summary panel, quickly review and accept the settings.

  15. In the Completing the Add Publishing Point Wizard panel, uncheck the box labeled Launch additional wizards after this wizard finishes; then click Finish.

  16. Go over to the navigation tree for the WM9 server in the left column of the UI (see Figure 2.7) and expand it to show the Publishing Points node.

  17. Expand that node to see the item we named PublishingPoint1. Click that item to see all its properties in the right column.

Again, we'll get into this in more detail in "Standard On-Demand Streaming" on page 96. We are now ready to try connecting to this publishing point from a client running the WM9 Player.

Trial Streaming Server Session (Client Side)

We'll now try to view from a remote player the clip we designated when we created PublishingPoint1 back on our new WM9 Server. Just a few steps here:

  1. Open the WM9 Player.

  2. In the File menu, click Open URL.

  3. In the Open URL dialog box, key in the URL of the desired clip in the format: mms://wm_server_name/PublishingPoint1. In place of wm_server_name you can use the IP number of your WM9 Server box (see Figure 2.8).

Click To expand
Figure 2.8: Playing a clip from a designated WM9 publishing point.

The clip named content_clip1.wmv should buffer for a moment, then begin playing.

If you can't connect, review the keyed-in data for typos, try pinging the server to confirm the route is good, and make sure there are no firewall problems.

If you've been using the WM7 Server for a while, you've already noticed some XP-like UI changes, not to mention hints of many new areas of media control and monitoring. Rest assured there is much more to see and learn.


Installing the WM9 SDK

This last component will be of interest mainly to software developers, as opposed to digital media wranglers. The ideal environment for exploiting the WM9 SDK is—big surprise!—Visual Studio .NET running on Windows XP. The promise of Visual Studio .NET is that programmers from various camps (such as Visual Basic and C#) can continue working with their preferred tools, but eventually all their source code is compiled into common executable objects with standard APIs usable throughout the .NET universe. If you're not a professional software developer, don't worry. You can skim this section with confidence.

According to the Microsoft literature, there is an separate SDK for each WM9 component:

  • Windows Media Format SDK

  • Windows Media Encoder SDK

  • Windows Media Player SDK

  • Windows Media Services SDK

Each component SDK is freely downloadable from Microsoft (in the MSDN and Windows Media areas) and installable into a programmer's development environment. Visual Studio .NET is, of course, not free (although parts of the SDK provide access to things that are free). Because of limited space and lack of practical value, it makes sense not to illustrate the setup procedure for each of these packages. For the most part, each downloadable installer simply provides a collection of code libraries and sample programs you can modify or plunder according to your needs.

Much of the sample code provided with the individual SDKs demonstrates how to automate production chores related to operating a broadcast facility delivering WindowsMedia audio and video files. For example, using the Windows Media Encoder SDK, you could (according to Microsoft):

  • Broadcast live content. A news organization can create an application that manages the automatic capture and broadcast of live content. Local transportation departments can create an encoding application to stream live footage of road conditions, alerting drivers to traffic congestion and advising them of alternate routes.

  • Process large amounts of data. A media production organization that must process a high volume of large files can use the Windows Media Encoder SDK to create a batch process that repeatedly captures and encodes streams, one after the other. A corporation can use the Windows Media Encoder SDK to manage its streaming media services by using a scripting language and Microsoft Windows Script Host.

  • Create a custom user interface. An Internet service provider (ISP) or ISV can build a user interface that implements the functionality of the Windows Media Encoder SDK to capture, encode, and broadcast digital media streams.

  • Remotely administer encoding applications. You can use the Windows Media Encoder SDK to run, troubleshoot, and administer encoding applications from a remote computer.

Using the Windows Media Services SDK, you could (in the words of Microsoft), at the very least:

  • Create a custom user interface to administer Windows Media Services

  • Programmatically control a server running Windows Media Services

  • Create your own plug-ins to customize core server functionality

  • Create and manage server-side playlists dynamically.

Using Server Plug-Ins

The third item in the previous list is particularly interesting. I borrowed some more text from the Microsoft web site to explain why:

You can configure and manage the functionality of a Windows Media server by enabling plug-ins and setting their properties. You can carry out these tasks manually by using one of two interfaces that are part of Windows Media Services: a Web-based administrative interface or a snap-in for Microsoft Management Console. You can also automate plug-in management by using the server object model.

The Windows Media server core coordinates the activities of plug-ins. This architecture makes it easy to extend the features of Windows Media Services by creating custom plug-ins. The default functionality of the server is provided by plug-ins that do the following:

  • Translate client requests into commands that can be understood by the server. The standard control protocol plug-ins support Hypertext Transfer Protocol (HTTP), Microsoft Media Server (MMS) protocol, and Real Time Streaming Protocol (RTSP).

  • Authenticate clients. The standard authentication plug-ins support anonymous authentication, authentication based on logon credentials, and authentication based on credentials solicited by the plug-in.

  • Grant access permissions to content. The standard authorization plug-ins allow access to clients based on the IP address of a resource, the access control list (ACL) for a resource, or the ACL for a particular publishing point.

  • Control the cache and proxy policies of the server. There is no standard cache proxy plug-in, but you can create a custom plug-in to specify what content will be cached, how long content will remain in the cache before it is refreshed, and so on.

  • Parse playlists. The standard playlist plug-ins organize digital media content based on information in a Synchronized Multimedia Integration Language (SMIL) 2.0 file, or based on the files in a specified folder.

  • Retrieve and respond to event notifications sent by the server. The standard event handler plug-ins run event handlers in a script file or handle events through Windows Management Instrumentation (WMI).

  • Record server and client activity in a log file. The standard logging plug-in responds to log events by writing information to a log file.

  • Retrieve content from a source. The standard data source plug-ins can receive digital media content from a file, from a web server using HTTP, from a networked Windows Media server, or from an encoder.

  • Send digital content to clients. The standard broadcast plug-ins can deliver content as a unicast stream to single clients (an end user or a cache proxy server, for example), deliver content as a multicast stream to many clients simultaneously (without having to send a separate stream to each client), or archive content to a file.

You can configure and enable standard plug-ins manually by using one of the administrative interfaces or programmatically by using the server object model. You can create custom authentication, authorization, cache proxy, data source, event notification, logging, and playlist parser plugins. This flexibility enables you to extend and customize the functionality of Windows Media Services.

You can deploy custom plug-ins in Windows Media Services 9 Series running on Windows .NET Enterprise Server or Windows .NET Datacenter Server. (You cannot deploy custom or third-party plug-ins in Windows Media Services running on Windows .NET Standard Server.) A plug-in is a Component Object Model (COM) object. The plug-in must include code that registers it on the server running Windows Media Services. If you create a custom plug-in using Microsoft Visual Studio® .NET, you must include code that creates the .NET assembly as well as code that registers the COM component. The Windows Media Services SDK includes detailed information about this task, as well as information about other aspects of creating custom plug-ins.

Again, the previous paragraphs are copied from the Microsoft literature, and they clearly show how the WM9 SDK is currently being positioned. Please note that, along with server plug-in support, multicasting is currently only supported in Windows Enterprise Server (as opposed to Standard Server).


Chapter 3: Video Capture in WM9

This chapter and the next form a key part of the book. Other important parts are the sections concerning playback of WM9 assets on commercial DVD/CD players and editing WM9 movies on the desktop with tools like Adobe Premiere and the new version (2.0) of Microsoft Movie Maker. While desktop video in general has matured greatly over the last five years, certain breakthrough features of WM9 finally make it genuinely flexible and able to provide a television-like experience for users of cheap, modern computers.

Once you understand how to acquire and encode WM9 assets without relying on huge, uncompressed capture files, you'll quickly see the implications of ultimately treating it as just another PC data type: portable, editable, and easy to duplicate and store. In fact, there are now enough different ways to get high-quality video onto your hard drive that we'll categorize them first, then work through the various individual capture scenarios. Let's start with an executive summary.

Overview of Capture Techniques

In the bad old days (mid-to-late 1990s), expensive capture cards, hard-disk arrays, and high-end VTRs (such as Sony BetaCam decks) were the weapons of choice for acquiring top-quality video on PCs and Macs. While this type of equipment came down in price (Okay, not the VTRs), other solutions entered the picture—such as DV cameras and affordable MPEG-1 hardware encoders. Raw media captured by such devices was much easier to store on disk, but presented new problems in terms of editing and transcoding. Remember that, even with high-end gear involved for capture, the goal back then was almost always quarter-screen QuickTime, AVI, and MPEG-1 clips playable from CD-ROM.

Although MPEG-1 (and now MPEG-2) hardware encoders are still good for specific applications, I believe they will find it increasingly hard to compete with consumer capture boards that can encode WM9 video of comparable quality on less disk space. Conversely, DV cameras have exploded on the scene (for both personal and professional use) and now have nearly the same mindshare (if not the video quality) in the WM9 world as VTRs and PCI capture boards. Based on these conditions, here is how the rest of this chapter is organized:

  • Capturing from analog video devices: Such devices include VCRs, VTRs, DVD players, analog video cameras—anything that connects to a PC with composite, component, or S-video cables.

  • Capturing from DV cameras and Decks: Simply put, moving media that has already been digitized on to your PC's hard drive.

Please note that this chapter is specifically devoted to the capture process using off the rack computers. Compression, transcoding, and video archiving are covered in Chapter 4. Encoding and broadcasting live events are covered in Chapter 5. One nice thing about video capture these days is that users can focus much more on the software—not all that unreliable hardware (hard drives, capture boards, sound cards, etc.) which caused such headaches 5–10 years ago.


Capture from Analog Video Devices

I suggested previously that Windows Media 9 Series frees you from working with huge interim capture files. While this is generally true in most desktop production scenarios, there are times when completely uncompressed captures are required. Such a recipe is provided at the end of this section. For now we'll concentrate on high-quality compressed encoding, which I believe produces output of sufficient quality for professional desktop production/playback projects. Again, one of the important new features of WM9 is that you can subject WMV files to repeated compression/encoding as long as the quality level remains high.

If you performed the trial encoding session in Chapter 3, you have an idea of the workflow involved when using the WM9 Encoder as a relative beginner. Please keep in mind in the following examples that we're focusing on standard practices involving Microsoft's wizards, quick starts, and profiles. Why? Because they're easier to remember and less likely to produce bad results than experimenting with low-level settings without a proper context. I'll add or suggest customization where necessary to enhance quality, but overall we'll treat the defaults/presets with great respect. Once you've got them mastered, you should certainly experiment as you see fit. With these conditions in mind, let's get right to the main WM9 Encoder menu.

Wizards: Capture Audio or Video

  1. Click either File>New or the New Session toolbar item to pop up the New Session window shown in Figure 3.1.

    Click To expand
    Figure 3.1: WM9 Encoder New Session window.

    The session presets in this window are similar to the Session Selection choices in the WM7 Encoder, but richer and a bit more elegant. In terms of capturing video, the specific items of interest are Custom session and Capture audio or video. We'll save custom and screen capture sessions for later, as well as the quick starts. Again, file conversion and live broadcasts are covered in Chapter 4 and Chapter 5.

  2. Double-click Capture audio or video to start the wizard.

    The first panel lets you specify your preferred capture device, in this case a PCI capture card from Viewcast (http://www.viewcast.com), the Osprey 540. This card offers relatively high performance, but I have also used the original Osprey 100 with great success across all versions of Windows Media. Dropping down the Video device menu reveals that I could have selected my currently attached JVC DV camera if I wanted to acquire video that way (see Figure 3.2).

    Click To expand
    Figure 3.2: Choosing a video input device.

    In my experience, most people prefer to standardize on particular input devices in given categories. This has a lot to do with the time required to learn the product's features but also with wanting to get their money's worth from such hardware (usually not cheap). I've standardized on the Osprey line for these reasons, though there are other fine products available at competitive prices with similar user interfaces. Microsoft lists WM9-compatible capture cards at the Windows Media web site.

  3. To capture video and audio from an analog video source, you must specify video and audio devices. Figure 3.3 shows the Audio device selection menu of the New Session wizard.

    Click To expand
    Figure 3.3: Choosing an audio input device.

    Note

    For Capture: I would choose the Intel Integrated Audio item in Figure 3.3, if I was using, say, the Osprey 100 card for video capture.

    If your audio and video capture devices are installed correctly on your Windows computer, they will show up in their respective menus. The Osprey 540 has built-in audio processing, while devices like the Osprey 100 handle just the video. You must connect an audio cable from your analog video deck or camera to the audio line-in jack on your computer; then select the appropriate audio source in the Audio device menu.

Configuring the Video Capture Device

If the Configure button to the right of the Video device menu is active, you can click it to further calibrate your chosen capture hardware.

Figures 3.4 and 3.5 show the Video Source and Video Format menus for the Osprey card, which come from the card's driver (other cards have similar calibration options embedded in their drivers). The point here is to show that we are selecting NTSC S-video as the analog input source, and full-screen (640×480) as the video window size, along with RGB24 as the color space format.

Click To expand
Figure 3.4: Selecting the video source.
Click To expand
Figure 3.5: Selecting the video format.

These choices are based on a number of factors. First off, S-video is superior, quality-wise, to composite video. Given that most capture cards now support S-video, your choice will likely depend on whether your video deck or camera offers it. Older consumer VCRs usually have only composite video, while newer models and prosumer gear normally feature S-video jacks. Professional VTRs (like the venerable Sony BetacamSP) have even better component video connectors, but only top-of-the-line capture cards have component video input ports. If you work with component video equipment, your deck and capture board manuals should cover the setup details in more detail than we can discuss here. I capture a lot of video from my consumer DVD player, which has an S-video jack.

The video window size is set to 640×480 because you can now do this with confidence on a consumer-class computer like my HP reference machine without a lot of high-priced extra equipment. One reason I refer to WM9 as a new standard is because WM9 (using 2-gig and better processors) finally lets you capture natively at 640×480. Almost all the full-screen video I've enjoyed on my desktop prior to WM9 was zoomed 2X from a native 320×240 resolution. As such, it was always slightly blurry, even after a pristine capture. Regarding the color format, I normally choose RGB24, but this is out of habit after capturing on many systems where that was the best possible color space setting. In this new age of better capture and better playback systems, RGB32 may prove an overall better color space than RGB24 in day-to-day production. I recommend trying both and going with the one you like better.

Configuring the Audio Capture Device

  1. Click the Configure button opposite the Audio device menu to invoke the panel shown in Figure 3.6.

    Click To expand
    Figure 3.6: Calibrating the audio device properties.

    Again, specific controls and the ability to change them depends on the audio device driver(s) in use on your computer. More sophisticated capture boards will have onboard audio capture and possibly balanced audio capabilities (look for XLR connectors as opposed to standard RCA inputs), which will be reflected in this part of the user interface. Normally there isn't much to configure here unless you do have a high-end capture card, which likely offers setup details in its accompanying manual.

  2. If you are using a lower-end video capture device and running the audio through your computer's sound card or integrated audio solution (on the motherboard), you can adjust the settings with the Sounds and Audio Devices (XP) or Sounds and Multimedia (2K) objects in the Windows Control Panel (see Figure 3.7).

    Click To expand
    Figure 3.7: Configuring audio settings in the Windows Control Panel.

    You shouldn't set levels overly high (to the point of distortion), but I have found that mid-to-low input settings (especially when inexpensive Windows audio cards are involved) often produce weaker-than-expected audio tracks at capture time. It is worth experimenting here to find the right settings for your particular system.

  3. When you've configured your specified video and audio devices for a capture session, click Next to let the wizard take you to the Output File pane, shown in Figure 3.8.

    Click To expand
    Figure 3.8: Selecting the capture output file.

    I'll assume you will place this output file in a folder on your hard drive that you have created as part of a dedicated production environment, now that you are taking the time to establish some regular production techniques. If not, no problem, but this is as good a time as any to think about it.

  4. Click Next when you've edited the file and path names.

Note

Still Not Profiles: These are not profiles—we'll get to those in Chapter 8 on page 177—but rather subwizards under the New Session wizard.

Now things start to get interesting—okay, confusing. Figure 3.9 shows a list of Content Distribution options, kindly supplied by Microsoft with all the best intentions. When I first saw this list I thought I understood it as follows:

Click To expand
Figure 3.9: Default content distribution options.

  • Windows Media Server (streaming): Create clips optimized for streaming from a Windows Media Server, with multiple bit rates, frame rates, and video window sizes.

  • Web Server (progressive download): Create clips specifically for posting on web servers without help from a streaming media server—just fast-as-possible delivery to the client's web browser.

  • Windows Media hardware profiles: Something to do with existing profiles, probably with value added.

  • Pocket PC: Create clips for downloading to and viewing on your handheld iPaq, Jornada, and other Pocket PC devices.

  • File archive: Create clips in a single pass rich enough to treat as masters and immediately burn to CD or DVD.

After experimenting with each of these subwizards, I believe my original impressions were correct for items 1, 2, and 4. Items 3 and 5 require context and further explanation, which follows in the next subsections. I think you can use these subwizards as reliable step-by-step guides for producing high-quality video clips for specific applications. This can spare you from laborious experimentation in search of better custom recipes like in the old days of video capture. In the tutorials that follow, I'll offer suggestions where they seem appropriate and are easy to remember, but I will otherwise stick to the original formulas. When we cover the Custom session wizard on page 59, I'll offer more extensive advice.

Subwizard 1: Capturing for Windows Media Server Content Distribution

You'll need a few minutes of video to capture for this exercise.

  1. Select this subwizard and click Next to get to the Encoding Options panel (see Figure 3.10).

    Click To expand
    Figure 3.10: Encoding options for media server distribution.

    Several defaults are already in play here: Multiple bit rates video (CBR), Multiple bit rates audio (CBR), and a single specific bit rate of 282 Kbps, including a frame rate of 29.97 and a frame size of 320×240. These are classic calibrations for broadband web video, and this default setting makes good sense, although you may want to add a secondary bit rate stream of 43 Kbps with its built-in 15 fps and 160×120 resolution for 56K dial-up users. If so, just check that box in the list.

    If you drop down the Video menu and look at the other choices (from High Definition down to VHS quality) you'll see what's going on here: Not all of these items make sense for Media Server distribution—they're simply in the list, which is also shown in the other subwizards. Selecting other items causes different boxes to be checked in the Total bit rate column, so make sure to review all the boxes in that column when you reselect Multiple bit rates video. The bottom line is that, if you have prior experience setting capture parameters for streaming video clips, you will probably appreciate this wizard and use it often with the defaults that make sense.

    The function of the Audio dropdown menu is somewhat confusing here. For example, selecting a value other than Multiple bit rates audio (such as CD or FM quality) changes the total bit rate value. For now, leave this at Multiple bit rates audio and click Next, as opposed to Finish, which brings up the Display Information panel shown in Figure 3.11. Because the information you supply here is shown in captions during playback of the clip, you should choose this information carefully and perhaps not publish it until you develop standard credit and copyright notices.

    Click To expand
    Figure 3.11: Providing caption data for a streaming video clip.

  2. Click Next, and review your settings (see Figure 3.12). If you want to make changes, click Back until you get to the appropriate panel.

    Click To expand
    Figure 3.12: Settings Review window for a streaming video capture.

  3. Click Finish.

    Finish in the Settings Review panel takes you to the main Encoder UI, from which you can't get back to a subwizard without starting over. This is the complete subwizard experience for setting up an analog capture of a standard Windows Media streaming video clip. Each of the other subwizards provides a similar experience using different settings.

    Now the fun (i.e., the learning curve) really begins, so we'll proceed with as much structure as possible. There is clearly a lot to learn in the WM9 Encoder UI, and almost all encoding chores (once you've completed a given wizard or subwizard) begin and end here. As it turns out, this UI is composed of several work areas which you can switch on or off in the View menu. The default work areas are the Video, Device, and Monitor panels, shown in Figure 3.13. More than a few vestiges remain from the WM7 Encoder, but there are many new and improved features well worth exploring just by clicking through the main menus. Unless you are controlling a tape deck from the WM9 Encoder, you can hide the Device panel to save screen space.

    Click To expand
    Figure 3.13: WM9 Encoder UI—open for business.

    Navigation is performed using the various tabs (General, Statistics, Server, etc.) under the Monitor panel title bar. Actions and application options are executed from the main menu and toolbar at the top of the UI. Rather than enumerate and describe each tab and menu/tool item, I'll make use of them as necessary in each of the encoding recipes presented in this chapter. As you gain experience with the WM9 Encoder, the items not covered here will likely make more sense the first time you need to use them.

    Remember that we are still in the Capture Audio or Video tutorial, even though the wizard has completed and we are finally ready to start the capture process. You should see the settings specified in the wizard now expressed in the Input, Output, Encoding, and System headers under the General tab of the Monitor window. Data will appear under the Progress header once encoding begins. I recommend setting your screen resolution to at least 1,024×768 to get the full benefit of all the controls in the WM9 Encoder UI.

    Can you click the green Start Encoding button at this point? Yes, assuming your tape deck is queued and ready to roll. If all systems are go, you should see your analog video content in the Video panel, assuming the Zoom, Display, and Preview controls are set correctly. Respective defaults are 100%, Input, and whatever best quality you selected in the wizard. Preview is only meaningful when Display is set to Output.

  4. Roll the tape or other analog source of the video you want to capture; click Start Encoding.

    Note

    Audio Panel: This panel will go away when you stop encoding.

    A number of things will now happen to the Encoder UI, including the appearance of the Audio panel at the far left showing incoming audio levels. Real-time performance data will appear under the Encoding, Progress, and System headings of the General tab. Clicking the Statistics tab will show you other valuable information concerning the state of your in-progress capture (see Figure 3.14).

    Click To expand
    Figure 3.14: Real-time video and audio capture statistics.

    As a professional desktop video encoder, the two gauges most valuable to me in the WM9 Encoder during a capture session are CPU load (under the General > System tab) and Frames dropped (under Statistics>Video Input). If the CPU load is safely under 100%, few (if any) frames should be dropped, but the latter is an excellent reality check and well worth keeping an eye on. If neither of these indicators report adverse conditions during the course of an encoding session, odds are quite good that your encoded video file will be of excellent quality, based on your capture settings.

    Because the basic settings in this tutorial (320×240, 282 Kbps) were nowhere near full-screen DVD quality, the CPU load was nowhere near 100% (on our 2GHz HP reference machine). Later tutorials involve settings that do stress the CPU and thus drop substantial numbers of frames. Pay close attention to this feedback whenever you perform a capture. Playback problems can often be traced back to these types of encoding errors.

  5. To stop the capture process, click the red Stop button in the top toolbar.

    The Encoding Results window shown in Figure 3.15 will pop up with useful statistics (worth a quick look), but you'll probably want to just play the darn capture file for personal satisfaction. While the clip produced in this tutorial was optimized for streaming from a Windows Media video server, it should still perform well from your hard drive.

    Click To expand
    Figure 3.15: Encoding results from a stopped capture session.

    Note

    Streaming versus Local: What's the difference between a clip encoded for streaming versus local playback? For one thing, a larger size (depending on the number of additional streams specified) plus some extra system data and a different ordering of the audio, video, and key frame bytes.

    In a professional streaming shop, assuming no editing necessary, the next step would probably be to schedule a test from a streaming server. If you have such a server at your disposal (and this is the first time you've completed this exercise), now might be a good time to get a gut feel for performance on both server and client. As noted, a data rate of 282K is well within most consumer DSL and cable modem limits, and you can 2X zoom the 320×240 video window for a nice big presentation without going much below VHS quality. Once again, please note that the reference machine documented on page xxii performed its duties without problems in this wizard-based capture scenario.

  6. When you exit the WM9 Encoder, you'll get a prompt asking whether you want to save the current session. If this were a custom session, the answer might be yes. But because we used a wizard, there is no need to save it.

Subwizard 2: Capturing for Web Server Content Distribution

The tutorials for the rest of the subwizards in the Capture audio and video basic wizard will proceed much like subwizard 1, but with differences based on specific performance criteria for both the encoding machine and the captured video file. Descriptions of some steps will be shorter than in subwizard 1 to avoid duplication. Again, you'll need a few minutes of video to capture.

  1. To begin, fire up the WM9 Encoder (if it's not already running from the last tutorial), and click New Session.

  2. Double-click Capture audio or video, select and configure your video and audio capture devices as described in subwizard 1, and then click Next.

  3. Provide the output file name and path (also described in subwizard 1); then click Next.

  4. This time, in the Content Distribution panel, select Web server (progressive download) and click Next.

    The Encoding Options panel, which follows, will look familiar but different than for pure streaming files, mainly because of no multiple streams.

    One thing that confused me at first about the Video and Audio menus was that the defaults were set to the highest values: High definition quality video (CBR) and CD quality audio (CBR). This seemed strange for progressive-download assets, assuming users of this wizard want to produce video that plays right away (after buffering) on a broadband client machine without the benefit of a video server. I also wondered about the constant bit rate (CBR) but this made sense when I tried out the other wizards, as you'll see. Finally, it was unclear what the exact differences were among this subwizard and the ones for File archive and Windows Media hardware profiles. Ultimately, I found it to be a quick way to set up a progressive download capture with as few clicks as possible.

  5. If you select VHS-quality video and FM-quality audio, the choices in the Bit rate menu should be 368 Kbps (29.97 fps/320×240) and 268 Kbps (29.97 fps/320×240). I would select the former because most performance bets are off in HTTP (progressive download) streaming, and the downloaded file will be of higher quality (see Figure 3.16).

    Click To expand
    Figure 3.16: Encoding options for a progressive download clip.

  6. Click Next to get to the panel for entering caption data, Next again to review your settings, and Next again, after which you should arrive at the main Encoder UI.

  7. Click the Start button to get the capture rolling; then observe the statistics, especially for Frames dropped in the Monitor>Statistics tab and CPU load in the Monitor>General tab.

    On a system comparable to our reference box (2 GHz CPU), using the settings in the wizard, there should be no frames dropped (don't worry if one or two are reported) and a CPU load of well under 50%.

  8. Click Stop when you're finished and then review the Encoding Statistics popup to check your work.

    Assuming no postcapture editing is necessary, the next step would be testing from a web server. If you have such a server at your disposal (and this is the first time you've completed this exercise), now would be a good time to get a gut feel for performance on both server and client. A data rate of 368K is still consistent with many consumer DSL and cable modem limits, and you can 2X zoom the 320×240 video window for a nice big presentation with near-VHS quality.

Subwizard 3: Capturing with Windows Media Hardware Profiles

Again, you'll need a few minutes of video to capture.

  1. Launch the WM9 Encoder and click New Session.

  2. Double-click Capture audio or video, select and configure your video and audio capture devices (as described in subwizard 1); then click Next.

  3. Provide the output file name and path; then click Next again.

  4. In the Content Distribution panel, select Windows Media hardware profiles) and click Next.

    The Encoding Options panel, which follows, will look significantly different (in terms of selectable settings) than in either previous subwizard (see Figure 3.17). In fact, the options are not meaningful at all, unless you're familiar with Windows Media Profiles, until you get to the main WM9 Encoder UI.

    Click To expand
    Figure 3.17: Encoding options for a Windows Media hardware profiles clip.

  5. Suggested settings here are:

    Video

    Main video profile – medium (CBR)

    Audio

    Audio profile L1 (CBR)

    The calculated bit rate from these settings is 2,105 Kbps (29.97 fps/640×480), which is just barely doable by our reference box without dropping frames, but it does produce a full-screen desktop video clip.

  6. As before, click Next to get to the panel for entering caption data, Next again to review your settings, and then Next again to arrive at the main Encoder UI.

  7. To understand at least part of the thinking behind this wizard, click Properties in the top toolbar to bring up the Session Properties work area; then click the Compression tab (see Figure 3.18).

    Click To expand
    Figure 3.18: Setting the WM9 Encoder session properties.

    As you can see, a treasure trove of ways to set encoding parameters. In keeping with our structured tutorial approach, we'll explore this work area further when we cover Custom sessions on page 59.

  8. For now, close the Session Properties panel by clicking the red and white X at the right edge of the title bar.

    The best thing I can say about this subwizard is that it tries to provide guidelines for DVD-ROM and CD-ROM playback that you can customize further in the Session Properties work area for export to custom profiles and custom sessions.

  9. To see the result of capturing with the settings selected in this subwizard, click the Start button.

On the reference machine, the CPU load fluctuates between 90% and 100% while the occasional dropped frame is reported in the Monitor controls described on page 51. This is why I say at various points in this book that capturing full screen (at least 640×480) at data rates much higher than 2,000K is beyond the reliable capability of our trusty reference machine. If you're working with real production equipment while following these tutorials and you a have a capture machine similar to the reference box, I recommend that you play back the clip just captured to verify acceptable performance.

Subwizard 4: Capturing for Pocket PC Content Distribution

This subwizard is more straightforward, with fewer options, but still worth executing for general context. Again, you'll need a few minutes of video to capture.

  1. Starting with New Session, click through Capture audio or video, Device Options, and Output File (each covered in detail previously) to arrive at the Content Distribution panel.

  2. Select Pocket PC; then click Next.

    In the Encoding Options, you'll see two options each for Video and Audio and one Bit rate item with varying video resolution depending on Video and Audio options. Not to downplay the importance of this subwizard, but once you're familiar with the others, Pocket PC should be academic (assuming you plan to use it in actual practice).

Subwizard 5: Capturing for File Archive Content Distribution

I was skeptical of this wizard at first, but now it is the one I use for all high-quality, full-screen captures (with some customization). I'll explain as we go. Again, you'll need a few minutes of video to capture.

  1. Start with New Session, click through Capture audio or video, Device Options, and Output File (each covered in detail previously) to arrive at the Content Distribution panel (see Figure 3.19).

    Click To expand
    Figure 3.19: Selecting the file archive capture option.

  2. Select File archive; then click Next.

  3. The Video and Audio defaults are, respectively, Highest quality video (VBR 100) and Lossless quality audio (VBR 100). Make sure to use these defaults (100 means 100% quality); then click Next.

  4. Proceed through the caption input and setting review panels—as in the previous wizards—to get to the main WM9 Encoder UI.

  5. Now the customization, based on four basic criteria:

    • Full-screen (640×480) capture

    • Data rate constraints, based on processor speed (2 GHz) of the reference machine

    • 100% image quality (as determined by the Encoder settings)

    • No interim capture file

  6. In the main WM9 Encoder UI, click Properties in the top toolbar, then the Compression tab (see Figure 3.20), and then Edit.

    Click To expand
    Figure 3.20: Customized compression settings for file archive capture.

  7. In the Custom Encoding Settings panel under the General tab, change the Audio and Video modes to CBR. Select the item in the Target bit rates box (see Figure 4.21); then click Edit.

    Click To expand
    Figure 3.21: Edited Custom encoding settings, General tab.

  8. Use the following for the Custom Encoding Settings panel, Quality-based tab. (This tab might have now changed to something like 429 Kbps.)

    Set

    Check

    Leave

    Video bit rate

    2,000K

    Same as video input[*]

    Video smoothness

    0

    Frame rate

    30 fps

    Use default (Buffer size)

    Decoder complexity

    Auto

    Audio format

    128 kbps, 44 KHz Stereo CBR

    Key frame interval

    2

    [*]This is video size input from the capture card, which is 640×480.

    Clearly this is not top-quality, but in my opinion it is good enough and in keeping with the overall constraints of this customization process. (see Figure 3.22).

    Click To expand
    Figure 3.22: Edited Custom encoding settings, Bit Rate tab.

  9. Click OK. Make sure the Two-pass encoding box is checked in the Compression tab; then click Apply.

  10. Dismiss the Session Properties window and prepare to encode.

  11. Roll your video source (assuming you're not using device control), and click the Start button.

    During the ensuing capture, your CPU load should average in the low to mid-90s (don't worry about occasional 10% fluctuations), and no dropped frames should be reported. You can verify the latter in the Encoding Results screen when you end the capture.

  12. Check the quality of the captured file to visually confirm successful encoding and note the reported playback bit rate, which should be the same or very near the rate specified in the WM9 Encoder.

    If your WM9 Media Player is set to a video size of 100% (as opposed to Full Screen) and your computer monitor resolution is 1,024×768 or greater, the playback quality should be excellent, assuming you're not a professional cinematographer.

    As implied in bullet 4 on page 56, you are now done with this capture. You can go straight to the editing process using this file as a master for most desktop video applications, or employ it as-is if you're satisfied with the start and end points. I use this process to encode movies and TV shows from my DVD player and cable box and then burn the captured WM9 files to CD-ROM or DVD-R, depending on file size. If you want to make clips for streaming from a video server, progressively downloading from a web server or viewing on a Pocket PC device, you can use the other subwizards.

    For my money, if you have a computer comparable in speed and RAM to our reference machine, the File archive subwizard, as customized previously, is the way to go. You may want to push the envelope by specifying a video bit rate of greater than 2,000, which is highly recommended if you have an even faster computer. Just remember to check for dropped frames and a CPU load that stays at 100% during capture (not good).

  13. If you want to save your custom settings for the next time you need to encode with these particulars, click Export in the Custom Encoding Settings>General tab (see Figure 3.19) and choose a suitable name for the profile you want to save (see Figure 3.23).

    Click To expand
    Figure 3.23: Exporting a Custom Profile.

    You can import that profile the next time you arrive at this window without having to set all the individual controls. You can also create a brand new profile here, but I recommend doing this only after you've changed the default template a few times. Custom profiling is possible in the other subwizards as well.

    For the record, you can use the File archive subwizard in its completely default state (without the previous customization), and it won't do a completely useless job—just unpredictable. I captured a five-minute clip on the reference box without data-rate constraints at 640×480, and the summary report said the average bit rate was about 5,600 Kbps! It further reported that nearly 200 frames were dropped. The CPU load was 100% during the whole capture.

    While the average bit rate is certainly impressive, playback of this clip after encoding was jerky in spots. Re-encoding it (as opposed to recapture) to a rate near 2,000 Kbps might have produced smooth playback on the reference box, but I could have lost important visual data in those 200 dropped frames. The important idea here is that constraining the data rate ensures reliable capture with no lost data. If you want to capture at data rates above (or greatly above) 2,000–2,200 Kbps (for, say, high-definition quality), you'll need to invest in hardware significantly more powerful than our reference machine.

Wizards: Custom Sessions

The thing about the Custom Session wizard is that, unlike the more specific wizards, it's good for setting up any type of capture, conversion, or live broadcast session. On the other hand, it doesn't guide you through the whole setup process. But some people just like to use their own designs, and you can't blame them. If you spend enough time with the WM9 Encoder, you'll eventually know enough to customize everything about it, but the point is that you can save time (and sleep easy) using its wizards. To demonstrate how this one works, we'll set up a session for a completely uncompressed capture, as promised earlier.

  1. To start from scratch, click either File>New or the New Session toolbar item to pop up the New Session window shown back in Figure 3.1.

  2. Double-click Custom session to start the wizard; then select and configure your Video and Audio capture hardware as described earlier in the Capture audio or video wizard. Note that our prior configuration included video resolution of 640×480.

  3. Leave the Name and At end controls as is, and make sure Devices is checked in Source from. Click the Apply button.

  4. Now click the Output tab (see Figure 3.24). Put a check in the Archive to file box and uncheck Push to server and Pull from encoder.

    Click To expand
    Figure 3.24: Setting the Custom Session Output Properties.

  5. Key in or browse to a file name; then uncheck Limit by size and Limit by duration.

  6. Check the Index the file box if you want to be able to scrub through it later in the Media Player or make it friendly to a desktop video editing program like Adobe Premiere. Click the Apply button.

  7. Click the Compression tab. Set the Destination to File Archive; then click Edit.

  8. In the Custom Encoding Settings window, General tab, set both the Audio and Video Modes to CBR.

  9. Now set the Audio and Video Codecs, respectively, to None (PCM) and Full frames (uncompressed), as shown in Figure 3.25.

    Click To expand
    Figure 3.25: Setting the Custom session encoding properties.

  10. In the Target bit rates box, there should now be a single item named Uncompressed. Select Uncompressed and click Edit, which will put you in the Custom Encoding Settings window, Uncompressed tab (see Figure 3.26).

    Click To expand
    Figure 3.26: More Custom session encoding properties.

  11. Make sure the box labeled Same as video input is checked and leave the Frame rate at 29.97. Confirm that the Audio format is set as high as possible; then click the General tab.

  12. Leave unchecked the boxes for Allow interlaced processing and Allow nonsquare pixel output; then click OK.

  13. Go through the rest of the tabs in Session Properties and make the following adjustments:

    Video Size

    Leave Method at No cropping

    Attributes

    Add caption data as appropriate

    Processing

    In Video, turn on Deinterlace, or use Detect to see if your system can advise you further on this (depends on your system)

    Plug-ins

    Leave as is

    Security

    Leave as is

    Advanced

    Leave as is

  14. Ready for action? Dismiss the Custom Encoding Sessions panel and prepare to roll your video source.

    We're about to capture uncompressed data at a very high rate for our reference box, but the processor won't be tied up trying to compress the media data as it comes in. Still, some hard drives may have a difficult time keeping up, and other factors may come into play as a given system handles the load. Let's see what happens.

  15. Start your tape or silver disc player, then click Start Encoding.

After 60 seconds, during which the CPU load fluctuated between 20% and 30%, I got the following Encoding Results on the reference box:

  • Bytes encoded: 800 megabytes (roughly)

  • Frames dropped: 0

  • Bit rate: 110 megabits per second (roughly)

If you do the math here, it checks out. 800 megabytes is very roughly 6,400 megabits. Divide that by 60 (seconds in a minute), and you get around 107 megabits per second. The captured file details report 809 megabytes on disk, but this is all close enough to satisfy a basic reality check. Your only problem will be trying to play this monster in the Media Player, which you probably can't do with any degree of enjoyment. The good news is that you can bring it into an editing tool knowing the video and audio quality are very high indeed.

The other good news is that our reference machine was able to capture completely uncompressed at 640×480 without dropping any frames and with a relatively low CPU load. The downside, of course, is the old interim file problem: almost a gig per minute! An hour TV show would fill most of an 80-gig hard drive. The average feature film would likely fit on a 120-gig drive, but just barely.

Anyway, you get the idea. For the record, I did capture a feature-length movie uncompressed on a 120-gig drive, let Microsoft Movie Maker 2 optimize it for me, output a 2.4 gig file (roughly), and burned that to a DVD-R. It played back very well in the WM9 Media Player from the reference machine's DVD drive—as well as, of course, from that machine's hard drive.

If you'd like to save a profile for uncompressed capture for future use in a custom session, you can do so (as shown on page 60) by exporting it in the WM9 Encoder's Custom Encoding Settings panel (see Figure 3.21). Again, the Custom session wizard can be used for setting up all sorts of capture, conversion, and live broadcast sessions—but you need to take the time to understand how it works before you'll get satisfactory results.

Wizards: Screen Capture

Old-school media wranglers might think they don't have much use for screen-capture movies, but the WM9 version of this tool may change their minds, especially as corporate demand for such expertise increases. I've used Camtasia (a fine product) in the past for screen-capture projects, but have been holding out for a killer native Windows solution. In my opinion, this is it. Here is a demo of the Capture screen wizard. You'll need a few minutes of screen activity/navigation to capture.

  1. From the top, click either File>New or the New Session toolbar item to invoke the New Session window shown earlier in Figure 3.1.

  2. Double-click Capture screen to start the wizard, which pops up the panel shown in Figure 3.27.

    Click To expand
    Figure 3.27: initial screen capture setup.

  3. For the purposes of this demo, check the button for Entire screen and also the box for Capture audio from the default audio source. This is where you can enable microphone input for narration during a screen-capture session. Click Next.

  4. In the Output File panel, key in or browse to the name for your captured-screen movie file; then click Next.

  5. In Settings Selection (see Figure 3.28), check the button reflecting your quality versus file size preference. For the purposes of this demo, check High, then click Next. Smaller file sizes are used when connectivity by dial-up modems is involved (for remote online training, for instance).

    Click To expand
    Figure 3.28: Quality versus file size settings.

  6. Supply whatever caption data you wish in the Display Information panel; then click Next.

  7. Review your settings; then click Finish.

The WM9 Encoder is now ready for action. When you click the Start Encoding button, an alert will pop up, as shown in Figure 3.29. The deal here is that clicking OK hides the Encoder and starts capturing the screen. To stop, click the Encoder icon in the Windows taskbar (at the foot of your screen), which unhides the Encoder. Clicking the Stop button physically completes the capture process and displays the Encoding Results window.

Click To expand
Figure 3.29: Ready to start the screen capture.

As you may be keenly aware, screen capture is a tricky business when based on playback expectations. I've seen major projects turn ugly because developers captured screens set at 800×600 without clarifying how users with screens normally set to 640×480 would be handled. Same thing for 1,024×768 captures versus 800×600 users. Simply put, screen capture videos do not scale visually. This is especially true when text is involved, which is often the case in computer-based training projects.

The rule of thumb is to capture at the screen size of your lowest common denominator user. Either that or get it in writing from your client that capture at, say, 800×600 is 100% acceptable—then tell the client why such a guarantee is necessary. Yes, WM9 makes screen capture a lot easier (especially with its new and improved codec for 56K modem delivery of lossless screen-capture video) but you must plan production very carefully, and with as much design approval by clients as possible. Trust me on this.

Using the Quick Starts

While testing out these various wizards, you probably noticed the Quick Starts tab next to the Wizards tab (see Figure 3.30). According to their descriptions, the items under the Quick Starts tab are specialized templates for specific encoding activities, a few of which we've covered already. I'll list the particulars of each and comment on its relevance and applicability to the previous context. You might want to browse through them yourself to get a feel for what Microsoft thinks are common scenarios for users of their product.

Click To expand
Figure 3.30: WM9 Encoder Quick Start templates.

As it turns out, these Quick Starts are quite useful and do seem based on real developer/user experience. Also, they get you right into the Encoder with hardly anything left to do except to choose a file name and to click the Start button. I would certainly use Capture live content for streaming and Broadcast company meeting in their default states and possibly Convert film to video.

Quick Start 1: Capture live content for local playback

The important parameters set in this template are:

Video | 1,000 Kbps CBR | 30 fps | same as input resolution (from the capture card).
Audio | 384 Kbps CBR | 48K 24-bit stereo | WM9 Pro

While 1,000K is fine for 320×240 video, in my opinion it is not good enough for 640×480—especially given that our reference box can handle 2,000K plus a little more. Also, this is pretty rich audio, which is hard not to like but may be overkill for day-to-day desktop video projects.

Quick Start 2: Capture live content for streaming

Key settings for this one are:

Video | Multiple CBR streams of (roughly) 300K, 136K, and 28K. The first two use 320×240 video resolution while the third one uses 160×120.
Audio | Each stream is 8 Kbps CBR, 8 KHz mono.

As the saying goes, a pretty nice spread. I might set the audio for the richest stream to 32K, 44 KHz mono (and bring down the video to, say, 256), but otherwise this one seems ready for prime time.

Quick Start 3: Convert film content to video

This is a conversion template that does two important things: Inverse telecine (as suggested in the name) and VBR (variable bit rate encoding), which is possible in a two-pass conversion from an existing media file as opposed to a one-pass capture from an analog source.

Video | 1,000 Kbps VBR (3,000K peak) | 29.97 fps | same resolution as source file
Audio | 192 Kbps VBR (576 Peak) | 44K 24-bit stereo | WM9 Pro

If you're converting a video file of content originally shot on film (such as a VHS tape of DVD), you will get better quality (and a better compression ratio) in the converted target file if you apply an inverse telecine filter, which converts the 30 fps of the video to 24 fps (the natural frame rate for film). Most desktop video pros use inverse telecine without hesitation (where appropriate), and it is built into all modern desktop video software.

For converting instead of the capturing, this Quick Start seems a sure bet, although I would raise the video bit rate so that the whole package comes in around 2,000 Kbps, if your target audience is assumed to have computers on a par with our reference machine. If not, I can recommend this Quick Start completely off the rack.

Quick Start 4: Broadcast company meeting

Because this template involves a live broadcast, I'll defer the details to Chapter 5. Generally speaking, if you need a quick way to reliably broadcast a video stream on a corporate LAN, you can't go wrong setting it up and executing the event using this Quick Start.


Capture from DV Cameras and Decks

If you went through step-by-step the prior section on capturing video from analog devices, this section on DV cameras and decks may be shorter than you'd expect. The reason is that there is no analog capture process—in other words, no rasterization of an analog video stream to a digital file format readable by WM9. Such conversion has already been taken care of by the DV deck or camera. All you need to do is transfer the digital data, perhaps with additional compression, from the deck or camera to your PC.

This process is certainly not new to WM9, and it's considered mature for many types of cameras and computers, especially the Apple Macintosh. For XP and WM9 users, it is now even more efficient and user-friendly. Check out Microsoft's Movie Maker 2 program if you have any doubts. In fact, just plugging a DV camera into an XP machine with a FireWire cable will pop up the window shown in Figure 3.31, assuming you have WM9 and Movie Maker installed correctly.

Figure 3.31: XP's normal reaction to plugging in a DV camera.

  1. Double-click on the WM9 item in Figure 3.31 to invoke the WM9 Encoder (depending on your default settings) along with the New Session wizard. Because there are not yet any Quick Start templates for DV cameras or decks, we'll go right to the Custom session wizard (see Figure 3.32).

    Click To expand
    Figure 3.32: Custom session wizard.

  2. Check Devices for the Source from control, and select your plugged-in camera name from the Video and Audio menus (notice the Configure button is now grayed), and then click Apply.

    As noted, the Custom session wizard is less a setup guide than a link to the WM9 Session Properties window.

  3. In Session Properties, click the Output tab, check the Encode to file box, key in or browse to a target file name Make sure to put a check in the Index file box. Then click Apply. No need to limit by file size or duration at this point.

  4. Now click the Compression tab and select File Archive in the Destination menu.

    The Video and Audio fields should fill in, respectively, with High quality video (VBR 100) and Lossless quality audio (VBR 100), as shown in Figure 3.33. This is where you need to make the all-important decision between capturing as quality rich as possible or going with as much compression (data-rate limiting) as it takes to keep the target file size manageable. Remember that we are not employing a capture card here—just moving media data from the camera to the PC with the option to compress it as much or as little as we wish.

Click To expand
Figure 3.33: Compression settings for DV camera data acquisition.

A Top-Quality DV Camera Capture

To maintain symmetry with the first section of this chapter, let's consider two examples: very high quality and plenty good-enough quality. Since we're already set up for the former, we'll complete the former process and then demonstrate the latter. In other words, keep High quality video (VBR 100) and Lossless quality audio (VBR 100) selected in the Video and Audio menus. Follow the steps with me if you have some footage shot with a DV camera.

Note

Template Note: This template includes the setting to make the target video resolution the same as the source, in this case 720×480 (standard for DV equipment).

  1. Under the Video Size tab, no changes are required. Same for Security, Advanced, and Processing.

  2. Add caption data as needed in Attributes.

    Assuming that Windows 2000 or XP recognized this DV camera when you plugged it in (a fair assumption), you should be able to control it using the VCR buttons in the Device control window under the Video window.

  3. Advance or rewind the tape to several seconds before the point at which you want to start capturing; then click the VCR Stop button.

  4. When you're ready to commence capturing, dismiss the Session Properties window (for better visibility of the whole Video window); then click Start Encoding.

  5. Let it rip for 60 seconds, then click Stop.

On the reference box in this demo, the CPU load stayed at 100%, but no frames were dropped, according to the data in the Encoding Results window. This is essentially because the WM9 Encoder is controlling the input device (the DV camera) as opposed to trying to keep up with it. Total megabytes encoded: 79.06. Average bit rate: 11.19 Mbps. These numbers are about one-tenth the size of the corresponding numbers in the unconstrained analog capture demo. This is because the data from the camera is already digitally encoded.

A Plenty Good-Enough DV Camera Capture

Again, you'll need some footage shot with a DV camera.

  1. For our second session, repeat the previous process except for in Session Properties.

  2. In Session Properties, select File archive, but click Edit to get to Custom Encoding Settings.

  3. Select CBR for both the Video and Audio modes; then highlight the item in the Target bit rates box and click Edit.

  4. Under the Bit Rate tab, key in 2,000K for the Video bit rate and select an Audio format of 128 Kbps, 44 KHz, stereo CBR.

  5. After a 60-second capture, review your Encoding Results to confirm that no frames were dropped and that the average bit rate is the same as requested. Trying playing the captured clip as a final reality check.

Playback should be smooth if the data rate is indeed 2,000K, but I've occasionally had to either re-encode some captures of this type or convert them (using the WM9 Encoder) to clips with lower data rates, just like I would do for the very-high-quality clip captured in the previous example. It comes down once again to just how rich you want the captured media to be.

These two examples illustrate the basic issues involved in getting footage off a DV camera with the WM9 Encoder. Most modern apps that talk to DV cameras (Avid, Premiere, Movie Maker, etc.) will also let you do this, but they're mainly for editing your footage following acquisition—as opposed to simply capturing it. If you work a lot with finished (edited) content that simply needs encoding to WM9 format, you probably won't use the Encoder much to capture from DV cameras or decks. If you shoot a lot of DV footage that needs editing and conversion to WM9 format, you'll probably import it directly into you desktop editing application instead of using the WM9 Encoder.

As I mentioned at the start of this chapter, I believe the desktop video capture world has changed dramatically in the last five years. You can now capture with new, consumer-class computers the kind of quality that only high-end systems with special attachments could once provide. If you take the time to learn the WM9 Encoder, even just its wizards, you'll be able to exploit this changed world to great advantage—and have a lot of fun doing it.


Chapter 4: Compression and Transcoding with WM9

Highlights

Like Chapter 3, this chapter is fundamental if you plan to work with WM9 in a day-to-day production environment. It's not about editing, nor does it concern the video capture process (covered in Chapter 3). Rather it is about compressing, converting, downsampling, and otherwise re-encoding existing media assets from one digital format to another. In short, the wide and wicked world of digital media wrangling.

Experienced wranglers already know the importance of such tasks and the various Windows and Mac programs available for shouldering them. I believe WM9 greatly simplifies media wrangling on the Windows desktop because it reduces the essential tool set to three applications:

  • WM9 Encoder

  • QuickTime Pro

  • Microsoft Movie Maker 2 (I dare say)

QuickTime Pro is included here because the QTP Player converts QuickTime files to AVI files while the WM9 Encoder and Movie Maker do not. Also note that Movie Maker 2 only works on Windows XP. For detailed information on QuickTime media wrangling, I suggest Ben Waggoner's Compression for Great Digital Video, also from CMP Books. Movie Maker 2's editing and effects capabilities are discussed in detail in Chapter 9.


Overview

Anyone versed in desktop video production knows the general history of compression. In the early days, you almost always captured first and then compressed. Programmers liked the term encoding, but CD-ROM producers favored compressing. These days most people say encoding—possibly because more compression now happens in the capture process or maybe because it sounds more technical.

Who can forget those whopping one and two-gig external SCSI drives filled to the brim with Motion-JPEG captures, all waiting to be squashed down into two and three-minute QuickTime or AVI clips? If you were a master compressionist, you likely employed a RAID to hold 18 gigs or more of raw video output from, for example, a Media100 or SuperMac Digital Film system. How sweet it was at the time. And don't forget—all this equipment just to produce quarter-screen, 15-frame-per-second Cinepak movies.

After the early days, there was increasing interest in conversion, now known in professional circles as transcoding. One of the more common exercises was converting QuickTime Cinepak clips to AVI Cinepak and vice versa. Back then it was possible to change the file format without recompressing the media, as long as the codec was supported in both the source and target file formats (see Figure 4.1). This condition was key to maintaining video quality, but it was generally lost on clients, if you were charging money for performing such services.

Click To expand
Figure 4.1: An early transcoding program: TRMOOV.

Intel's Indeo was another codec that could survive a file format change, as was Apple None, which converted to AVI Full Frames and back again, if you knew which software to use. A number of third-party conversion tools also made the rounds at the time (such as San Francisco Canyon Company's TRMOOV.EXE), few of which are still useful. Nowadays media file formats and codecs are much more complex. They are, in fact, intertwined to the point that just about everything gets put through the wringer in the transcoding process.

During this maturation period came the growing acceptance of MPEG-1, along with growing confusion. For example, QuickTime 3 on the Mac could play MPEG-1 files but QuickTime for Windows could not. Video for Windows (precursor to WindowsMedia) supported MPEG-1 in Version 4, as long as you installed Microsoft's ActiveMovie—a separate download. Big editing suites like Ulead's MediaStudio contained MPEG-1 converters, but you had to buy and install the whole product. The bottom line was that MPEG-1 found favor with the established video and broadcast industries (at the expense of multimedia standards such as QuickTime and AVI), but few people knew how to integrate it universally on Mac and PC desktops.

MPEG-1's advantage was that it looked and sounded better (if well-produced) than AVI or QuickTime. This was because it played by design at 30 fps with stereo audio. Because top-quality MPEG-1 capture gear came on the market cheaper than high-end Mac and Windows equipment, some media wranglers (myself included) began acquiring in MPEG-1 and converting to full-frame/30 fps AVI prior to further compression. (By that time 9- and 18-gig SCSI hard drives only cost $1,500.) If clients thought I owned a Media100, based on the quality of the finished clips, I wasn't going to tell them differently unless they asked. Again, a general history, but useful context (I hope) for the rest of this chapter. I believe WM9 movies look and sound better than MPEG-1 movies and have the added bonus of lower data rates.

Fortunately, computers are much faster in 2003 and compression/conversion can take minutes instead of hours, depending on the size and duration of your source and target media files. Unfortunately, the biggest problem has turned legal/political, not mechanical. Until now, each of the major players (Microsoft, Real, and, to lesser extent, Apple) has made their final playback format untranscodable. They've done this by not allowing anyone else to decode their video files programatically, which is required for a conversion program to get any work done. This is why you can't import a WM7 file into Adobe Premiere or a Real8 clip into Sonic Foundry's Vegas (see Figure 4.2). You can output finished WM7 and Real8 movies, but you have to use some legal format as the source, such as AVI, MPEG-1, or QuickTime.

Click To expand
Figure 4.2: Trying to import a WM7 clip in Adobe Premiere.

One of the breakthroughs of WM9, in my opinion, is that you can use the final distribution format as source media in third-party video production tools like Premiere. Microsoft has made business deals with Adobe and other companies that now allow them to import (decode) WMV files for editing and recompression into other formats, including back into WM9—in effect, transcoding. Upgrading and testing these already mature products was a major undertaking, but it should be worth the effort. Later chapters will discuss how this works in Premiere, Avid Express, Pinnacle, and Ulead products. For the record, both WM9 Encoder and Movie Maker 2 will load WM7 and WM8 media files.


Video Compression with WM9

To differentiate compression from transcoding in this chapter, I'd like to treat compression as the process of starting with a Windows-format file and ending with a Windows-format file, generally using the WM9 Encoder. Old-style Microsoft AVI and ASF files are included under this umbrella. The section on transcoding per se will cover starting with an file in a different format (such as MPEG-1, MPEG-2, QuickTime, etc.) and ending with a Windows-format file. Where it makes sense to do so, I'll show an example of starting with a Windows-format file and converting to something else. Because this book is about WM9, I mainly want to demonstrate production of WM9 files.

I tried to make a workable matrix showing, for example, tools across the top and formats in the left column (with various production recipes in the body of the grid), but it didn't make much sense. I also tried playback devices on one of the axes, but that didn't work either. Ultimately I distilled a series of basic examples and expanded on those where it made sense. Experimentation and customization, of course, are strongly encouraged once the basics are mastered.

Because my plan is to focus on standard Windows Media workflows, let's start with a compression example using the WM9 Encoder. The rest of this chapter is almost all examples, with references back to this first one at times to avoid repetition.

Compressing with the WM9 Encoder

If you tried the WM9 capture recipes in Chapter 3, you'll remember the New Session wizards (see Figure 4.3) shown in the WM9 Encoder when you click File>New or the New Session toolbar item (or if you just launch the program). We did not cover the Convert a file wizard in that prior chapter, but now is the time.

Click To expand
Figure 4.3: WM9 Encoder New Session window.

For this demo my source file is a 3-minute, 320×240, 680-meg uncompressed AVI clip that I really do want to offer for download. Because this is just a demo, any source file will do, but always make sure the ones you use in real production are as uncompressed as possible.

  1. Double-click the Convert a file icon to launch it.

  2. The File Selection panel shown in Figure 4.4 requests names for the source and output files to be used in this operation. Browse to or key in the fully qualified path names for each, including the file name extensions (such as .wmv); then click Next.

Click To expand
Figure 4.4: Supply the Source and Output file names.

In the next panel, Content Distribution, you'll see a list (shown in Figure 4.5) similar to the ones found in the capture wizards:

  • File download (computer playback)

  • Hardware devices (CD, DVD, portable)

  • Windows Media server (streaming)

  • Web server (progressive download)

  • Windows Media hardware profiles

  • Pocket PC

  • File archive

Click To expand
Figure 4.5: WM9 Encoder Content Distribution window.

Notice the new items File download (computer playback) and Hardware devices (CD, DVD, portable). These certainly sound like good content distribution formats, so let's look at each in turn. You can get the details on the others in Chapter 3.

Subwizard 1: Compression for File download (computer playback)

  1. Select this subwizard and check Next to get to the Encoding Options window shown in Figure 4.6.

    While the first item in the Video menu is High definition quality video (5 Mbps VBR)—probably not applicable in most file download scenarios—the rest of the items in the list do make sense. Actually, based on the words computer playback (as opposed to CD and portable device playback), the first menu item is not completely out there, but let's not dwell on it.

  2. In the Video menu, choose VHS quality video (250 Kbps VBR), and in the Audio menu, choose CD quality audio (VBR).

    Your total bit rate should now be 323 Kbps in one data stream (see Figure 4.6). This is a perfectly acceptable data rate for 320×340 video, although it will blur noticeably if zoomed to 640×480. If you want to offer native 640×480 video for download, the data rate should be at least 1 Mbps.

    Click To expand
    Figure 4.6: Encoding Options for Compression.

  3. Click Next.

  4. We're now looking at the Display Information panel for supplying caption data, in which you can click Next to get to the Settings Review window.

    Both of these are self-explanatory, and screen shots are provided in Chapter 3. You would put a check in the box labeled Begin converting when I click Finish if you want this to happen (but not this time).

  5. Click Finish to go to the main WM9 Encoder UI, shown in Figure 4.7.

    Click To expand
    Figure 4.7: WM9 Encoder in Conversion Mode.

    You'll be familiar with this UI if you performed the exercises in Chapter 3. If you're not, please note that parts of the UI may be hidden because the Encoder is now in Conversion mode (as opposed to Capture mode). Drop down the View menu to see a list of the available panels, if you're curious.

    Assuming you didn't tell the wizard to start the conversion, let's take a look at the details of what it's about to do. (In the future, you can now click the green Start Encoding button in the top toolbar if you're content to proceed with the default settings.)

  6. Click Properties to show the Session Properties window (see Figure 4.8); then click the Compression tab.

    Click To expand
    Figure 4.8: Session Properties for Conversion.

    The Destination, Video, Audio, and Bit rates menus should reflect the choices you made in subwizard 1. Nothing much to change here that you couldn't have set in the subwizard, but it's worth a look if it's your first time through. Notice that the Two-pass encoding box is checked and grayed, which is standard for conversion (as opposed to capture). Two-pass encoding is what makes variable bit rates (VBR) possible—unlike the constant bit rates (CBR) used in most captures. Depending on the amount of action and video noise in a given source clip, using VBR will produce smaller files and higher-quality images.

    Browse the rest of the tabs in the Session Properties window at your leisure. The only thing you might want to change is in the Video menu of the Processing tab (see Figure 4.9).

    Click To expand
    Figure 4.9: Calibrations for Inverse telecine and Deinterlacing.

  7. If your video content was originally shot on film, you should check Inverse telecine. If it was captured using a video card that allowed interlaced processing, check Deinterlace.

    Note

    Why Deinterlace? Interlacing appears as very thin black horizontal lines in your video frames. You'll know it when you see it, and it's nice to be able to get rid of it.

    Clicking Detect launches a separate process that tries to determine which of these processing options you should use, but I have better luck choosing manually here, based on what I already know about the source clip. Don't be surprised if the detect process takes a while to complete.

    In the Security tab you'll see options for enabling digital rights management (DRM), which you can ignore for now. Chapter 6 is dedicated to WM9 DRM.

  8. When you're ready to proceed, close the Session Properties window; then click the Start Encoding button.

    The WM9 Encoder will go to work and likely convert the source file in less time than it takes to play it, subject to the speed of your computer.

  9. When the operation is complete, you can check the data in the Encoding Results window for error listings (see Figure 4.10) and play the target file for a reality check.

    Click To expand
    Figure 4.10: Encoding results from a typical conversion.

    What did this exercise prove? First, that using a basic WM9 conversion/compression wizard is fast, easy, and perhaps a solution for a big part of your production work—if not for just a handful of clips on a personal download site. Second, that if you want to customize the process within the wizard, there are clear ways to do so. Granted, we are using Windows-format files as input. But conversion from, say, MPEG-1 or MPEG-2 to a WindowsMedia format is just as fast and easy. We'll get to these types of operations shortly.

Subwizard 2: Compression for Hardware devices (CD, DVD, portable)

Now let's see what this other new subwizard (not included in the capture subwizards) has to offer.

  1. Start by double-clicking Convert a file in the WM9 Encoder's New Session panel, then progressing through File Selection (choose the appropriate source and target files) to the Content Distribution menu (see Figure 4.5).

  2. Select Hardware Devices (CD, DVD, portable); then click Next.

This brings us to the familiar Encoding Options panel, but with some slightly different options (at least in how they're worded). For instance, there are only four choices each for Video and Audio and each one ends with the words VBR peak. (see Figure 4.11). I assume these four choices are meant to be paired-off as follows:

Click To expand
Figure 4.11: Content Distribution window with hardware device options.

  • High definition quality video (5 Mbps VBR peak)/High definition quality audio (192 Kbps VBR peak)

  • DVD quality video (2 Mbps VBR peak)/CD quality audio (64 Kbps VBR peak)

  • DVD quality video (1 Mbps VBR peak)/CD quality audio (64 Kbps VBR peak)

  • VHS quality video (259 Kbps VBR peak)/FM quality audio (48 Kbps VBR peak)

Note that the fourth audio item is named Multichannel audio (192 Kbps VBR peak) which seems a logical alternative to High definition quality audio (192 Kbps VBR peak) in the first pair 1. Bit rate and pixel resolution are also supplied for each of these choice combinations:

 | Bit Rate | Pixel Resolution
High definition | 5,073 Kbps | 1,280×720
DVD (2 megs) | 2,073 Kbps | 640×480
DVD (1 meg) | 1,073 Kbps | 640×480
VHS | 307 Kbps | 320×240

Also note that these choices do not imply that your source media will fit on the chosen hardware device after encoding. They simply suggest that the encoded media should play well from the device associated with the given data rate. For example, if you capture a feature-length movie at a high data rate, then compress it using recipe 2, the second bulleted item, it will very likely fit on a DVD data disc (4.7 gigs) but not on a CD-ROM (700 kb), although it might actually play from a CD if it is short enough and the CD drive is fast enough.

  3. As you might have noticed, I favor data rates of at least 2 Mbps for 640×480 video. Therefore, please select the options in item 2 (DVD quality, 2Mbps/CD Audio) and click Next.

  4. Click Next again in the Display Information panel (don't worry about leaving this blank for now) and then Finish in the Settings Review panel to get to the main WM9 Encoder UI.

  5. Click the Properties icon in the top toolbar in the Session Properties window to inspect the various tabs, like we did in the previous tutorial.

    If you dig down in the settings under the Compression tab, you'll see that Peak does not actually apply to the bit rate in the option label. Rather the number in the label—in this case 2 Mbps—applies to the average bit rate while the peak is a higher (yet constraining) number, as shown in Figure 4.12. Because this is a variable bit rate scenario, the math does work out over time, and the average number in the label does have meaning.

    Click To expand
    Figure 4.12: Peak versus average video bit rates

  6. Click Start Encoding when you're ready to go.

I wrote this tutorial using an hour-long feature captured completely uncompressed from a DVD player. It took about five hours to encode (in two passes) on my 2-GHz reference machine, but playback looked quite good indeed at 640×480 with a reported average data rate of 1,674 Kbps. At a file size of 850 megs, it almost fit on a CD-ROM. Four or five of them could have fit on a DVD-R, which starts to make sense economically.

What did this exercise teach us? Again, that using a basic WM9 Encoder wizard can greatly simplify and expedite standard workflow processes such as encoding WindowsMedia files for reliable playback from standard devices like DVD/CD-ROM drives and players. Where are we in the compression/transcoding matrix? Well, we've now seen two examples of using the WM9 Encoder for compression per se, starting and ending with WM9 file). Both employed wizards with little or no customization—according to the plan—and produced excellent results. Next we'll use a WM9 Encoder Quick Start for compression, followed by a Movie Maker compression session.

Quick Start 1: Convert film content to video

As noted in Chapter 3, the WM9 Encoder Quick Starts (one tab over from the Wizards in the New Session panel) get you right to the main Encoder UI with little left to do except choose a target file name and click Start Encoding. This first one contains one important thing: Inverse telecine. If you're compressing video content originally shot on film, such as a VHS tape or DVD, you will get better quality (plus a better compression ratio) in the target file if you apply an inverse telecine filter, which converts the 30 frames per second of the video to 24 fps (the natural frame rate for film).

Most desktop video pros use inverse telecine without hesitation where appropriate, and it is built into all modern desktop video software. This Quick Start equips the WM9 Encoder with the following settings:

Video | 1,000 Kbps VBR (3,000K peak) | 29.97 fps | same resolution as source file[*]
Audio | 192 Kbps VBR (576 Peak) | 44K 24-bit stereo | WM9 Pro
[*]I'd seriously consider customizing the data rate to 2,000 Kbps for a 640×480 (or greater) video window.

I believe the two wizards and solitary Quick Start described previously provide a solid basis for understanding how to use the WM9 Encoder for compressing WM9 media. As long as you're working with one file at a time (batch WM9 encoding is covered in Chapter 8 on page 174), don't need to do any editing, use Windows-format media for both source and target, and aren't concerned with archiving or backing up huge files, the WM9 Encoder should cover all your media wrangling needs. Using its wizards will get most jobs done quickly, easily, and reliably.

Compressing (and Editing) with Microsoft Movie Maker 2

I mentioned archiving and backing up huge media files in the last paragraph. These are media-wrangling duties of the highest order. For instance, suppose you have a 20-gig uncompressed clip that you want to archive to optical storage (for instance, DVD-ROM). The most obvious way to accomplish this task of keeping the clip uncompressed is to break it up across five DVD-Rs. Unfortunately, the WM9 Encoder doesn't do break-ups.

Enter Movie Maker 2—Microsoft's home movie editor but also a WM9 media wrangler's secret weapon. The reasons I consider Movie Maker 2 viable, if not essential, are:

  • It's free (downloadable from the Microsoft web site).

  • It's made by Microsoft (developers of WM9).

  • It's lightweight, yet very powerful for basic desktop video editing chores.

  • It presumably shares the same code base as WM9, thus assuring a high level of compatibility. No other third-party apps—even the really good ones—can make this claim. As noted, it is currently XP-specific.

To use Movie Maker 2 to compress a movie like we did earlier with WM9 Encoder, I executed the following recipe. Follow along if you have a large, uncompressed clip to work with.

  1. Launch Movie Maker 2, assuming you've installed it.

  2. Click Import Video in the Movie Tasks menu to invoke the Import File window (see Figure 4.13).

    Click To expand
    Figure 4.13: Importing a video file in Movie Maker 2

  3. Browse to the folder containing your huge, uncompressed movie and double-click its file name.

    The actual movie in this case has a duration of 2 hours, 20 minutes and a file size of 1.86 gigabytes. For the purposes of this demo, I'll pretend you've got one just like it. My goal is to archive it onto three CD-ROMs (much cheaper than DVD-R), given the total file size. The same principles, however, apply to making a much bigger movie fit onto multiple DVDs.

  4. Drag the imported video from the Collection window to the Video track in the timeline at the bottom of the Movie Maker UI (see Figure 4.14).

    Click To expand
    Figure 4.14: Inserting an imported video file in the Movie Maker timeline

    If you haven't used a desktop video editor before, the following steps may seem confusing at first, but it gets much easier with practice.

  5. In the Preview Monitor window at the upper right of the UI (where the timeline content is presented), grab the button of the movie controller bar with your mouse and scrub left and right.

    You'll see a vertical blue line (with a little blue box on top) appear in the timeline coordinated with where you are time-wise in Preview Monitor. Note the timecode readouts in both the timeline and just above the movie controller bar.

  6. Because the goal here is to divide a 1.86-gig file into three files each under 700 megs so that each segment can fit on a CD-ROM, we need to do some long division. Given that one-third of 2 hours, 20 minutes is approximately 47 minutes, grab the little blue box in the timeline with your mouse and drag it to the 47-minute mark.

  7. Make sure your timeline view is fully zoomed-out so that you can see the whole movie on the screen in the timeline. Zoom out by clicking the magnifying glass with the minus sign in it, just above the timeline.

  8. Click Clip in the horizontal main menu at the top of the Movie Maker window; then click Split in the dropdown Clip menu.

    You'll notice that your movie in the timeline is now divided into two adjacent clips. The clip to the left is the first 47 minutes of the original 140-minute movie. Everything described in steps 5–8 can be seen in Figure 4.15.

    Click To expand
    Figure 4.15: Splitting a big movie into smaller sections.

Chopping it up

Now we need to save off the first 47-minute clip as a separate file. I have my own way of doing this, which might seem conservative, but it cuts down on confusion during the process as a whole.

  1. Start by saving this Movie Maker project. (Click File>Save Project As; then enter a project path and file name).

  2. With the current project now saved, right-click on the right clip in the timeline, and then click Delete in the small pop-up menu.

    Don't worry, you're not killing any files. Make sure, however, not to save the project again. The only thing now in the timeline should be the 47-minute clip, which we can now save to a file.

  3. Click File>Save Movie File in the Movie Maker main menu to bring up the Save Movie Wizard window shown in Figure 4.16.

    Click To expand
    Figure 4.16: Starting the Save Movie wizard.

  4. Select My Computer; then click Next.

  5. Enter or browse to a name and path for the clip about to be saved; then click Next.

  6. In the Movie Setting panel, check the button labeled Best quality for playback on my computer.

    There are other choices here, which you can look into once this procedure becomes academic. For now, checking this first button ensures your saved clip will retain the same level of quality as your original big movie—which is the point of doing all this (see Figure 4.17).

    Click To expand
    Figure 4.17: Setting the saved movie quality and file size.

  7. Check the Movie file size value reported in the lower right part of this panel. If the size shown here is greater than what will fit on your CD-ROM, you'll have to start this recipe over with less than 47 minutes selected in the timeline. I've found that this value is often slightly greater than the saved file size, but why waste time taking chances?

  8. Click Next to save the movie. When the save is complete, check for errors in the panel shown in Figure 4.18. If the movie saved without errors, so far so good—but we're not done yet!

    Click To expand
    Figure 4.18: Report of a successfully saved movie.

  9. Close the Save Movie Wizard window or click Finish to get back to the main Movie Maker UI.

  10. Now we need to get back our saved project. Click File>Open Project (click No when asked if you want to save the current project) to bring up the Open Project window (see Figure 4.19). Double-click the name of the last-saved project (the one containing the results of the first movie split) or select it and click Open.

    Click To expand
    Figure 4.19: Retrieving our last-saved Movie Maker project.

    Click To expand
    Figure 4.20: Supply the source and output file names

    Click To expand
    Figure 4.21: Choose the highest quality video and audio

    You should now see the timeline looking like it did in Figure 4.15. Because we have saved off the first 47-minute clip, we can now delete it from the timeline.

  11. Right-click the first clip; then click Delete in the popup window. It will disappear, and the other clip will slide over to take its place.

  12. You can probably see where this is headed. Drag on the little blue box again until it's 47 minutes into the single remaining clip; then click Split in the Clip menu (like before). Save the project.

  13. Delete the balance of the original clip on the right, but don't save the project. Then save the new 47-minute clip as described in step 8. Pick a name that makes sense relative to the first saved segment (same for the rest of the clips carved off the original big movie).

  14. Open the most recent project and delete the just-saved second 47-minute clip. What's left in the timeline now should be the balance of the original clip—with a duration and file size roughly equal to the first two saved segments. Save it using the directions supplied and you're done.

    As you can see, this recipe only looks complicated at first. It is just an iterative process based on the number of discs (CD or DVD) you need to hold the serialized pieces of any huge movie you want to archive or for which you wish to create a production master. Again, I believe Movie Maker 2 is especially well-suited to the job. I'll use it again in the next section to take care of one more of the few tasks that the WM9 Encoder can't handle on its own.


Video Transcoding with WM9

This section is about starting with media in different formats (MPEG-1, MPEG-2, QuickTime, etc.) and ending with Windows-format files, including AVI. As noted, no QuickTime conversion scenarios are included, though outputting AVI files from the QuickTime Pro Player is very straightforward. Two other reminders:

  • Matrices of tools, platforms, and source/target file types can be confusing. Instead I'll present a series of common examples in basic categories and expand on them where it makes sense.

  • Experimentation and customization are strongly encouraged once the basics are mastered.

Transcoding with the WM9 Encoder, Example 1

Our first transcoding example uses a plain vanilla MPEG-1 movie as the source file. Its essential attributes are: 320×240 pixel resolution, 32 megabytes file size, 3 minutes and 23 seconds duration, roughly 1.5 Mbps average data rate (normal for MPEG-1).

  1. If you have a similar MPEG-1 clip to convert, click File>New or New Session in the WM9 Encoder toolbar (or just launch the program); then double-click the Convert a file wizard.

  2. This will bring you to the File Selection panel (shown in Figure 4.22) where you can browse to or key in the appropriate file names. Do so; then click Next.

    Click To expand
    Figure 4.22: Reviewing the Custom Encoding Settings

    The rest of this example is much like compressing a regular Windows-format source file, thanks to the design of the wizard and the power of the Encoder in general.

  3. In the Content Distribution panel, you'll see the same options shown in Figure 4.5 earlier in this chapter. To keep things interesting, let's now choose File Archive instead of File download. Click Next to proceed.

    The reason for choosing File Archive is because my MPEG-1 source file is high quality and I want the target WM9 file also to be of the highest possible quality. I don't need to distribute it from a website and would rather play it locally with the production values of the MPEG-1 file intact. As it turns out, the wizard can easily accommodate this.

  4. In the Encoding Options panel (see Figure 4.23), keep the default Video: Highest quality video (VBR 100) and Audio: Lossless quality audio (VBR100); then click Next.

    Click To expand
    Figure 4.23: Encoding Results from an MPEG-2 Conversion.

  5. Click Next in the Display Information panel and Next in the Settings Review panel to get to the main WM9 Encoder UI.

  6. Based on the settings established by the wizard, all you need to do now is click the Start Encoding button.

    If you're curious, you can click Properties in the top toolbar, then Edit in the Session Properties panel, and then the Quality-based tab in the Custom Encoding Settings panel (see Figure 4.24), to see that everything is tweaked to provide the highest-quality output file.

    Click To expand
    Figure 4.24: Selecting the DV-AVI file format.

  7. Click Start Encoding.

    Once the WM9 Encoder is rolling, you can drop down the Display menu in the Video window (just under the top toolbar). Select Both to see a close-to-real-time display of the input and output files as the conversion executes. The output should look as good as the input in this case, based on choosing the highest quality.

  8. Check for problems (unlikely) in the Encoding Results panel when the transcoding process is complete.

    When I converted the file with the attributes described on page 86, I got back a target WM9 file with a size of 64 megs. In the old days, I would have been concerned that this file was twice the size of the source MPEG-1 clip (32 megs), and I did say earlier in this chapter that I believed WM9 files looked as good as MPEG-1 files at lower data rates. The exception here is that I chose the highest possible quality for output, which caused the WM9 Encoder to overcompensate in some ways. In other words, the source could have been the same content but of higher quality than my MPEG-1 file, which would have made the source file bigger but probably not the target file. As a reality check, I converted the MPEG-1 file to WM9 at a data rate of 1 Mbps using the File download wizard. (Remember, video rez here is 320×240, not 640×480.) The resulting target file had a size of 22 megs and looked and sounded as good as the source—even better when 2X zoomed.

Transcoding with the WM9 Encoder, Example 2

Our second transcoding (media wrangling) example uses an MPEG-2 movie as the source. Its essential attributes are: 720×480 pixel resolution, 33 megabytes file size, 1-minute duration, roughly 4.5 Mbps average data rate (normal for MPEG-2). This file was created with Adobe Premiere by capturing footage from a JVC DV camera, and then exporting the project timeline using Premiere's built-in MPEG-2 encoder.

  1. Assuming If you have a similar MPEG-2 clip to convert, click File>New or New Session in the WM9 Encoder toolbar (or just launch the program); then double-click the Convert a file wizard.

    This will bring you to the File Selection panel (shown in Figure 4.18), where you can browse to or key in the appropriate file names. Do so; then click Next.

    Note

    Decoder Needed: You must have an MPEG-2 decoder installed on your system before WM9 can load or play an MPEG-2 file. Several are available and easy to purchase/download online. I used the one from InterVideo (http://www.intervideo.com) when testing these examples. WM9 does not yet come with its own MPEG-2 encoder or decoder.

    Like the MPEG-1 conversion, the rest of this example parallels compressing a Windows-format source file—thanks again to the design of the wizard and the WM9 Encoder.

  2. In the Content Distribution panel, you'll see the same options shown in Figure 4.5 earlier in this chapter. Click Next to proceed.

  3. In the Encoding Options panel, keep the default Video: Highest quality video (VBR 100) and Audio: Lossless quality audio (VBR100); then click Next.

  4. Click Next in the Display Information panel and Next in the Settings Review panel to get to the main WM9 Encoder UI.

  5. As in the MPEG-1 example, you can click Properties in the top toolbar, then Edit in the Session Properties panel, and then the Quality-based tab in the Custom Encoding Settings panel to see that everything is tweaked to provide the highest-quality output file.

  6. Click Start Encoding.

    You might have trouble seeing the Input and Output windows simultaneously if you select Both in the Display menu (given the 720-pixel width), but you should be able to toggle the view back and forth as the conversion executes. Again, the output should look as good as the input in this case, based on choosing the highest quality.

  7. Check for problems in the Encoding Results panel (shown in Figure 4.23) when the transcoding process is complete.zzz

    When I converted the MPEG-2 file with the attributes listed, I got back a target WM9 file with a size of 71 megs. As in the MPEG-1 example, this is approximately twice the size of the source (with no quality difference) for basically the same reasons. When I ran the MPEG-2 file through the WM9 Encoder with a target data rate of 4.5 Mbps, the source and target file sizes were the same (big surprise) as was the quality. When I did this again using a data rate of 2 Mbps, the target file size was roughly 17 megs (half the size of the source), and the quality was still as good. Remember that this is 720×480 video rez, and I have already stated that I think a 2 Mbps data rate for 640×480 desktop video in WM9 produces DVD quality. Standard DVD, of course, uses MPEG-2.

    Clearly there is a certain amount of subjectivity here, and no amount of transcoding quality can make up for blurry or badly lit original content, which makes quality judgments even trickier. With this in mind, I highly recommend that you start with the wizards (in this case, the Convert a file wizard) and customize them if you think you can squeeze out better quality or performance in your target files—especially when wrangling MPEG-2 source files.

Media Wrangling with Microsoft Movie Maker 2

This last transcoding example uses Movie Maker 2 for an important task that, oddly enough, the WM9 Encoder can't handle: outputting AVI files. Why Microsoft chose to omit this capability is unclear. Even though the WM9 Encoder can output uncompressed video (with uncompressed audio), such clips remain in the WM9 file format—not AVI—and thus are unloadable by some third-party editing programs as of this writing.

Note

Caveat: I won't pretend that no one will suffer from machine-related MS-DV codec headaches, though!

Movie Maker 2, on the other hand, can output AVI files. The catch is that they are compressed with the Microsoft DV-AVI codec, but the data rate is so rich (approximately 5 Mbps—arguably lossless) that this likely won't be an issue for mainstream desktop video projects. In fact, it is almost a blessing in disguise: efficient lossless compression, a standard format, and compatibility with DV cameras. The other catch is that DV-AVI has a built-in resolution of 720×480 (as opposed to 640×480). Also, as noted earlier, Movie Maker 2 is supported only by XP, not Windows 2000. If you can deal with this mix of benefits and limitations, let's get right to the wrangling.

Suppose you need to capture some high-quality video using the WM9 Encoder, but you also need the captured file(s) to be in AVI format for editing and then authoring to DVD. The overview of the production process looks like this:

  1. Capture as rich as possible to a WM9 file (or files).

  2. Open each capture file with Movie Maker 2, then output that file in DV-AVI format. You may need a lot of temporary hard drive space, but no big deal for a master media wrangler!

  3. Import each DV-AVI file into an editing app like Premiere, make your cuts, and then output from the timeline to a DVD image or to a fully uncompressed AVI file (like in the old days).

Now let's lay out the details. Chapter 3 showed how to capture WM9 video clips in a variety of quality formats, including completely uncompressed. Use the one that best suits your quality standards and keep the resulting capture file on deck. For clarity, this example will show the workflow for a single capture file. Also, remember to pay attention to the size of your capture window. If it is already 720×480, you're good to go. If not, you should recapture at 720×480 so that Movie Maker won't distort the video width. If recapture is impossible, you should be prepared to scale the DV-AVI output of Movie Maker back to the original proportions of your capture file after the Movie Maker conversion. Moving now to the Movie Maker phase, I'll itemize the required steps:.

  1. Launch Movie Maker 2.

  2. Click Import Video in the Movie Tasks menu to invoke the Import File window.

  3. Browse to the folder containing your capture file and double-click its file name.

  4. Drag the imported video from the Collection window to the video track in the timeline at the bottom of the Movie Maker UI.

  5. Click Save to My Computer in the Movie Tasks menu to bring up the Save Movie Wizard window.

  6. Enter or browse to a name and path for the clip about to be saved; then click Next.

  7. In the Movie Setting panel, click the link named Show more choices if only the button labeled Best quality for playback on my computer is visible.

  8. When all three buttons are visible, check the one labeled Other settings; then drop down its menu (see Figure 4.24). Select DV-AVI (NTSC), then click Next.

    Movie Maker will now begin saving your capture file in the DV-AVI format.

  9. When the save is complete, click Finish in the in the final panel of the Save Movie Wizard and exit Movie Maker.

You now have an AVI file as high in quality, generally speaking, as the WM9 capture file you imported into Movie Maker. Again, if the source was not 720×480, you will likely need to rescale this AVI file to regain its original proportions, such as 640×480. You can do this in Premiere if you're going to convert to uncompressed AVI anyway.

The final phase of this example depends on what your ultimate goal is. If you plan to master a DVD, the authoring program (such as Premiere or Ulead's DVD Studio) may be able to handle the DV-AVI file as is. If you need to do further editing with a more powerful tool, you may need to first convert the file to uncompressed AVI and crop or scale it in the process, depending on the rez and proportions of the original WM9 file. Premiere is also good for this.

If this sounds complicated, it will only take a few test drives to clarify the issues and create modified workflows to deal with them. Including Movie Maker in your toolbox is definitely a means to an end, but it does solve a big problem with the WM9 Encoder. And, if nothing else, these examples are constructed to expose the issues and inspire you to invent new media-wrangling solutions.


Creating and Working with Masters

All this talk about compressing and transcoding raises significant questions regarding video masters. If I've learned one thing about desktop video archiving, it's that the only true master for any QuickTime, AVI, or MPEG-1 file is the tape from which it was captured. You can certainly store the uncompressed versions of the captured assets on CD or DVD-ROM, but these interim masters are of limited value in the long run. The most useful thing I ever did with all my old CD-ROM masters was transcode them into files I could stream from a web server.

That being said, I believe WM9 will lend itself to the mastering and archiving process simply because it will create de facto standards (as opposed to official or committee-based standards) for high-quality desktop video. Based on experimentation and casual discussions with Microsoft developers and other interested parties, I can offer the following advice:

  • For creating masters of assets for which you will always have the tapes, and which are for personal or industrial use, I believe 640×480 with 192K stereo sound and a total data rate of at least 2 Mbps is a reasonable de facto standard. If you captured your masters from a DV camera, your video resolution will likely be 720×480.

  • The next step up is more conditional, based on video and audio resolution (including settings for high-def quality such as 720 or 1,080 pixel-width), but I'm told that, generally speaking, a de facto standard of 5 Mbps could make sense going forward.

Clearly these scenarios are not official and may change dramatically as WM9 gains acceptance. But anyone who's wrangled desktop video for the last 10 years has, at one time or another, created de facto evergreen standards they believed could be used to successfully archive a large collection of digital media assets—at least until the next generation of widely deployed encoder/player technology came along. In my opinion, WM9 is that next generation. Still, never throw out your tapes!


Chapter 5: Network Streaming with WM9

This chapter has "network streaming" in its title because it concentrates on video delivery using the WM9 Media Server—as opposed to posting WM9 files on web servers for progressive download. As noted in Chapter 2 (setup) and Chapter 8 (SDK components), the WM9 Server is not free like the Player and Encoder. It is packaged by Microsoft as part of the Windows Server 2003 family (formerly the .NET Server family), which the company hopes to sell on a long-term subscription basis. The prior Windows Media Server, version 4.1, was packaged with Windows 2000 Server. Earlier versions were free, but that's ancient history.

Even if you haven't yet invested in Windows Server 2003, there are a number of important things to discuss and demonstrate here. I've been testing the final release candidate, and the overall feel is solid and intuitive, especially if you have experience administering Microsoft's Internet Information Server (IIS).

Environment Setup

Chapter 2 showed a basic installation and quick test of WM9 Server, just to indicate the scope of these tasks. Assuming you have installed Windows Server 2003, let's recap the installation and configuration of the Windows Media Service. Note that these are separate and important steps on top of installing and configuring the OS itself. Further assuming you have added a Streaming Media Server Role (see Chapter 2 on page 35), I offer the following recipe:

  1. First click Start and then Manage Your Server to get to the Manage Your Server pane shown in Figure 5.1. You can also invoke the Windows Media Services Administrator directly from the Start menu.

    Click To expand
    Figure 5.1: Manage Your Server main menu.

  2. Click Manage this streaming media server in the Streaming Media Server section, which will take you to the main Windows Media Services pane shown in Figure 5.2.

    Click To expand
    Figure 5.2: Windows Media Services main menu

  3. Make sure the service is started and review the performance statistics and settings under the Monitor tab as a basic reality check.

  4. Click the View Performance Monitor button at the bottom of the pane for another reality check if you haven't done so for a while (see Figure 5.3). Then close it.

Click To expand
Figure 5.3: Windows Media Performance Monitor.

If no malfunctions are reported at this point, your server is probably ready for action.


A Modest Proposal

Let's step back and put things in perspective. Streaming media to the public as a business is now a well-understood proposition (unlike five years ago), but only the strong have survived. Multicasting high-quality streams across a LAN (or even a fully multicast-enabled WAN) is more common and reliable, but tends to be corporate and unglamorous by comparison. In other words, it takes big money to launch and sustain a TV-on-the-Web type of venture—maybe as much as TV itself, with even more risk.

But this assumes your perceived audience has the same expectations as a traditional television audience. In the October 2001 issue of DV Magazine I presented the following argument.

Premise

  1. You own, operate, or are otherwise responsible for a professional-quality web site from which you serve (or want to serve) streaming video.

  2. You are not a Content Distribution Network (CDN) or a web media hosting business, but you do have a thorough understanding of web video mechanics and business principles.

  3. The purpose of your site is to make money.

  4. You want to serve video from your site because you believe it is the best way to present at least some of your content to the public.

Conclusion

If the video links on your web pages don't contribute directly to your bottom line (that is, they're not pay-per-view), why get frantic if they don't perform acceptably (or at all) once in a while? Remind the user that he or she isn't being charged for viewing the stream; maybe they could check back later. The rest of this chapter is based on the previous premises and assumes you have reached the same conclusion.

If you are a CDN or do run a web media hosting business, Windows Media 9 Server is an excellent choice for streaming media to the public, even the very large public. While this book does not address the technical or business issues involved in large-scale media streaming, the examples provided in the rest of this chapter for single-server operation are scalable and applicable to enterprise-level production.


Standard On-Demand Streaming

The trial setup in Chapter 2 on page 35 shows how to use a wizard not only to configure your WM9 Server but also to create a sample publishing point. Publishing points are a key concept in WM9 Server and are abstractly analogous to web sites in Microsoft Internet Information Server. If you have some media you want to stream, you make it to accessible to users through a WM9 Server publishing point. If a publishing point doesn't exist on your WM9 Server to handle some content in a particular way, create and configure a new one—just like making a new web site to handle a new batch of HTML pages.

Assuming your WM9 Server is installed and running according to the Environment Setup specs, let's now manually create a production-quality on-demand publishing point, along with some commentary for perspective.

  1. Repeat steps 1 and 2 in the previous Environment Setup section on page 94.

  2. Click Publishing Points in the tree in the left column to see the screen in Figure 5.4. You can also select Start>Windows Media Services instead of going through Manage Your Server.

    Click To expand
    Figure 5.4: Top level publishing points list.

  3. Right-click Publishing Points and select Add Publishing Point (Advanced).

  4. In the Add Publishing Point pane (Figure 5.5), check the On-demand radio button.

    Click To expand
    Figure 5.5: Adding an on-demand publishing point.

  5. Name the publishing point On-Demand Example or whatever name you wish. Browse to the Location of content folder where your content is stored, such as C:\MEDIA\WM9\ STREAMING_VIDEO. For now, use the Single File model from the Content type examples list, although note the other types and descriptions for future reference. Click OK to return to the Publishing Points list, which should now include this new one.

  6. Click on the new point in the list to see its control panel (Figure 5.6), similar to the master control panel shown in Figure 5.2, but with individual properties.

Click To expand
Figure 5.6: Newly created publishing point.

Again, note the resemblance to creating an IIS web site. For optimal performance, media files pointed to in the Location of content folder should be created as streaming files by the WM9 Encoder, as opposed to, say, progressive download.

That's it for adding a standard on-demand publishing point (remember, this was the Advanced mode), though we're not quite done yet, because now it needs adjustment for real-life usage, just like setting up a new IIS web site. Most of the defaults are good, but there are several things to at least review, if not change—such as adding media files! Let's start with the top tab row.

The Monitor tab is essentially the home pane for a given publishing point. Nothing to change here except possibly Refresh Rate, which applies to the data on this pane. Three seconds is a good default.

The Source tab (see Figure 5.7) specifies the location of the media files you want to stream. The row of small icon buttons across the middle of the pane allows you to manipulate playlists associated with this publishing point.

Click To expand
Figure 5.7: Publishing point Source tab.

The Advertising tab (Figure 5.8) raises some issues not directly related to the mechanics of media streaming, but they are important nevertheless and perhaps crucial, depending on how you plan to pay for webcasting your content. Most of the interactive elements on this pane are links to more information, including how to find a hosting partner.

Click To expand
Figure 5.8: Publishing point Advertising tab.

You can create a wrapper advertisement (to bookend your media stream) by clicking the button at the bottom of the pane to launch the wizard-driven Wrapper Editor (see Figure 5.9).

Click To expand
Figure 5.9: Create Wrapper wizard.

The Announce tab (Figure 5.10) helps you decide how WM9 Players will connect to content at this publishing point: directly, with a client-side playlist (.asx file) or from a web page with an embedded WM9 Player. Click the Announce Wizard button for help with embedding the player if you haven't yet read Chapter 7.

Click To expand
Figure 5.10: Publishing point Announce tab.

The Properties tab (see Figure 5.11) has the most interactive elements, but you can go with all the defaults to get started, at least in my experience. Most of the elements you simply enable or disable, depending on how you want to control and track content delivery.

Click To expand
Figure 5.11: Publishing point Properties tab.
Note

Connection string: Connection strings for internet clients should have the server IP number or URL as opposed to a machine name (i.e., mms://63.85.31.168/unicast_exampl e/ myvideo.wmv).

Server Side Playlists

Along with the publishing point paradigm, the other concept Microsoft is pushing in WM9 Server is the server side playlist (a file with the extension .wsx). Yes, you can connect to a single streaming video file just by keying in its full path and protocol. But playlists facilitate advertisements, jukeboxes, and general consistency. In some ways, a playlist file in a publishing point folder is like an index.htm file in the root directory of an IIS web site.

If you put a WSX file in a publishing point folder and point to it in the Source pane (see Figure 5.7), WM9 Server will deliver that WSX file (including its specified media files) if you specify just the publishing point in the Player. This concept can take a while to sink in, but once it does, it will make good sense in terms of WM9 Server organization and administration.

Unlike in IIS, you don't need to keep all your media assets in the WMPUB folder, even though the Microsoft examples seem to imply this. If you have lots of streaming media files, you may wish to keep them on big dedicated hard drives, on which you can create publishing point folders and then reference them from the Windows Media Services Administrator. Like in IIS, it is usually worthwhile to poke around in the file system under WMPUB to see how things are organized and related by WM9 Server.


Standard Broadcast Streaming (Encoder Pull)

According to Microsoft documentation, broadcast streaming means live streaming, either unicast or multicast. Multicast streaming is only available with the Windows 2003 Enterprise and Datacenter Servers (not the Standard Server). I'll cover it briefly on page 105. Live implies a scenario wherein users are relatively passive and the live event starts and ends at specific times. Internet radio is a good example of live streaming per se, as is anything encoded live by the WM9 Encoder and presented to users via the WM9 Server.

That's exactly what we're going to do in this example. To keep things organized, the Encoder part will be covered after we set up the broadcast publishing point, but we'll reference the encoder URL where necessary in the setup process. This process used to be a lot more confusing in prior versions of Windows Media, but now it is completely cut and dried once you understand the new options.

Like in the previous example of on-demand streaming, I'll assume your WM9 Server is installed and running according to the Environment Setup specs. Let's now create a production-quality broadcast publishing point manually, again with commentary as appropriate. This demo follows the Encoder Pull model, in which you have to manually start the publishing point even though an encoder may already be out there cranking. The alternative, Encoder Push, is covered on page 110.

  1. Repeat steps 1 and 2 in the Environment Setup section on page 94. Click Publishing Points in the tree in the left column to see the screen in Figure 5.12.

    Click To expand
    Figure 5.12: Top level publishing points list.

    Again, you can also select Start>Windows Media Services instead of going through Manage Your Server.

  2. Right-click Publishing Points and select Add Publishing Point (Advanced).

  3. In the Add Publishing Point pane (Figure 5.13), check the Broadcast radio button.

    Click To expand
    Figure 5.13: Adding a broadcast publishing point.

  4. Name the publishing point Broadcast Example Pull (or whatever name you wish).

  5. In the Location of content folder, key in the address of your WM9 Encoder, such as HTTP://68.83.21.121:8080 (or whatever the IP number of your WM9 Encoder machine happens to be).

  6. Click the Encoder (pull) item in the Content type examples menu to see the model for this, but add the port number 8080 (or whatever port number is specified on the encoder machine) after the IP number. Click OK.

  7. Click on your new broadcast publishing point in the list to see its control panel (see Figure 5.14).

    Click To expand
    Figure 5.14: Newly created broadcast publishing point (Encoder Pull mode).

  8. Because the default state of an Encoder Pull broadcast publishing point is off, go ahead and turn it on by clicking the green arrow button at the lower left.

If your Encoder is running, you can test a client player right now by keying in the URL mms://12.34.56.78/Broadcast_Example_Pull (where the number string is the actual IP address of the WM9 Server). Remember to turn this publishing point off when you're done using it.

That's it for adding a standard broadcast publishing point in Encoder Pull mode. You can configure the settings in the rest of the panes for ongoing usage, but there's not as much to do as in the on-demand publishing point example.


Standard Broadcast Streaming (Encoder Push)

The introduction to the Encoder Pull example on page 101 applies to this section. Again, to keep things organized, the Encoder recipe is covered next, but I'll reference the Encoder URL if necessary. Also, I'll assume your WM9 Server is installed and running according to the Environment Setup specs. This demo follows the Encoder Push model, in which starting the Encoder automatically triggers the publishing point on the WM9 Server. The online help docs available in all of these apps are worth reading for even more context. Encoder Push's alternative, Encoder Pull, is covered on page 106.

  1. Repeat steps 1 and 2 in the previous Environment Setup section on page 94, or select Start>Windows Media Services instead of going through Manage Your Server. Click Publishing Points in the tree in the left column to see the screen in Figure 5.15.

    Click To expand
    Figure 5.15: Top level publishing points list.

  2. Right-click Publishing Points and select Add Publishing Point (Advanced).

  3. In the Add Publishing Point pane (see Figure 5.16), check the Broadcast radio button.

    Click To expand
    Figure 5.16: Adding a broadcast publishing point.

  4. Name the publishing point Broadcast Example Push (or whatever name you wish).

  5. In the Location of content folder, key in Push:*. Click the Encoder (push) item in the Content type examples menu to see the model for this. Click OK.

  6. Click the name of the WM9 Server (in the tree, above Publishing Points), and then click the Properties tab in the master Properties pane.

  7. In the Category column, click Control protocol; then enable WMS HTTP Server Control Protocol, disabled by default (see Figure 5.17).

    Click To expand
    Figure 5.17: Enabling WMS HTTP server control protocol.

    Encoder Push won't work unless you do this. You'll probably need to stop any web sites you have running on yourWM9 Server machine to prevent conflicts on your HTTP port (normally Port 80).

  8. Click your new broadcast publishing point (in the list) to see its control panel (Figure 5.18).

    Click To expand
    Figure 5.18: Newly created broadcast publishing point (Encoder Push Mode).

The default state of an Encoder Push broadcast publishing point is off, but remember that Encoder Push mode turns it on automatically. If your Encoder is running, you can test a client player right now by keying in the URL mms://12.34.56.78/ Broadcast_Example_Pull (where the number string is the actual IP address of the WM9 Server). When the WM9 Encoder involved is turned off, this publishing point will be turned off automatically.

That's it for adding a standard broadcast publishing point in Encoder Push mode. You can configure the settings in the rest of the panes for ongoing usage, but (again) there's not as much to do as in the on-demand publishing point example.


Multicast Streaming

Now we come to the multicast section, which pertains just to broadcasting (as opposed to on-demand delivery) but is applicable to both Encoder modes (Push and Pull). As noted, Microsoft makes multicasting available only for the Enterprise and Data Center versions of Windows Server 2003, not the standard version.

The short story on multicasting (as opposed to unicasting) is that it lets multiple players receive and render a single media stream broadcast by the server. In the past, multicasting was hard to implement in general because all routers between players and servers need to be multicast-enabled. Many LANs were already built this way, but not so the public Internet. In 1997 I published a book entitled Web Developer's Guide to Multicasting, which no one bought—now I understand why.

Today, things are better overall, especially on the LAN side, which is why WM9 Server has made multicasting so much easier to administer. Basically all you do is turn it on in the Properties pane of a given publishing point (see Figure 5.19). You will need to create an announcement for each new multicast you want to stream, but wizards are available on both the WM9 Server and WM9 Encoder to handle this quickly and easily.

Click To expand
Figure 5.19: Newly created broadcast publishing point (Encoder Pull mode).

An announcement is a Windows Media metafile (.asx) that points players to a multicast information file (.nsc). The multicast information file contains information that enables players to access and decode the multicast stream, including the IP address, port, and stream format data. As usual, the online help docs in both the Encoder and Server can give you the full story on how this works if you want to start multicasting right away. While multicasting is an excellent way to conserve network bandwidth, it does require the user to tune into the media stream at a specific time if he or she wants to view it from the beginning. And, again, it only works on the public Internet if the IP route between your player and the media server is fully multicast-enabled (which is certainly not a given, even today).


Configuring the WM9 Encoder (Pull Mode)

This example shows how to set up the WM9 Encoder to provide a live stream to a WM9 Server that will broadcast the media to any WM9 Player that knows the URL of the media publishing point. Two modes of operation are possible: Pull and Push, as described previously. This example demonstrates the Pull model, in which the WM9 Encoder encodes the media and makes it available on the network. The WM9 Server is responsible for connecting to the media stream and distributing it to interested Players through a broadcast publishing point. We'll look at the Encoder Push setup in a moment.

I tested this demo with the WM9 Encoder installed on my HP reference machine with good results. My video source was a Logitech desktop video camera (USB) with a built-in microphone, which XP recognized and installed automatically. Once the Encoder was successfully sending the video stream to the Server, I was able to tune into the broadcast with the WM9 Player running on a third machine. On my LAN, the latency was about 20 seconds from Encoder to Player (via the Server) though, in real-life Internet scenarios, latency can be from 30 to 90 seconds. All my local machines used static, fully routable IP numbers as opposed to machine names or private IP numbers behind a firewall.

  1. Assuming you have installed the WM9 Encoder, launch it from the Start menu; then double-click the Broadcast a live event wizard in the New Session pane (see Figure 5.20).

    Click To expand
    Figure 5.20: Launch the Encoder to broadcast a live event

  2. In Device Options, select the appropriate video and audio equipment (in this case, a Logitech QuickCam), as shown in Figure 5.21. Click Next.

    Click To expand
    Figure 5.21: Selecting device options.

  3. In Broadcast Method, check the radio button for Pull from the encoder (see Figure 5.22). Click Next.

    Click To expand
    Figure 5.22: Choosing the broadcast method.

  4. In Broadcast Connection, select the HTTP port for the WM9 Server to pull from—in this case, 8080, the default (see Figure 5.23). Click Next.

    Click To expand
    Figure 5.23: Specifying the HTTP port.

    Can a WM9 Player access this stream directly—without going through a server? Sure, but don't expect good performance with multiple simultaneous players, especially over the Internet.

  5. In Encoding Options (see Figure 5.24), go with the defaults for now (Multiple bit rates video and audio (CBR), 282 kbs, 29.97 fps, 320×240), but try experimenting later to see how different settings affect performance in the field. Click Next.

    Click To expand
    Figure 5.24: Selecting encoding options.

  6. In Archive File you can create a copy of the broadcast you'll soon be encoding, but leave it disabled for now (see Figure 5.25). Clearly there are times when this option will be very valuable. Click Next.

    Click To expand
    Figure 5.25: Creating a broadcast archive.

  7. In Include Video Files, decide whether you want to include other content in this broadcast session (see Figure 5.26), such as welcome messages, intermissions, etc. I'll leave this disabled for now also. Click Next.

    Click To expand
    Figure 5.26: Including other media files.

  8. In Display Information (see Figure 5.27) supply the appropriate title, author, copyright, and other data. Click Next.

    Click To expand
    Figure 5.27: Supplying copyright data.

  9. In Settings Review, make sure the data supplied in the prior panes is accurate (see Figure 5.28). Click Finish.

    Click To expand
    Figure 5.28: Review your settings.

  10. Just before you get to the Encoder Control panel, you will probably see a message saying there is no restriction on which clients can connect to this broadcast. Click OK for now, but you may want to limit access in actual production later.

    You should now be in the main Encoder control panel (see Figure 5.29). If your video source (in this case a desktop video camera) is turned on, you should see a live image in the Input window.

    Click To expand
    Figure 5.29: Ready to start encoding.

  11. Click the Start Encoding button.

    Live video images should now be present in the Encoder's Input and Output windows (see Figure 5.30), along with live data updating in the Monitor panel.

    Click To expand
    Figure 5.30: Live encoding in progress.

  12. Go to your WM9 Server and open the publishing point for broadcast streaming, Pull mode, described earlier in this chapter on page 101. Start the publishing point; then try to connect to it with a WM9 Player (see Figure 5.31).

    Click To expand
    Figure 5.31: The WM9 Player experience.

If your WM9 Encoder and Server are doing their jobs, you should see whatever your camera is seeing in your player (with some latency, of course).


Configuring the WM9 Encoder (Push Mode)

This example shows how to set up the WM9 Encoder in Push mode, in which the Encoder encodes the media and triggers the Server to automatically make the media available to WM9 Players (or other WM9 Servers) on the network through a broadcast publishing point. The Encoder Pull setup was covered in the preceding example.

I successfully tested this demo as well on my HP reference machine. Again, my video source was a Logitech desktop video camera (USB) with a built-in microphone. Once the Encoder was successfully sending the video stream to the Server, I was able to tune into the broadcast with the WM9 Player running on a third machine. On my LAN, the latency remained about 20 seconds from Encoder to Player (via the Server). All machines used static, fully routable IP numbers as opposed to machine names or private IP numbers behind a firewall. Here's the recipe for this example:

  1. Assuming you have installed the WM9 Encoder, launch it from the Start menu, and then double-click the Broadcast a live event wizard in the New Session pane (see Figure 5.20).

  2. In Device Options, select the appropriate Video and Audio equipment (in this case, a Logitech QuickCam), as shown in Figure 5.21. Click Next.

  3. In Broadcast Method, check the radio button for Push to a Windows Media server (see Figure 5.32). Click Next.

    Click To expand
    Figure 5.32: Choosing the broadcast method.

  4. In Server and Publishing Point, key in the URL or IP number of the WM9 Server and the name of the publishing point for Encoder Push broadcasting that you set up earlier (see Figure 5.33). Click Next.

    Click To expand
    Figure 5.33: Specifying the server name and publishing point.

  5. In Encoding Options (Figure 5.24), go with the defaults for now (Multiple bit rates video and audio (CBR), 282 kbs, 29.97 fps, 320×240), but try experimenting later to see how different settings affect performance in the field. Click Next.

  6. In Archive File you can create a copy of the broadcast you'll soon be encoding, but leave it disabled for now (see Figure 5.25). Clearly there are times when this option will be very valuable. Click Next.

  7. In Include Video Files, decide whether you want to include other content in this broadcast session (see Figure 5.26), such as welcome messages, intermissions, etc. Leave this disabled for now also. Click Next.

  8. In Display Information (see Figure 5.27) supply the appropriate title, author, copyright, and other data. Click Next.

  9. In Settings Review, make sure the data supplied in the prior panes is accurate (see Figure 5.28). Click Finish.

  10. You'll probably be asked for logon credentials when the Encoder first contacts your WM9 server (see Figure 5.34). Supply them and click OK.

    Click To expand
    Figure 5.34: Logging on to the WM9 server.

    You should now be in the main Encoder control panel (see Figure 5.29). If your video source (in this case, a desktop video camera) is turned on, you should see a live image in the Input window.

  11. Click the Start Encoding button.

    Live video images should now be present in the Encoder's Input and Output windows (see Figure 5.30), along with live data updating in the Monitor panel.

  12. Go to your WM9 Server and open the publishing point for broadcast streaming, Push mode, described page 103.

    If your Encoder is running, you should find the publishing point already started.

  13. Try to connect to it with a WM9 Player (see Figure 5.31).

    If your WM9 Encoder and Server are doing their jobs, you should see whatever your camera is seeing in your player (with some latency, of course).


Chapter 6: DRM, WM9 Style

Overview

Windows Media 9 Digital Rights Management (WM9 DRM) is based on durable, easy-to-understand principles. Why wouldn't it be? Microsoft needs customers to comprehend and trust how it works, and they have spent a lot of time and money to make this happen. Companies like Movielink (http://www.movielink.com) are betting big that Windows Media Rights Manager protects the Hollywood features they offer to customers online, and I believe that other pay-per-view and download video ventures will soon follow. Chapter 17 of this book is a transcript of an interview with a senior technician at Movielink who explains, among other things, why they use it and what it means to their business.

The mystery and doubt surrounding this technology stems (in my opinion) from the fact that, while the principles are comprehensible, they are nevertheless abstract. You don't actually see anyone's rights being managed unless the system fails and somebody gets away with a free copy of something. Also, the work involved in setting up a WM9 DRM system is substantial, even when you understand the basic principles. Finally, there is the pervasive belief that no content protection solution is safe from dedicated hackers.

If you are taking the time to read this chapter, I'll assume you accept the risks (real or imagined) of DRM in general and are ready to get into the mechanics behind the abstractions. Bear in mind that there is a substantial server side to WM9 DRM, and that you'll need to download and install the Windows Media 9 Series Rights Manager SDK (see Figure 6.1).

Click To expand
Figure 6.1: Procuring the WM9 DRM SDK at the Microsoft web site.

To qualify for using this SDK (even to test drive it), you are required to complete an online form at the Microsoft site and wait for their approval prior to before receiving a download link. Once you are approved and have installed the software on the various servers involved, there are some lengthy (yet clear) instructions for getting up and running, even for evaluation purposes. All this is not as onerous as it sounds, but it made me decide not to document the entire process—complete with production examples—in a single chapter in this book.

What I'll do instead is highlight the parts of the system in which I believe WM9 developers and content wranglers will be most interested. I'll assume those people will then register for the SDK at their own discretion. A couple of years ago I covered the original version of this technology (for Windows Media 7.1) in DV Magazine. All you needed then for a trial set up was IIS running on NT4 Server, along with Microsoft SQL Server. Clearly the Windows Media DRM infrastructure has grown since then, yet the basic principles remain the same.

Microsoft has given me permission to reproduce the information and instructions published on some of their MSDN web pages, which is presented in quotes, clearly attributed. I have followed the outline structure of their online presentation and added commentary where I thought it would be useful.


Design Summary of the WM9 Rights Manager

But first, my own subjective interpretation of the design. The following bullet points break down the consumer experience versus the developer/content-owner perspective. No stick diagrams or flow charts necessary. Greater detail is provided shortly.

The User Experience

Here's what I think is the deal for the average, law-abiding consumer:

  • If you acquire a protected media file, Windows will look for a valid license on your system when you attempt to play that media file on your local system. If a valid license is found, the Windows Media Player will play the media file normally.

  • If no valid license for that media file is found on your local system, Windows will try to download a new one from a License Server based on data contained in the protected media file.

  • If no valid license is found locally or online, the Windows Media Player won't play the media file.

  • If the media file is transferred to a portable device, the license is transferred with it.

The Developer/Content-Owner Perspective

If you are a software developer or content owner, I believe Microsoft hopes you see things this way:

  • Media meant for protected distribution to the public is first packaged with MS DRM (see Figure 6.2).

    Click To expand
    Figure 6.2: Packaging and delivering WM9 Media files (from the Microsoft site).

  • When the packaged media is posted online, either on a web server or streaming media server, a license for that media, generated when the media was packaged, is posted on a license server.

  • When a user downloads your protected media, he or she will have the User Experience user experience described previously.

How a License Works

According to Microsoft, a license created for a specific media package contains a number of significant data points, including:

  • The number of times the media file can be played

  • To what types of devices the media file transferred (for example, SDMI-compliant devices)

  • The date the user can first play the media file

  • The license expiration date

  • Whether the media file may be burned to CD or DVD-ROM

  • Whether the user may back up or restore the license

  • The client security level required to play the media

In their documentation, Microsoft states that keys are generated from a license key seed and a key ID. Seeds are values known only to content owners and their license clearing houses (who run the license servers noted previously). Key IDs are created by content owners for each Windows Media file. Such key values are included in packaged media files. More details, as well as code samples, are provided later in the chapter.

Microsoft also says:

…licenses can be delivered in different ways and at different times, depending on the business model. The content owner might want licenses predelivered, or they might want the license delivered after a consumer has downloaded and attempted to play a packaged file for the first time. Licenses can be delivered with or without the consumer being aware of the process using silent or non-silent license delivery.

Once again, please check the Microsoft site for all the latest updates to the design specs summarized previously.


About the Windows Media Rights Manager SDK

The following description of the WM9 Rights Manager, including the differences from Versions 7 and 7.1, is taken from the Microsoft web site.

Microsoft® Windows Media® Rights Manager 9 Series Software Development Kit (SDK) is designed for application and Web developers who understand Active Server Pages (ASP), and provides tools that can be used to package Windows Media files and issue licenses for them. Windows Media Rights Manager SDK provides COM objects to perform these tasks rather than a user interface; these objects provide great flexibility in implementing Windows Media Rights Manager according to your business model.

Note the statement that the WM9 Rights Manager SDK "provides tools that can be used to package Windows Media files and issue licenses for them." This implies there is no primary application—like the WM9 Encoder—to package media files and create licenses.

As it turns out, this is exactly the case. In fact, such chores are handled by the WM9 Licensing Service, which you install as part of the WM9 Rights Manager SDK. The methods and properties documented in the SDK are part of the Licensing Service codebase and available to applications you may develop in C++, Visual Basic, or VBScript, for example, to package your media files. I'll come back to this idea throughout this chapter.

Setting Up the SDK

Microsoft offers the following documentation for setting up the Rights Manager SDK. Make sure to read the Quick Start instructions also.

Application files for Windows Media Rights Manager 9 Series SDK are installed by default in C:\WMSDK\WMRM.

You must obtain a certificate from Microsoft to run Windows Media License Service and issue licenses. If you already have a certificate for Microsoft Windows Media Rights Manager version 1, you can use that certificate instead. See the following procedures to set up your certificate:

  • Using a New Certificate to Run Windows Media License Service

  • Using the Version 1 Certificate to Run Windows Media License Service

Then, you must install the latest Windows Media License Service information (such as the revocation list) from the Microsoft web site http://licenseserver.windowsmedia.com/. The revocation list contains all the application certificates of those players known to be damaged or corrupted, and is included in all the licenses that you issue.

If you are new to Windows Media Rights Manager, you can use the Quick Start to quickly set up and try out the Windows Media Rights Manager SDK.


Creating Packaged Windows Media Files

The following description of how WM9 files may be packaged by developers is also taken from the Microsoft web site:

Packaging involves generating a content header, signing the content header, and encrypting the Windows Media file with a key. However, before packaging Windows Media files, you must encode them into Windows Media Format with .asf, .wma, or .wmv file name extensions by using one of the following codecs:

  • Microsoft Windows Media Video codec version 1.0 or later

  • Microsoft Windows Media Audio codec version 1.0 or later

  • Microsoft Windows Media Screen codec version 7.0 or later

  • ISO MPEG-4 codec version 1.0

For a list of the most current authorized codecs, see the Authorized Codecs for Windows Media Rights Manager page at the Microsoft web site. Note: Consumers cannot play packaged Windows Media files that are encoded with an ACM codec.

To encode your files, you can use a tool such as Windows Media Encoder. As you encode your files, you should add any information about each file that you want to appear in the player, such as the name of the artist, title, copyright, or images. Then, you can package your files. The following list shows the information you must specify or generate for packaging.

  • License key seed - A value that is used to generate the key for a Windows Media file. You generate a license key seed by using the GenerateSeed method of the WMRMKeys object. You can generate a new license key seed as often as you want to, so long as you know which value was used to package each file.

  • Key ID - A value that is generated by the WMRMKeys object. This value is used with the license key seed to generate the key.

  • Key - A value that is generated by the WMRMKeys object and is used to encrypt the Windows Media file.

  • License acquisition URL - A URL that points to the first page in your license acquisition process.

  • Input file name - The name of the Windows Media file to be packaged. The file must be in Windows Media Format, but the extension is not enforced.

  • Output path and file name - The path and name of the final packaged file, which must be different than the input file. The result is a file in packaged Windows Media Format, but the extension you specify is not enforced.

  • Content ID - A value that uniquely identifies each Windows Media file you package. You can generate this value by using the WMRMKeys object. Optional, but recommended.

  • Attributes - One or more name-value pairs you specify so that you can include more information in the content header of the Windows Media file. Recommended.

  • Required individualization version - The minimum individualization (security upgrade) version required for playing your Windows Media files. Optional.

  • Version 1 license acquisition - URL A URL that points to the first page in the license acquisition process for players that support only version 1. The default value is http://www.microsoft.com/isapi/redir.dll?prd=wmdrm&pver=2&os=win&sbp=newclient, which points to a web page where consumers can get a player that supports Windows Media Rights Manager SDK version 7 or later.

  • Version 1 key ID - A value that you include if you issue version 1 licenses; this value should be the same as that for the version 7.1 key ID. If you use the default version 1 license acquisition URL (you don't specify one), this value is optional.

[Figure 6.3] shows the flow of information that results in a packaged Windows Media file.

Click To expand
Figure 6.3: Information flow in packaging a WM9 file (from the Microsoft site).

A Windows Media file is packaged by using the following procedure:

  1. Use the WMRMKeys object to generate a key ID and content ID.

  2. Use the WMRMKeys object with the license key seed and

  3. Use the WMRMHeader object with the key, key ID, content ID, and license acquisition URL to create a content header. It is recommended that you add attributes and optionally specify a required individualization version number. Then, sign the content header. Note: A content header created with Windows Media Rights Manager 9 Series is backward compatible with 7.1 readers. The additional signed material is ignored by 7.1 players, but is otherwise the same.

  4. Use the WMRMProtect object with the input file, key, and content header to produce a packaged Windows Media file. Then add a version 1 key ID and license acquisition URL.

Generating Key IDs, Keys, and Content IDs

The first step in packaging a Windows Media file is to generate the following values for it:

  • A key ID, which is a string used to generate the key. The key ID is stored in content header of the Windows Media file, and is used later by Windows Media License Service to generate a key and license for the Windows Media file. The key ID can also be specified rather than generated. For example, you can use the key ID that was generated for a different Windows Media file if you want both Windows Media files to be locked with the same key.

    Note

    Compatibility: A license header created with Windows Media Rights Manager 9 Series is backward compatible with 7.1 readers. The additional signed material is ignored by 7.1 players, but is otherwise the same.

  • A content ID, which is a value that uniquely identifies the Windows Media file. You should use the WMRMKeys object to generate a content ID. While a content ID is not required, it is strongly recommended that you specify one.

  • A key, which is used to lock the Windows Media file.

Use the WMRMKeys object to generate the key ID and optionally the content ID. Then, with the key ID and license key seed, you can use the WMRMKeys object to generate the key for the Windows Media file, as shown in the following Visual Basic Scripting Edition (VBScript) code example.

Listing 6.1: VBScript Example for Key Generation
Start example
KeysObj.seed = your_license_key_seed
key_id = KeysObj.GenerateKeyID()
content_id = KeysObj.GenerateKeyID()
KeysObj.KeyID = key_id
key = KeysObj.GenerateKey()
End example

Creating the Content Header

The second step in packaging a Windows Media file is to generate the content header. The content header of a file precedes the main content and contains information about the file. In a packaged Windows Media file, the content header is a string that contains the following information:

  • Key ID, which is a string that is used to generate a key.

  • Content ID (recommended), which is a value that uniquely identifies the Windows Media file.

  • License acquisition URL, which points to the first page in the license acquisition process. This license acquisition URL is used for players that support Windows Media Rights Manager 7 SDK or later.

  • Individualization version number (optional), which specifies the minimum version of individualization (security upgrade) that a consumer's player must have to play your Windows Media files.

  • Attributes (optional), which are name-value pairs defined by the content packager. These attributes enable a content packager to add information to a Windows Media file. For a list of recommended attributes, see Adding Attributes to the Content Header.

Players that support Windows Media Rights Manager 7 SDK or later use the content header information to send a challenge when requesting a license; however, players that support only version 1 cannot interpret this content header. To make sure that your Windows Media files work with players that support either version 1 or version 7 or later, you can add information to the Windows Media file outside of the content header when you protect the file so that you can issue version 1 licenses (if you do not specify a version 1 license acquisition URL, a default URL is used that points to a page where consumers can download a player that supports version 7 or later). This information is added during the protection stage.

Note

A content header created with Windows Media Rights Manager 9 Series is backward compatible with 7.1 readers. The additional signed material is ignored by 7.1 players, but is otherwise the same.

Then, you must sign the content header to increase security and prevent tampering with the packaged Windows Media file. The content header is signed with your private key; for the license issuer to verify the signature, you must share your public key with the license issuer. Before issuing a license, the license issuer can verify the validity of the signature of the content header by using the content packager's public key. If these signatures do not match, the license is not issued. For example, if someone tried to change the content ID in a Windows Media file, the content header's signature would be damaged, indicating that the Windows Media file was tampered with. The content packager can use the GenerateSigningKeys method of the WMRMKeys object to generate the private and public key pair. The WMRMHeader object is used to create and sign the content header. Once the content header is signed, take the string from the Header property in the WMRMHeader object and set it in the Header property in the WMRMProtect object.

Note

You should only use the Windows Media Rights Manager objects to create and modify content headers.
Listing 6.2: VBScript Example for Creating a WM9 Content Header
Start example
HeaderObj.KeyID = key_id
HeaderObj.LicenseAcqURL = laurl
HeaderObj.ContentID = content_id
HeaderObj.IndividualizedVersion = indiv_version

’The following attributes are recommended.
HeaderObj.Attribute("Copyright") = "copyright statement"
HeaderObj.Attribute("Content_Type") = "audio or video"
HeaderObj.Attribute("Author") = "artist name"
HeaderObj.Attribute("Artist_URL") = "http://artist_web_site"
HeaderObj.Attribute("Title") = "title"
HeaderObj.Attribute("License_Dist") = "name of license issuer"
HeaderObj.Attribute("License_Dist_URL") = "http://license_issuer_web_site"
HeaderObj.Attribute("Content_Dist") = "content distributor"
HeaderObj.Attribute("Rating") = "rating"
HeaderObj.Attribute("Description") = "description"
call HeaderObj.SetCheckSum(key)
call HeaderObj.Sign(privatekey)
header = HeaderObj.Header
ProtectObj.Header = header
End example

Protecting the Windows Media File

The last step in packaging a Windows Media file is to protect it, which means encrypting the Windows Media file with a key.

At this point, you can add information to support players that support only Windows Media Rights Manager 1. Such players cannot read the content header, so they cannot trigger license acquisition and send the appropriate license request. Instead, you can add the following items to the Windows Media file outside of the content header:

Version 1 license acquisition URL, which points to the first page in the license acquisition process for issuing version 1 licenses. Or, you can specify a player upgrade URL. If you want to actively encourage your consumers to upgrade their players (for instance, if your Windows Media files require an individualized player), you can specify a version 1 license acquisition URL that points to a location where consumers can upgrade their players. By default, if you do not specify a version 1 license acquisition URL, a URL is used that points to a web page where consumers can download a player that supports version 7 or later.

Version 1 key ID, which should be the same key ID that is put into the content header for version 7 or later.

Listing 6.3: VBScript Example for Protecting a WM9 File
Start example
ProtectObj.Header = header
ProtectObj.InputFile = inputfile
ProtectObj.Key = key
ProtectObj.V1LicenseAcqURL = v1_laurl
ProtectObj.V1KeyID = key_id
call ProtectObj.ProtectFile(outputfile)
End example

Sharing Information with a License Issuer

If content packaging and license issuing are not performed by the same organization or if these functions are not performed on the same computer, the following information must be shared by the organizations or computers:

  • The license key seed. Without this value, the license issuer cannot generate the correct key (and license) for a Windows Media file. It is important for this value to be shared in a secure manner.

  • The content packager's public key. The license issuer uses this value to verify the signature of the content header and to bind the packager's public key to each license issued for the packaged files.

  • The license issuer's public key. If content packagers want to revoke their own packaged files, they need the license issuer's public key to generate a content revocation string.

Revoking Packaged Files

Content owners have the ability to revoke licenses for their own packaged Windows Media files (thereby revoking the content), provided the WMRM-LicGen.BindToPubKey method was used when generating these licenses.

Note

The BindToPubKey property is now required when generating licenses, but was optional for Windows Media Rights Manager 7 SDK.

Content revocation can be initiated only by the content owner, who generates a string based on their public and private signing keys. The license issuer includes the string in all licenses from that point forward.

You can include a content revocation string in any license. Whenever a consumer's player opens a license containing the string, licenses for all packaged files by the content owner in question are revoked and consumers can no longer play the files. If a consumer tries to play one of the revoked packaged files, the license acquisition URL opens because the license is rendered invalid. The content owner and license issuer are then responsible for providing information for consumers about the content revocation, (for example, help them get new versions of the revoked content). Unlike application revocation, which is managed by Microsoft, content revocation is a process that is completely managed by a content owner and anyone with whom they have a business relationship.

To revoke content, the content owner uses the WMRMTools.GenerateContentRevocation method to generate the content revocation string to include in licenses. This XML string is based on the content owner's signing keys, so licenses for packaged files signed with this key pair will be revoked. Then, the content owner sends this string to the license issuer (for example, in an e-mail message or on a floppy disk). The license issuer uses the WMRMLicGen.AddContentRevocation method to add this string to licenses. Later, a new pair of public and private signing keys should be generated by using the WMRMKeys.GenerateSigningKeys method and the content owner should repackage the content.


Generating and Issuing Licenses

Figure 6.4 (courtesy of Microsoft) shows the basic process of how a license is issued.

Click To expand
Figure 6.4: How a license is issued.

The order of events can be summarized as follows:

  1. The player sends a request for a license to Windows Media License Service.

  2. The challenge is received and put into the WMRMChallenge object, and the client information and content header information are processed.

  3. The WMRMRights object generates the rights to put into the license.

The content header information is put into the WMRMHeader object to retrieve a key ID.

The key ID and license key seed are put into the WMRMKeys object to generate the key.

The individualization version number and the platform information from the client are determined by using WMRMLicGen.CheckClientCapability and WMRMLic-Gen.IndividualizedVersion. If the individualized version meets the requirement specified in the content header, the process continues. Otherwise, the process is halted, and a license is not issued.

The client information, the rights, the key ID, and the key are put into the WMRMLicGen object to generate a license. The license is put into the WMRMResponse object to generate a response that is sent back to the requesting client and put into the license store on the consumer's computer. For non-silent license delivery, the license is sent to the player, and a web page appears. For silent license delivery, the license is sent back to the digital rights management client.

Listing 6.4: VBScript Example for Issuing a License for a WM9 File
Start example
<%
Response.Buffer = True
Response.Expires = 0

' Declare variables and objects.
Dim seed, contentowner_publickey, silent
Dim strLicenseRequested, varHeader
Dim kid, lResult, varKey, v71rights
Dim varLicense, LicenseResponse
Dim ChallengeObj, HeaderObj, KeysObj
Dim RightsObj, LicGenObj, ResponseObj

do

' Replace XXX with your own values. In real practice, you would
' retrieve these values from a database.
seed = "XXX" ' License key seed used by the packaging server
contentowner_publickey = "XXX" ' Public signing key for the
                               ' packaging server

' Create objects.
Set ChallengeObj = Server.CreateObject("WMRMobjs.WMRMChallenge")
Set HeaderObj = Server.CreateObject("WMRMobjs.WMRMHeader")
Set KeysObj = Server.CreateObject("WMRMobjs.WMRMKeys")
Set RightsObj = Server.CreateObject("WMRMobjs.WMRMRights")
Set LicGenObj = Server.CreateObject("WMRMobjs.WMRMLicGen")
Set ResponseObj = Server.CreateObject("WMRMobjs.WMRMResponse")

' Find out whether the request is for silent or non-silent delivery
silent = true
if (request.Form("nonsilent") <> "") then
  silent = false
end if

' Put the license request (challenge) into the Challenge object, and then
' extract the content header and client information from it.
strLicenseRequested = Request.Form("challenge")
ChallengeObj.Challenge = strLicenseRequested
varHeader = ChallengeObj.Header

' Put the content header into the Header object. Using the public key,
' verify that the content header has not been tampered with. The header
' is valid if the result equals 0.
HeaderObj.Header = varHeader
lResult = HeaderObj.Verify(contentowner_publickey)
if (lResult = 0) then
  ' Process for a corrupted or modified header.
end if

' Put the required individualization version from the content header
' into the WMRMLicGen object.
indiversion = HeaderObj.IndividualizedVersion
LicGenObj.IndividualizedVersion = indiversion

' Extract the key ID from the content header. Put the key ID and
' license key seed into the Keys object, and then generate the key.
kid = HeaderObj.KeyID
KeysObj.KeyID = kid
KeysObj.Seed = seed
varKey = KeysObj.GenerateKey

' Set the rights.
RightsObj.MinimumAppSecurity = 1000
RightsObj.AllowPlayOnPC = true
RightsObj.BeginDate = "#20010101Z #"
RightsObj.ExpirationDate = "#20011231Z #"
RightsObj.AllowBackupRestore = false
RightsObj.AllowBurnToCD = false
RightsObj.DeleteOnClockRollback = false
RightsObj.DisableOnClockRollback = true
RightsObj.AllowTransferToSDMI = false
RightsObj.AllowTransferToNonSDMI = false
v71rights = RightsObj.GetAllRights

' Put the license information into the License Generator object.
' Including the following attributes is recommended.
LicGenObj.KeyID = kid
LicGenObj.SetKey "", varKey
LicGenObj.Rights = v71rights
LicGenObj.Priority = 10
LicGenObj.Attribute("Copyright") = "copyright statement"
LicGenObj.Attribute("Content_Type") = "audio or video"
LicGenObj.Attribute("Author") = "artist name"
LicGenObj.Attribute("Artist_URL") = "http://artist_web_site"
LicGenObj.Attribute("Title") = "title"
LicGenObj.Attribute("License_Dist") = "license issuer"
LicGenObj.Attribute("License_Dist_URL") = "http://license_issuer_web_site"
LicGenObj.Attribute("Content_Dist") = "content distributor"
LicGenObj.Attribute("Rating") = "rating"
LicGenObj.Attribute("Description") = "description"

' Bind the license to the public key, and then generate the license.
LicGenObj.BindToPubKey = contentowner_publickey
varLicense = LicGenObj.GetLicenseToDeliver()

' Use the Response object to deliver the license. If the client does
' not allow silent license delivery, display a page (nonsilent.asp)
' saying that a license has been delivered.
call ResponseObj.AddLicense("2.0.0.0", varLicense)
if (silent = true) then
  LicenseResponse = ResponseObj.GetLicenseResponse()
  Response.Write LicenseResponse
else
' ResponseObj.ReplaceQuotesWith = """""" ' For VBScript
  ResponseObj.ReplaceQuotesWith = "\""" ' For JavaScript
  LicenseResponse = ResponseObj.GetLicenseResponse()
%>
<!– #include file="Nonsilent.asp" –>
<%
end if
%>
End example


Streaming Secure Files

You can provide music and video to your consumers in different ways. In addition to letting consumers download digital media files, you can also stream them. Streaming content is a good choice when you want to make it available but you do not want to give copies of it to consumers. Streaming also forces consumers back to your web site to play your digital media files, which is advantageous when you want to make sure that consumers see branding, advertisements, and other information on your site.

However, streaming digital media files rather than providing them for download does not necessarily ensure that the files are secure. Several programs are currently available that allow a consumer to capture an audio or video stream and save it to a file on their computer. Consumers can then play the resulting digital media file at any time and share it with other people. To ensure that your audio and video content is secure and protected, package your digital media files first, and then stream them.

Streaming packaged files provides several solutions to ensure security:

  • If consumers save streamed files to their computer, the file remains protected; that is, consumers must have a license to play the saved stream.

  • Because a license is required to play a packaged file, even if consumers share a saved stream with others, those people cannot play the file without first obtaining a license.

You can provide a URL in the packaged file so that when consumers try to play a local copy of it and do not have a license, they are redirected to a web site from which they can obtain a license. For example, you might display a page with information about the particular song or video, or redirect consumers to a location from which the file can be streamed again.

After packaging your files, you can set up your web site to stream them and to deliver licenses for them. You must consider how you want to issue licenses, what rights you want to allow, and also which URL to display if a consumer saves a streamed file and then tries to play it.

This SDK provides many methods for issuing licenses, but perhaps the best way for a streamed file is to predeliver a license; that is, to issue the license after a consumer selects the digital media file they want to play, but before it is streamed. For example, a consumer selects a song to play, you issue a license, and then stream the song. A predelivered license provides the best experience for consumers because they are not aware of the licensing process; users simply select a file that is then streamed to their players.

You must also consider the rights you want to allow for your packaged digital media files. For streaming files, you should allow the right to play the file. Because consumers can save the stream to their computer, you might limit the rights you allow. For example, you might allow only one playback, which is the minimum right consumers need to play a stream. If consumers save the stream and try to play the resulting file on their computer, the license does not allow further playback.

After you have established a delivery method and set the rights for a file, you should specify a license acquisition URL to display when consumers try to play a packaged file for which there is no valid license (or when they try to play a saved stream with a license that does not allow further playback). This URL typically displays a web site where the consumer can acquire a license. However, for streamed files, you might specify a URL that points to a registration page on your web site. Or you might display a page with information that tells consumers that they cannot play a local copy of your digital media stream and must instead play it from your web site. The following packaging and licensing configuration is one possibility for streaming.

Packaging

Encrypt all of your digital media files, regardless of whether you stream them or provide them for download.

Set the license acquisition URL in each content header to a page that is worded specifically for undesired stream captures. When the consumer plays a captured stream and does not have a valid license, this URL is displayed. Inform the consumer that they must return to your web site to play this item and cannot play a saved copy of it. The saved stream is not playable and essentially rendered useless.

Licensing

If the consumer's computer supports it, require Secure Audio Path in the license (set the corresponding property).

If the consumer is using a player that supports the Windows Media Rights Manager SDK, before streaming the digital media file, predeliver a license that allows one play."


Common Business Scenarios

The following scenarios are examples of different solutions for distributing digital files in Windows Media Format by using Windows Media Rights Manager SDK.

  • Distributed retail. A content packager encodes and packages digital files in Windows Media Format, and then distributes the files to vendors. Consumers purchase the packaged Windows Media files and acquire licenses to play them from a license clearing house. The content owner tracks which vendors were responsible for each purchase.

  • Streaming. A content distributor sets up a web site to stream content to which consumers pay a fee to log on. Consumers can select digital tracks to play. A license is silently issued and the Windows Media file is streamed to the consumer.

  • Multiple licenses. A content distributor implements a web site that enables consumers to choose the license they want for a particular Windows Media file. For example, a consumer can pay a small fee to play a Windows Media file for one week, or pay a larger fee to play the Windows Media file for one year.

  • Batch packaging. A content owner wants to convert an existing collection of digital files in Windows Media Format to packaged Windows Media files for distribution on the Web. The content owner develops a batch packaging application that takes Windows Media files from a certain directory, adds information from a database, and then packages the Windows Media files.

  • Rental or subscription model. A content distributor sets up a rental or subscription model and charges consumers periodically to listen to music. For example, the content distributor charges consumers $20 per month for unlimited access to the music web site. Consumers download music and listen to it, and at the end of one month, their licenses expire. The consumers who renew their subscription receive new licenses.


Best Practices

The following list contains suggestions to help you deploy a Windows Media Rights Manager system. When creating a solution by using the Windows Media Rights Manager SDK, security should be a paramount goal and is not limited to these suggestions.

Security

For very secure files, issue only version 7.1 or later licenses. However, version 7.1 licenses can only be interpreted by players that support Windows Media Rights Manager version 7.1 or later, such as Windows Media Player 7.1.

Version 7.1 and later licenses let you use features that increase security such as individualization and Secure Audio Path.

Version 1 Support

For backward compatibility, include version 1 and 7.1 information when packaging your files, and then issue version 1 and 7.1 licenses for them. Version 1 licenses should be simple (allow play), but you can use more complex features in the version 7.1 licenses.

Windows Media License Service version 1 was changed so that you can extract values from the registry (the same values used for version 7.1 of License Service) rather than reading these values from a database.

License Key Seed

Use the GenerateSeed property of the WMRMKeys object to generate your license key seed.

Ensure that you use strong security when you store your license key seed; if the license key seed is compromised, so is your content.

Change the license key seed regularly.

When exchanging the license key seed between the content packager and license issuer (these functions should be performed on different servers), be extremely careful in not compromising the license key seed by using a secure method of delivery and information exchange.

License Services can manage different license key seeds for different content packagers.

Keys

Use the WMRMKeys object to generate key IDs and keys.

Rights

By default, the right AllowBurnToCD is allowed. However, when packaged Windows Media files are copied to a CD, they are no longer protected. You should not allow this right if you do not want your packaged files to be copied to a CD.

For any licenses that allow counted operations (Playcount, BurnToCDCount, and TransferCount) or set an expiration period, you should not allow the right AllowBackupRestore because restoring the license also restores the original values of the operations and expiration.

Attributes

Add attributes to the content headers and licenses. For a list of recommended attributes, see Adding Attributes to the Content Header and Adding Attributes to Licenses.

Content IDs

Include unique content IDs in content headers. Use the GenerateKeyID property of the WMRMKeys object to generate your content IDs.

License Management (Backup and Restore)

The license management feature is designed to create a good experience for consumers when backing up and restoring licenses. The Microsoft License Management Service that manages this feature provides business rules to prevent abuse of content. You can implement a different solution for consumers to recover licenses, but it might less appealing to consumers.

Individualization

For the latest information about individualization (such as the current individualization version number), see the Microsoft web site.

Do not issue version 1 licenses for packaged files that require individualization.

Secure Audio Path

To use this feature, the player that is included with Microsoft® Windows® Millennium Edition must be upgraded before it can play packaged files requiring Secure Audio Path. Check the challenge to ensure that the player has been upgraded to a version greater than 204, which is determined by checking SUBJECTID1. If the player has not been upgraded, redirect consumers to a download location to obtain a newer player.

Windows 2000

  • Use strong network security for servers on the Internet, which might include using firewalls and routers for increased security and scalability.

  • Use strong passwords.

  • Ensure you have physical security for your servers.

Encoded Files

If you have digital files that were encoded with an ACM codec, they must be re-encoded using one of the supported codecs.


Section II

Team LiB

Section II :

Chapter List

Chapter 7: Playing WM9 files in PowerPoint, Producer, and Internet Explorer
Chapter 8: Working with the WM9 Software Development Kit (SDK)
Chapter 9: Making DVD Movies with WM9 and MS Movie Maker 2
Chapter 10: WM9 with Third-Party Nonlinear Editors
Chapter 11: Using WM9 with SnapStream Personal Video Station
Chapter 12: Producing WM9 Content for Handhelds
Chapter 13: WM9 Audio Techniques
Chapter 14: Encoding with the WM9 Screen Codec


Chapter 7: Playing WM9 files in PowerPoint, Producer, and Internet Explorer

Overview

This section of the book is devoted to Windows Media 9 production and presentation tools. Like prior versions of Windows Media, WM9 is supported by a variety of software and digital media development environments, including:

  • Native MS Office apps like PowerPoint and Producer

  • HTML editors for creating <object> and script-enhanced web pages with embedded WM9 video clips

  • Win32 application builders like MS Visual Basic and Visual Studio .NET

  • Third-party publishing tools such as Adobe Acrobat (although not by Version 5.x)

  • Professional desktop editing suites including Vegas, Adobe Premiere and After Effects, Ulead MediaStudio, and solutions from Avid, Discreet, and Pinnacle Systems.

We'll cover all of these categories in this section, with specific chapters dedicated to each class of environment. This chapter concerns itself with MS PowerPoint, Producer, and MS Internet Explorer. Please note that the native Microsoft products generally need to be the latest version—at least Office 2000, if not Office XP Professional. Specific requirements are posted where appropriate. Let's get started with a PPT 2000 example.


Playing WM9 Movies in MS PowerPoint

Among the virtues of Microsoft PowerPoint (PPT) are:

  • Quick editing

  • Almost total control over the desktop

Professional presenters know that these features make PPT the hands-down tool for visually rendering business ideas and complex processes on both the PC and the Mac. Sadly, in the desktop video world, presentation tools with such virtues are still rare, mainly because of platform and player diversity across the wild and woolly user base. I still get depressed thinking about the hours I've spent on HTML and SMIL applications with embedded video clips that didn't look the same in IE and Netscape, or because of a target audience at a company that only supported Real or Windows Media 6 (as opposed to version 7 or 8).

If you need to play video clips for an audience and the clips are stored locally on your LAN or even on a remote web server, you can build (and edit) PPT decks around those clips with only a few more steps than creating text-only PPTs. If you're already good at PowerPoint (like most managers, marketers, and sales people), you won't need Web developers to set up HTML pages for you (unless you like this time-consuming job). Of course, the video clips you want to show must be available on your local machine, LAN, or the Web—just like in browser-based presentations—and slow Internet connections will torpedo any Web-aware presentation regardless of the tools you're using. But for rapid, ad-hoc deployment of short, linear WM9-based applications over which you have sole authority, PPT can be a revelation.

Remember, we're talking about embedding video clips in PowerPoint documents—not encoding PPTs as Windows Media clips. Microsoft has some fine new tools for doing the latter, but the point here is linking to local or remote media files that play in desktop (PPT) documents without a lot of SMIL, JavaScript, and HTML overhead. For the record, PPT on the Mac does not yet support the following techniques.

Embedding Video Clips in PPT Docs

Straight out of the box, PowerPoint lets you insert movies, sounds, and video clip objects into PPT projects. Unfortunately, such media files are normally expected to reside on the same machine as the PPT executable. If you experiment with hyperlinks and helpful-looking object properties to get around this, you'll just get frustrated—trust me. Hyperlinked media files will generally invoke their appropriate players outside of your PPT documents, thus defeating your purpose, with the possible exception of inserted audio clips. Most of this unwanted behavior occurs because (despite the sophistication of PPT 2K and 2002) the default media player is pre-ActiveX. For the record, I didn't test the following techniques in Win98 or prior environments.

As it turns out, the key to embedding video clips in PPT slides is the Control toolbox, not the Insert menu. Here's a quick example in PPT 2K running on Windows 2K:

  1. Open a new, default document and key in a dummy title (see Figure 7.1).

    Click To expand
    Figure 7.1: Create a test PPT document.

  2. Click the View menu and mouse-over the Toolbars item (see Figure 7.2).

    Click To expand
    Figure 7.2: Display the Toolbars menu.

  3. Click the Control Toolbox to place the toolbox on your desktop (see Figure 7.3).

    Click To expand
    Figure 7.3: Invoke the Control toolbox.

  4. Click the More Controls item (bottom right) in the toolbox, and then click Windows Media Player (see Figure 7.4), probably at the bottom of the list.

    Click To expand
    Figure 7.4: Select the Windows Media Player object.

    You may also see an ActiveMovie item in this list, but Microsoft has admitted (as of this writing) that this object is buggy and recommends using the Windows Media Player object. If you can make the ActiveMovie object work in your PPT decks, by all means do so.

  5. When your cursor changes to a +, drag your mouse on the PPT slide to create a movie window as shown in Figure 7.5.

    Click To expand
    Figure 7.5: Create the WM9 movie window.

  6. Right-click on the WM9 Control object to bring up its menu (see Figure 7.6), and then select Properties.

    Click To expand
    Figure 7.6: Display the WM9 object properties.

    If you develop Visual Basic applications, the resulting Properties menu (see Figure 7.7) will look familiar.

    Click To expand
    Figure 7.7: Supply the URL or file name.

  7. For now, the only property we need to edit is URL, which we'll set to C:\ MY_MOVIE.ASX.

    Note

    URL Options: You can also use a hardcoded URL here (such as http://66.98.31.129/my_movie.wmv) or a local file name, also in a fully qualified path, such as C:\MY_MOVIE.WMV.

  8. Aside from creating MY_MOVIE.ASX (described next), you can now test the presentation by pressing F5.

The embedded WM9 player should appear in your running PPT slide, not as a separate player outside of the PPT (see Figure 7.8). If you go back to edit mode, you can resize and reposition the object, make it play full screen, autostart, or show/hide the control buttons, depending on how you want the user to navigate the show at runtime. In other words, have some fun, but be careful how you scale your clips if you want them to look good. Native size is always best.

Click To expand
Figure 7.8: Execute the PPT document.

Using ASX Files

Now for the ASX file. Experienced web video developers know what these are and understand their value. The short story is that an ASX file is a tiny, tag-laden text document, playable by the Windows Media Player. The ASX file contains a reference to an actual media file (or multiple media files), either local or remote. In MS PowerPoint, I use them to point to new movies without needing to reedit my PPT decks. Again, you can use a movie's local file name URL in the property panel if you want skip dealing with ASX files altogether.

The contents of two sample ASX files are shown in Listings 7.1 and 7.2.

Listing 7.1: Basic ASX syntax for a remote web video clip.
Start example
<asx version="3">
<entry>
<ref href="http://66.98.31.129/movie1.wmv"/>
</entry>
</asx>
End example
Listing 7.2: Basic ASX syntax for a local video file.
Start example
<asx version="3">
<entry>
<ref href="file://c:\movie1.wmv"/>
</entry>
</asx>
End example
Note

Clip Format: The referenced movie clip can be a Windows Media file or an MPEG-1 file, or anything else playable by the Windows Media Player. The HTTP tag assumes this clip is available for progressive download from a web site. For streaming video from a Windows Media server, you can use MMS instead of HTTP.

For some audiences, if you know the URL of a web video clip, you can load that address into the Windows Media Player and just play the movie. If, however, you wish to provide context for that movie or create a professional presentation enhanced with video clips, PPT on the Windows desktop puts you in the driver's seat. When building PPTs with multiple web clips, be sure to name each WM9 control uniquely in its respective Properties list—not to mention a clear, serialized naming scheme for your multiple ASX files. For best results, use only one movie control per slide. If you send someone a web-enabled PPT (plus the ASX files), you might want to note that slide advancement requires a prior mouse click outside the movie window after you have clicked the movie or its Start button to play it.

Why aren't more people using PPT to deliver presentations with local movies or video clips from remote servers? Certainly they are doing it successfully with local media on CD-ROM and DVD. I believe the answer is threefold:

  • HTML and SMIL developers in corporate services departments are more concerned with job security than ever, despite management's wish to just show the darn movies.

  • Mystery still surrounds the process of using the Control toolbox in PowerPoint.

  • Browsers are still considered the universal delivery vehicle for web-based digital media.

I hope this demo solves some of the mystery noted in the second point. While point 3 remains undeniable, PPT is nevertheless a universal presentation tool in the corporate sector. If you're struggling with browser-based apps for short, linear product demos or business models, PPT with embedded WM9 video objects is a solid alternative.

Controlling the WM9 Player in PPT Docs

The previous example shows how to insert a video clip into an MS PowerPoint document, along with text and graphic elements, for a mixed-media presentation. But what if you want to just use PPT as a tool for playing a long-form movie full screen? You can do this, of course, with the WM9 Media Player, but I've often been frustrated trying to render certain types of video (especially widescreen and letterbox movies) full screen at specific screen resolutions, generally without the player's UI controls visible. If the movie can't fit on my desktop at 100% of its native resolution, visual distortion is inevitable—along with clutter from underlying apps and desktop icons. If you've dealt with this at all, you'll know exactly what I'm talking about.

Most of the WM9 presentation tools discussed in this section provide some way to address this problem, but PPT offers perhaps the most elegant solution overall. Once again you must exploit the Control toolbox, only this time you'll add some code, as shown in on Figure 7.9. If you have VB/VBA experience, this will be a snap. I tested this example on my HP reference machine (on which I first installed Microsoft Office XP Pro, which includes PPT 2002). Screen resolution is 800×600. The movie I used has native dimensions of 640×480. Here's the recipe:

Click To expand
Figure 7.9: Visual Basic editor.

  1. Open a new, default document and insert a MediaPlayer object as show in steps 1– 8 of the previous example on page 139.

  2. Right-click the MediaPlayer object to invoke the context menu shown in Figure 7.10.

    Click To expand
    Figure 7.10: MediaPlayer object context.

  3. Click the Properties menu item to bring up the Properties list (see Figure 7.11). Several things need to be adjusted here, some left as default.

    Click To expand
    Figure 7.11: MediaPlayer Properties list.

  4. Set Width to 640 (the native movie width). Don't worry if this changes slightly after you set it.

  5. Set Height to 480 (the native movie height).

  6. Set Left to 40 to roughly center the movie horizontally, given the dimensions noted previously and the PPT/VB coordinate system. Don't worry if this changes slightly after you set it.

  7. Set Top to 20 to position the movie vertically (given the dimensions noted previously and the PPT/VB coordinate system) so that room is available underneath for some control buttons.

  8. Set uiMode to None (to hide the controls and just show the video).

  9. Keep Name as WindowsMediaPlayer1.

  10. Keep enableContextMenu as True.

  11. Keep Enabled as True.

  12. Keep fullScreen as False.

  13. Keep stretchToFit as False.

  14. Keep Visible as True.

  15. Keep windowlessVideo as False.

  16. Now click the (Custom) item at the top of the list to reveal a gray button with an ellipsis label in the right-most column. Click this button to invoke the new properties box shown in Figure 7.12.

    Click To expand
    Figure 7.12: More Media Player Properties.

    To specify the local movie file you wish to play, use the Browse button in the Source control. You can key in the full path and file name manually opposite the URL label in the prior menu, but browsing to it is usually much easier.

    In the dropdown menu under Controls layout, you'll see that None is selected, based on step 8 on page 144. Other options are revealed when you open up the dropdown.

  17. Leave Auto start checked if you want the movie to start playing automatically when the PPT document is loaded; uncheck it if not.

  18. Leave Stretch to fit and Play full screen unchecked.

  19. Adjust the Volume settings as you see fit.

  20. Click the Advanced tab to get a look at some other useful settings, but let's ignore these for now.

  21. Click the OK button to return to the prior Properties pane. The path and name of the movie file you browsed to should now be in the URL field.

  22. Dismiss the Properties pane and save the PPT project.

Adding the Movie Control Buttons

Now the programming part. First we'll add three buttons: Start, Pause, and Stop. Start plays the movie from the beginning. Pause halts playback, which resumes from the pause point if Start is clicked next. Click Stop and then Start to play the movie from the beginning.

  1. To add a button to the PPT doc, select View>Toolbars>Control Toolbox (as when adding a MediaPlayer), and then click the Command Button item (see Figure 7.13).

    Click To expand
    Figure 7.13: Adding a Command Button.

  2. Draw the button (by dragging your mouse) in the space under the MediaPlayer object.

  3. Repeat this process two times to create a total of three buttons arranged in a row under the MediaPlayer.

  4. Right-click each button to reveal its property box (see Figure 7.14) and change the captions to Start, Pause, and Stop. Note the other properties you can experiment with later, specifically Top, Left, Height, and Width.

    Click To expand
    Figure 7.14: Command Button Properties.

    For a more dramatic presentation, you can change the slide background to black by clicking (from the main menu) Format>Background and then dropping down the menu in the bottom left of the pane and clicking the little black swatch.

    At this point your PPT project should look very similar to Figure 7.15.

    Click To expand
    Figure 7.15: Ready to add Button code.

  5. Double-click the Start button to bring up the Visual Basic editor shown in Figure 7.9.

  6. Between the lines Private Sub CommandButton1_Click() and End Sub, we need to add a line of code that tells the MediaPlayer what to do when the button is clicked. Actually we need to do this for all three buttons, each with a slight variation. The finished, edited VB code should look like that shown in Figure 7.16. You can add/ edit the code in several different ways not shown in this example, or just key it all in directly (cutting and pasting as needed).

    Click To expand
    Figure 7.16: Finished Visual Basic code base.

  7. Ready to test the application? First save the project; then press the F5 key (or select Slide Show>View Show from the main menu). Your PPT deck (comprising just this one slide) should fill your screen with a black background upon which should play your named movie file controllable by your three custom buttons. Again, this example assumes a screen resolution of 800×600 and a movie window of 640×480. The beauty of PowerPoint is that it fills your screen elegantly whatever the resolution, allowing you to muddy it up with as many (or few) controls as you wish. Figure 7.17 shows a movie running under this scenario on my HP reference machine.

    Click To expand
    Figure 7.17: The movie playing.

As noted, using PPT in this way makes sense when you want to ensure that a movie plays on a desktop without visual distortion caused by automatic scaling/resizing, assuming you know the native dimensions of the video window and have control over the screen rez (800×600, 1,024×768, etc.). I use it for no-frills viewing of captured movies and TV shows on my laptop, on which I always have MS Office installed.


Playing WM9 Movies in MS Producer

Microsoft Producer is positioned as an add-on to MS PowerPoint 2002—mainly to let PPT authors add audio/video frameworks to their existing PPT presentations. In other words, with Producer, a PPT audience can see and hear the author/presenter in a desktop video window (as opposed to live, in-person) synched to the playback of a PPT document. Unlike native PPT files, Producer apps run in a browser—specifically MSIE 5.0 or later. This means, of course, that such apps can be published to (and played back from) CD-ROM/DVD and the Web. You can download and run Microsoft Producer for PowerPoint 2002 for free from http://www.microsoft.com/office/powerpoint/producer/ as long as you have PowerPoint 2002 installed. PPT 2002 is part of MS Office XP, which runs on both XP and Windows 2000.

Here's the point: While Producer offers a slick, timeline-based UI for assembling sophisticated multimedia productions, we are more interested in using it as a fewfrills WM9 presentation vehicle, just like we did with PowerPoint itself in the preceding example. In other words, we want to take over the screen (to the extent possible in a browser) and present movies to audiences without having to write any code. The key is using the right Producer template. Below is a recipe that I used on an XP-based laptop. My screen rez was set to 1,024×768, and I used an existing 640×480 WM9 video clip, but you could use one the samples offered on the Jumpstart CD in the directory demos/wm9_video/quality_media.

  1. Fire up Producer from Start>Programs (assuming a successful installation).

  2. Select Use the New Presentation Wizard (see Figure 7.18), click OK, and then Next at the Welcome screen.

    Figure 7.18: Select a project creation method.

  3. From the Presentation Template list, select Standard Video (640×480), near the bottom of the list. You'll see plenty of other templates in the list that may suit your purposes (as shown in Figure 7.19), but this one will serve to make the point. Click Next.

    Click To expand
    Figure 7.19: Select a Presentation template.

  4. Click Next again in the Choose a Presentation Scheme panel.

  5. In the Presentation Information panel, supply the title, presenter, intro page, and description data as necessary (see Figure 7.20). Click Next.

    Click To expand
    Figure 7.20: Supply your presentation information.

  6. To keep things simple for now, click Next in the Import Slides and Still Images panel.

  7. In the Import or Capture Audio and Video panel, browse to the video clip you want to play at run time.

    Note

    Important: For optimal results, the video clip you want to present should have a width and height that match the width and height of the video window used by the template. In this case we are using 640×480 (see Figure 7.21). If you want to present at, say, 320×240, choose a 320×240 template. Note that selecting a 640×480 template for a 320×240 movie will zoom that 320×240 movie 2x at presentation time. Also note that you can capture video here, but for this demo we're using an existing 640×480 WM9 video clip.

    Click To expand
    Figure 7.21: Import your audio or video clip.

  8. Click Next; then Finish. Producer will now import your movie and display it in the timeline of its UI.

  9. You could go on here to perform other video editing functions, but go ahead and click the Publish item at the right edge of the top menu.

  10. Click the My Computer radio button; then click Next. Choose a file name and folder (see Figure 7.22); then click Next again.

    Click To expand
    Figure 7.22: Select a playback site.

  11. In the Playback Quality panel (see Figure 7.23), choose only the top item, For local playback at 800 kbs.

    Click To expand
    Figure 7.23: Select playback quality.

    This is the highest data rate that Producer supports as of this writing. If you're thinking that recompression is involved, you'd be right—and this might be a showstopper for you. If so, read no further in this recipe. If you can live with this, please continue. Even a 640×480 clip can look acceptable (VHS quality) at this data rate.

  12. Click Next; then click Finish.

MS Producer will now build your app, which might take a few minutes. If your clip is feature length (1–2 hours), you may need to wait an hour or so, depending on the speed of your CPU (thanks to the re-encoding involved).

When the publication process is complete, you can preview the finished app or exit Producer and take a look in the folder you specified in step 10 on page 151. You should see at least four top-level files and a subfolder with various browser-centric files, including the WMV file made from your imported video clip. Click either the top-level .htm or .hta file to launch and play your app in IE from your hard drive or CD-ROM/DVD.

Tip

Flexibility: AVI and MPEG files can be imported into Producer projects also, and you can substitute movies of the same name in a Producer project.

You can edit and republish the show in Producer or experiment with the various component files, but either way you have a finished app that can present your chosen video file without any coding/scripting. You can't flip through slides like in PPT, but you can integrate the app with other browser-based pages.


Playing WM9 Movies in Internet Explorer

So much for presenting video with major tools and minimal coding. The last example in this chapter takes a 90° turn and shows how you can present a catalog of WM9 clips from a CD or DVD using IE6 and a lightweight JavaScript application. We'll cover the basics of placing movies on web pages to get started and then proceed to the catalog program. But first, some history.

<OBJECT> versus <EMBED>

Just to get this idea put to bed early, the <EMBED> tag is no longer supported by Microsoft Internet Explorer (not since Service Pack 2 for IE 5.5). Almost two years ago this was a big deal—people accused Microsoft of quietly dropping <EMBED> support in favor of its own <OBJECT> tag just to bedevil the competition, especially Apple. Not much happened as a result of such allegations. Everyone adapted and moved on, perhaps with the understanding that the foundation for mixing media files with HTML was a bit more fragile than they believed at the time.

In fact, the esteemed technology writer Robert X. Cringely took the idea a step further by suggesting that Microsoft—and everybody else—might soon be forced to abandon not only <EMBED> (Netscape) and <APPLET> (Java), but also <OBJECT> (the common tag for ActiveX itself). All this because of a little company named Eolas, which was granted US Patent number 5,838,906 back in the mid-90s. This patent essentially covers any algorithm that implements dynamic, bidirectional communications between Web browsers and external applications—specifically applets and embedded program objects in Web documents. A lawsuit by Eolas was already underway, and (according to Mr. Cringely) things were not going well for Microsoft. Much as I admire Mr. Cringely, ActiveX and the <OBJECT> tag appear to be alive and well, which is why you'll see them exploited in the rest of this chapter. Also, for the record, this section is not about programming the Media toolbar, a complicated part of Internet Explorer not easily manipulated through mere HTML and JavaScript. Chapter 8 concerning the WM9 SDK will address deeper programming issues.

Basic <OBJECT> syntax

A minimal script to make a WM9 clip play all alone (centered) in the fabric of a web page is shown in Listing 7.3. According to Microsoft, the only required object attributes are ID and CLASSID, although CODEBASE is strongly recommended, especially if your page needs to download a fresh copy of the Media Player ActiveX control. If you want to play a particular movie, of course, you need to identify it with a PARAM/URL attribute. The Microsoft MSDN site at http://msdn.microsoft.com is loaded with a staggering amount of samples, examples, and other items of this nature for you to cut and paste into your own media-rich web pages.

Listing 7.3: Minimal WM9 embedding code.
Start example
<HTML>
<HEAD>
</HEAD>
<BODY>
<CENTER>
<OBJECT ID="MediaPlayer1"
CLASSID="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95"
<PARAM name="URL" value="my_movie.wmv">
</OBJECT>
</CENTER>
</BODY>
</HTML>
End example

The screen output of this code is shown in Figure 7.24. Because we weren't particular, all the defaults are engaged (autostart, full set of playback controls, etc.) For a more dramatic video presentation, you can turn your page background black, minimize the WMP9 control set (to show only the Start/Stop button and the progress bar) and customize the other PARAMS and OBJECT attributes as you see fit. You can even use an ASX file to encapsulate the name and location of your movie file(s), although this is not really necessary because you can easily edit (even in Windows Notepad) such small HTML files for ad hoc WM9 presentation sessions.

Click To expand
Figure 7.24: Simple player embedded in a simple page.

If you maximize your IE browser window and then click F11 to minimize its browser control panel, you can almost take over the whole screen (like in PowerPoint), which is the point of this simple example. Listing 7.4 shows a script that includes most of these features, and sets up three buttons (Start, Pause, and Stop) which function just like the buttons in the earlier PPT example. Figure 7.25 is the relative screenshot. I often watch high-quality 640×480 WM9 movies on a laptop using this particular script (whenever I want a break from good old PowerPoint).

Click To expand
Figure 7.25: Home Theatre on a laptop.
Listing 7.4: Suitable WM9 presentation code.
Start example

<HTML>
<HEAD>
</HEAD>
<BODY bgcolor="black">
<CENTER>
<OBJECT ID="Player" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" WIDTH="640" HEIGHT="480">
<PARAM name="URL" value="CLONES.WMV">
<PARAM name="UIMode" value="NONE">
</OBJECT>
<br>
<INPUT TYPE="BUTTON" NAME="BtnStart" VALUE="Play" OnClick="startup()">
<INPUT TYPE="BUTTON" NAME="BtnPause" VALUE="Pause" OnClick="pause()">
<INPUT TYPE="BUTTON" NAME="BtnStop" VALUE="Stop" OnClick="stop()">
</CENTER>

<SCRIPT>
<!--

function startup()
{
  Player.controls.play();
}

function stop()
{
  Player.controls.stop();
}

function pause()
{
  Player.controls.pause();
}

-->
</SCRIPT>

</BODY>
</HTML>
End example


A WM9 Video Catalog

If you want to present video clips in the style demonstrated previously but chosen from a sorted menu instead of by changing the code (especially if the whole catalog is on a CD-ROM or DVD-ROM), you could use the JavaScript program shown next. I've used this template as the basis for a number of finished projects—this one ultimately became an interactive real estate guide (after a lot more graphic design).

As you'll see, each video file name (and related details) is stored in a database contained in the JavaScript itself, which prevents having to maintain state information across the three web pages comprising this application. There is some string manipulation and dynamic page building, but the program flow is otherwise straightforward and commented inline where appropriate.

The first page (see Listing 7.5 and Figure 7.26) lets you select criteria for the sorted list. Page 2 (see Listing 7.6 and Figure 7.27) shows the result of the sort. Page 3 (see Listing 7.7 and Figure 7.28) builds a media player and some button controls and then loads the movie chosen from the list shown on page 2, assuming that movie is located in the same folder as the three web pages. The code listing for each page follows, along with a screen shot of the skeletal browser output that the page produces.

Click To expand
Figure 7.26: Page 1: Criteria Selection (see Listing 7.5)
Click To expand
Figure 7.27: Page 2: The Sorted List (see Listing 7.6).
Click To expand
Figure 7.28: Page 3: The selected video clip (see Listing 7.7).
Listing 7.5: Page 1: Criteria Selection
Start example

<html>
<head>
<title></title>
</head>

<body>
<br><br>
<center>
<table border="1" width="800" >
  <tr>
    <td align="center" valign="top"><br><br>Suitable Graphic</td>
    <td width="400" height="400" valign="top" align="center">
      <table>
        <tr>
              <td colspan="3" align="center"><br>
                <h1><font face="Arial">Property Tour</font></h1></td>
        </tr>
            <form name="form1" method="link" action="working2.htm">
              <tr>
                <td>Style:<br>
                  <select name="style">
                  <option selected value="">Select style
                  <option value="ranch">Ranch
                  <option value="vic">Victorian
                  <option value="condo">Condominium
                  <option value="all">All
                  </select></td>
                <td>Price Range:<br>
                  <select name="price">
                  <option selected value="">Select price range
                  <option value="under_1">Under $100,000
                  <option value="1_5">$100,000 to $500,000
                  <option value="over_5">Over $500,000
                  <option value="all">All
                  </select></td>
                <td>Locale:<br><select name="locale">
                  <option selected value="">Select locale
                  <option value="east">East coast
                  <option value="mid">Midwest
                  <option value="west">West coast
                  <option value="all">All
                  </select></td>
              </tr>
              <tr>
                <td colspan="3" align="center"><br><br>
                <input type="submit" name="Go" value="Go">
              </td>
            </tr>
          </form>
        <tr>
          <td colspan="3" align="center">
          <br><br><br><br><br><br>Suitable Graphics / Text
          <br><br><br><br>
          </td>
        </tr>
      </table>
    </td>
    <td align="center" valign="top"><br><br>Suitable Graphic</td>
  </tr>
</table>
</center>
</body>
</html>
End example
Listing 7.6: Page 2: The Sorted List
Start example

<html>
<head>
<head>
<title></title>
<form NAME="helper">
<INPUT TYPE="hidden" NAME="params">
</form>

<script language="javascript">
<!--
var x = window.location;
document.helper.params.value = x;
var param_str = document.helper.params.value;
var style;
var price;
var locale;

function get_params() {
    // get the style
    left_delim = param_str.indexOf( "style" );
    right_delim = param_str.length;
    style = param_str.substring( left_delim, right_delim );
    left_delim = style.indexOf( "style" );
    right_delim = style.indexOf( "&" ) + 1;
    style = style.substring( left_delim, right_delim );
    left_delim = style.indexOf( "=" ) + 1;
    right_delim = style.indexOf( "&" );
    style = style.substring( left_delim, right_delim );

    // get the price range
    left_delim = param_str.indexOf( "price" );
    right_delim = param_str.length;
    price = param_str.substring( left_delim, right_delim );
    left_delim = price.indexOf( "price" );
    right_delim = price.indexOf( "&" ) + 1;
    price = price.substring( left_delim, right_delim );
    left_delim = price.indexOf( "=" ) + 1;
    right_delim = price.indexOf( "&" );
    price = price.substring( left_delim, right_delim );

    // get the locale
    left_delim = param_str.indexOf( "locale" );
    right_delim = param_str.length;
    locale = param_str.substring( left_delim, right_delim );
    left_delim = locale.indexOf( "locale" );
    right_delim = locale.indexOf( "&" ) + 1;
    locale = locale.substring( left_delim, right_delim );
    left_delim = locale.indexOf( "=" ) + 1;
    right_delim = locale.indexOf( "&" );
    locale = locale.substring( left_delim, right_delim );
}

// THE TEXT BLOCK BELOW MUST APPEAR ON THE LIST PAGE
// AND THE MEDIA DISPLAY PAGE
// -------------------------------------------------
var num_recs = 3; // !!! NOTE !!! This must be set to the number
                  // of records in the array!
var num_fields = 10; // !!! NOTE !!! This must be set to the number
                     // of fields in the array!

var matrix = new Array( num_recs );
for ( i = 0; i < num_recs; i ++ )
  matrix[i] = new Array( num_fields );

  matrix[0][0] = "mid"; // locale
  matrix[0][1] = "Duluth"; // city
  matrix[0][2] = "MN"; // state
  matrix[0][3] = "ranch"; // style type
  matrix[0][4] = "Ranch"; // locale
  matrix[0][5] = "under_1"; // price code
  matrix[0][6] = "$70,000"; // price
  matrix[0][7] = "mid_70_ranch.wmv"; // movie file name
  matrix[0][8] = "mid_70_ranch.gif"; // photo file name
  matrix[0][9] = "$70,000 Midwest Ranch-style."; // description

  matrix[1][0] = "east"; // locale
  matrix[1][1] = "Hoboken"; // city
  matrix[1][2] = "NJ"; // state
  matrix[1][3] = "condo"; // style type
  matrix[1][4] = "Condominium"; // locale
  matrix[1][5] = "1_5"; // price code
  matrix[1][6] = "$300,000"; // price
  matrix[1][7] = "east_300_condo.wmv"; // movie file name
  matrix[1][8] = "east_300_condo.gif"; // photo file name
  matrix[1][9] = " $300,000 East Coast Condo."; // description

  matrix[2][0] = "west"; // locale
  matrix[2][1] = "San Francisco"; // city
  matrix[2][2] = "CA"; // state
  matrix[2][3] = "vic"; // style type
  matrix[2][4] = "Victorian"; // locale
  matrix[2][5] = "over_5"; // price code
  matrix[2][6] = "$800,000"; // price
  matrix[2][7] = "west_800_vic.wmv"; // movie file name
  matrix[2][8] = "west_800_vic.gif"; // photo file name
  matrix[2][9] = " $800,000 West Coast Victorian."; // description

// -------------------------------------------------
// THE TEXT BLOCK ABOVE MUST APPEAR ON THE LIST PAGE
// AND THE MEDIA DISPLAY PAGE
-->
</script>
</head>

<body>
<br><br>
<center>
<table border="1" width="800" >
  <tr>
    <td align="center" valign="top"><br><br>Suitable Graphic</td>
    <td width="400" height="400" valign="top" align="center">
    <br><h1><font face="Arial">Sorted List</font></h1>
    <h4>Click on photo to view video and more information.</h4>
    <script language="javascript"><!--
    // get list criteria
    x = get_params();
    // display table of records
    document.write( "<table>" );
    doq</b></font></td></tr>" );
    for (i = 0; i < num_recs; i++) {
      if (( style == matrix[i][3] || style == "all" )
          && ( price == matrix[i][5] || price == "all" )
          && ( locale == matrix[i][0] || locale == "all" )) {
            document.write( "<tr>" );
            document.write( "<td><a href='working3.htm?rec_num=" + i + "&'>
                              <img src="' + matrix[i][8] + "'></a></td>" );
            document.write( "<td>" + matrix[i][1] + "</td><td></td>" );
            document.write( "<td>" + matrix[i][2] + "</td><td></td>" );
            document.write( "<td>" + matrix[i][4] + "</td><td></td>" );
            document.write( "<td>" + matrix[i][6] + "</td><td></td>" );
            document.write( "</tr>" );
      }
    }
      document.write( "</table>" );
    -></script>
    <br><br><br><br>
    <a href="working1.htm">[go to homepage]</a><br><br>
    </td>
    <td align="center" valign="top"><br><br>Suitable Graphic</td>
  </tr>
</table>
</center>
</body>
</html>
End example
Listing 7.7: Page 3: The Selected Video Clip
Start example

<html>
<head>
<title></title>
<FORM NAME="helper">
<INPUT TYPE="hidden" NAME="params">
</FORM>

<script language="javascript">
<!--
var x = window.location;
document.helper.params.value = x;
var param_str = document.helper.params.value;
var rec_num;

function get_rec_num() {
    left_delim = param_str.indexOf( "=" ) + 1;
    right_delim = param_str.lastIndexOf( "&" );
    return( param_str.substring( left_delim, right_delim ) );
}

function play_movie () {
    document.mediaPlayer.play();
}

function stop_movie () {
    document.mediaPlayer.stop();
}

// THE TEXT BLOCK BELOW MUST APPEAR ON THE LIST PAGE
// AND THE MEDIA DISPLAY PAGE
// -------------------------------------------------
var num_recs = 3; // !!! NOTE !!! This must be set to the number
                  // of records in the array!
var num_fields = 10; // !!! NOTE !!! This must be set to the number
                     // of fields in the array!

var matrix = new Array( num_recs );
for ( i = 0; i < num_recs; i ++ )
  matrix[i] = new Array( num_fields );
  matrix[0][0] = "mid"; // locale
  matrix[0][1] = "Duluth"; // city
  matrix[0][2] = "MN"; // state
  matrix[0][3] = "ranch"; // style type
  matrix[0][4] = "Ranch"; // locale
  matrix[0][5] = "70"; // price code
  matrix[0][6] = "$70,000"; // price
  matrix[0][7] = "mid_70_ranch.wmv"; // movie file name
  matrix[0][8] = "mid_70_ranch.gif"; // photo file name
  matrix[0][9] = "$70,000 Midwest Ranch-style."; // description

  matrix[1][0] = "east"; // locale
  matrix[1][1] = "Hoboken"; // city
  matrix[1][2] = "NJ"; // state
  matrix[1][3] = "condo"; // style type
  matrix[1][4] = "Condominium"; // locale
  matrix[1][5] = "300"; // price code
  matrix[1][6] = "$300,000"; // price
  matrix[1][7] = "east_300_condo.wmv"; // movie file name
  matrix[1][8] = "east_300_condo.gif"; // photo file name
  matrix[1][9] = "$300,000 East Coast Condo."; // description

  matrix[2][0] = "west"; // locale
  matrix[2][1] = "San Francisco"; // city
  matrix[2][2] = "CA"; // state
  matrix[2][3] = "vic"; // style type
  matrix[2][4] = "Victorian"; // locale
  matrix[2][5] = "800"; // price code
  matrix[2][6] = "$800,000"; // price
  matrix[2][7] = "west_800_vic.wmv"; // movie file name
  matrix[2][8] = "west_800_vic.gif"; // photo file name
  matrix[2][9] = "$800,000 West Coast Victorian."; // description
  // -------------------------------------------------
// THE TEXT BLOCK ABOVE MUST APPEAR ON THE LIST PAGE
// AND THE MEDIA DISPLAY PAGE
-->
</script>
</head>

<body>
<br><br>
<center>
<table border="1" width="800" >
  <tr>
    <td align="center" valign="top"><br><br>Suitable Graphic</td>
    <td width="400" height="400" valign="top" align="center">
      <table>
        <tr>
           <td colspan="3" align="center"><br>
          <h1><font face="Arial">Media Asset Page</font></h1></td>
          <tr>
            <td colspan="3" valign="top" height="288" align="center">
              <script language="javascript"><!–
                rec_num = get_rec_num();
                document.write( "<OBJECT" );
                document.write( " ID='mediaPlayer"' );
                document.write( " CLASSID='CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"' );
                document.write( " CODEBASE='movie_help.htm"' );
                document.write( " STANDBY='Loading Microsoft Windows Media Player components..."' );
                document.write( " TYPE='application/x-oleobject'>" );
                document.write( "<PARAM NAME='fileName' VALUE="' );
                document.write( matrix[rec_num][7] );
                document.write( "'>" );
                document.write( "<PARAM NAME='animationatStart' VALUE='true'>" );
                document.write( "<PARAM NAME='transparentatStart' VALUE='false'>" );
                document.write( "<PARAM NAME='autoStart' VALUE='false'>" );
                document.write( "<PARAM NAME='showControls' VALUE='false'>" );
                document.write( "<PARAM NAME='showDisplay' VALUE='false'>" );
                document.write( "<PARAM NAME='showStatusBar' VALUE='false'>" );
                document.write( "</OBJECT>" );
             -->
             </script>
             <p>
             <input type="button" name="BtnPlay" value="Play" OnClick="play_movie()">
           <input type="button" name="BtnPlay" value="Stop" OnClick="stop_movie()">
            <p>
            </td></tr>
            <tr>
              <td width="10"></td>
                <td>
                  City: <script language="javascript"><!--
                document.write( matrix[rec_num][1] );
                --></script><br>
                  State: <script language="javascript"><!--
                document.write( matrix[rec_num][2] );
                --></script><br>
                  </td>
                <td>
                  Type: <script language="javascript">
                <!--
                 document.write( matrix[rec_num][4] );
                 --></script><br>
                  Price: <script language="javascript"><!--
                  document.write( matrix[rec_num][6] );
                  --></script><br>
            </td>
          </tr>
         <tr>
          <td colspan="3" align="center"> <br><br>
             DESCRIPTION: <script language="javascript"><!--
             document.write( matrix[rec_num][9] );
              --></script><br><br>
             <a href="working2.htm" onClick="history.back();return false;">[back to list]</a><br>
             <a href="working1.htm">[back to home page]</a><br><br>
          </td>
        </tr>
      </table>
    </td>
    <td align="center" valign="top"><br><br>Suitable Graphic</td>
  </tr>
</table>
</center>
</body>
</html>
End example


Chapter 8: Working with the WM9 Software Development Kit (SDK)

This is a big subject for one chapter (and getting bigger by the month, based on the increasing documentation at Microsoft's web site). At the risk of spreading the material too thin, I'll break things down along the lines of the basic WM9 components: Player, Encoder, and Server. For each subject area I'll present sample programs and scripts that exploit the new code libraries now shipping with WM9 that integrate it with the underlying OS and core Microsoft applications.

To work with any SDK, Microsoft of otherwise, you generally need a software development studio with programming tools installed and customized to your workflow preferences. Such tools typically include (in the Microsoft world) Visual Studio or its various elements, such as Visual Basic, C++, C#, etc. None of the code/ script examples in this chapter require investment in such tools, but the sample SDK packages often assume that you are a software developer and therefore have Visual Studio already up and running. In other words, I'll try to demonstrate the merits of the WM9 SDK without a lot of extra work and expense—unless you are already a professional programmer, in which case I recommend going right to the VB, C++, and C# projects provided by Microsoft online.

What Exactly is the WM9 SDK?

There is actually a separate SDK for each of the three components, along with a fourth package named the Windows Media Format SDK. You can download them all from the Microsoft web site, along with sample code and related developer literature. Together these individual elements comprise the overall WM9 SDK. Search on "Windows Media 9 Series SDK" when you get to the site to see all the resources currently available. New component SDKs will likely be added to the family by the time this book is published.

Be aware that some of the individual SDKs require license agreements if you intend to create custom applications and brand them with Microsoft or Windows Media logos. Mostly this involves completing forms and otherwise registering your WM9-enhanced applications with Microsoft—in return for the right to put a logo on it. None of the examples in this chapter involve licensing fees, and so far I haven't heard of royalties required for use of any of the WM9 SDKs.


Programming the WM9 Player

In Chapter 7 I showed examples of how to embed the WM9 Player in applications such as Microsoft PowerPoint and Internet Explorer. Some coding was involved, in the form of VBScript and JavaScript. What I'll do here is demonstrate other ways to program the Player based on resources provided in the Player SDK. These are taken from the samples provided by Microsoft and modified slightly to make particular points.

Environment Requirements

Because programming the WM9 Player means writing code that will run on other peoples' players aside from your own, there are few user requirements outside of the WM9 Player itself. This is not the case for the Encoder SDK, as you'll see, because encoding is normally done by the producer—not the end user. Some of the more interesting tasks that the WM9 Player can perform are browser-specific (meaning IE), but they do not depend on other users having installed anything from the Player SDK. This will make more sense as you read on.

Example 1: Displaying Web Pages in the WM9 Player

This is a simple demonstration of how to customize an ASX file (discussed in Chapter 7 on page 141) to make the WM9 Player render an HTML page, complete with hot links, instead of a movie (specifically the video track). Does this turn the player into a browser? Not really, but it does give producers new ways to present media, such as showing a web page while playing an audio track in the background.

Listing 8.1 shows the simplest ASX file I could create that shows this functionality.

Listing 8.1: Simple ASX file using the HTMLView PARAM
Start example
<ASX version="3.0">
<ENTRY>
   <PARAM name="HTMLView"
    value="http://www.downrecs.com/index.html"/>
   <REF href="http://www.downrecs.com/wma/synth.wma"/>
</ENTRY>
</ASX>
End example
Note

Now Playing: For Listing 8.1, your WM9 player needs to be in Now Playing mode.

If you put this ASX file on your local hard drive and then open it with your WM9 Player, you should see the home page of my web site and hear a short Windows Media Audio file (assuming you have a web connection).

Note

HTTP: I specify the HTTP protocol for the WMA file (because it is very short), but you can easily use a streaming protocol here for longer/bigger audio (or video) files coming from streaming servers (see Figure 8.1).
Click To expand
Figure 8.1: Web page with audio track presented in WM9 Player.

The links on the page should work just like in a browser, although the full-screen mode of your WM9 Player will show slightly less of the page than Internet Explorer. This can be an issue for pages created at 800 ×600 (for example) which ask the user to set screen resolution accordingly. If you prefer caution, Microsoft recommends pages created for WM9 presentation have dimensions of 575×345 pixels. Also, be aware that you will likely have compatibility issues with Netscape browsers, especially in the next example, and that your users must use the WM9 Player for HTMLView to work.

Example 2: Playing Movies in Web Pages in the WM9 Player

This is a more complex example, taken from the Microsoft site, of a web page (specifically for IE) that opens an ASX file that specifies a web page that appears in the full-mode WM9 Player. I got a headache trying to visualize this at first, but then it made sense when I customized it with media on my own servers. Microsoft provides ample context in the SDK and at their site for the various technical things going on in this example. I present the raw code here in case you want to jump right in with your own media files and web pages. Note that there is Jscript involved, and lots of page design issues come up quickly, but you do get a sense of what's been added to WM9 and how you can exploit it, once you get the hang of it.

Listing 8.2: More Complex Example of HTMLView
Start example
<HTML>
<BODY>

<!-- This code embeds the Player object in invisible mode. -->
<OBJECT id = "Player"
CLASSID = "CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" height = 0
width = 0>
        <PARAM Name = "AutoStart" Value = "True">
        <PARAM Name = "uiMode" Value = "invisible">
</OBJECT>

<!-- Create a button to open the content. -->
<INPUT Type = "Button" ID = "btnPlay" Value = "Play ASX" onClick =
"PlayASX();"/>

<SCRIPT Language = "JScript">

// This function tests the Player version. If it is Windows Media
// Player 9 Series, the script opens the .asx file in the full-mode
// Player. Otherwise, the script makes the embedded control visible to
// the user and opens the .asx file in the Web page.

function PlayASX()
{
    if(parseInt(Player.versionInfo) >= 9)
        {
            // Open the full-mode Player to show HTMLView.
            Player.openPlayer("http://www.proseware.com/MyHTMLView.asx");
        }
        else
        {
            // Open the .asx file in the embedded Player.
            Player.uiMode = "full";
            Player.height = 200;
            Player.width = 200;
            Player.URL = "http://www.proseware.com/MyHTMLView.asx";
        }
}
</SCRIPT>

</BODY>
</HTML>
End example


Programming the WM9 Encoder

Over the past five years or so, one of the least pleasurable chores in digital media wrangling turned out to be encoding folders full of movies all the same way, all by hand. Various products emerged to handle these chores, but each had its issues (from high price to stability problems). Also, such products often had user interfaces requiring an investment of time and patience before consistent results could be expected. Not much has changed in today's bulk encoding world except the speed and price of computers—and the advent of Windows Media 9 Series, with its useful SDK.

This section presents a command-line VBS script that encodes a single media file or the contents of a folder. In folder mode, all encoding is done the same way based on specified parameters in the command-line character string. If you download and install the Windows Media Encoder 9 SDK, you will find the script WMCMD.VBS in the folder \WMEncSDK9\Samples\vb\wmcmd where you installed the SDK.

The script is too long to list here in its entirety, but we'll examine various parts of it to show how it works with the WM9 Encoder. We'll also look at examples of command-line syntax for achieving specific results when operating on directories of source files.

Environment Requirements

While you don't need a full-on software development studio to run or customize WMCMD.VBS, you do need to have the program CSCRIPT.EXE on your system, not to mention the WM9 Encoder itself. CSCRIPT is a standard command-line utility for processing scripts in the Windows Scripting Host environment. For the record, I tried WSCRIPT.EXE (the companion to CSCRIPT) with WMCMD.VBS but received error messages. CSCRIPT directs all output to the command window (as opposed to GUI popup windows) and it handled WMCMD.VBS on my HP reference machine without any problems.

I still edit scripts in Windows Notepad, but any ASCII text editor will do for working on this project. If you plan to batch encode lots of big movie files, you'll need sufficient hard drive space to hold the input and output files, plus a way to transfer them to and from other systems (preferably over a LAN).

Example 1: Simple Batch Encoding

Listing 8.3 shows the partial result of running CScript.exe wmcmd.vbs /? at the command line (to request help/documentation). This section of the result details usage of parameters dictating input, output, and statistics. Note the options for such things as attaching character strings to output file names and specifying segments (based on start and end times) of source movies should be encoded.

Listing 8.3: Input, Output, and Statistical Parameters
Start example
Usage for I/O and statistics.

[-wme] <Windows Media Encoder session file>
    Loads an existing Windows Media Encoder session file. [-input]
<file or directory name>
    The file or directory to be encoded.
    Specify a file or directory name. If you specify a directory, supported
    files in the directory will be encoded to the output directory, using
    the same encoding settings.
    Enclose file and directory names that have spaces in quotations.
    For example: -input "c:\my sample.wmv"
[-adevice] <audio device number>
    The audio capture device to encode from.
    Use -devices to list all available capture devices.
    When encoding from devices, you must specify a duration using -duration.
[-vdevice] <video device number>
    The video capture device to encode from.
    Use -devices to list all available capture devices.
    When capturing from devices, you must specify a duration using -duration.
[-output] <file or directory name>
    The name of the output file or directory.
    If the input is a file, -output corresponds to a file name. If the input
    is a directory, -output corresponds to a directory name.
    The output directory will be created if it doesn't already exist.
    An extension is automatically appended to output files.
    (.wma for audio-only Windows Media files, and .wmv for video-only or
    audio and video Windows Media files.)
[-outputstring] <string>
    The string to be attached to every output file name for directory mode.
[-broadcast] <port>
    Broadcasts via HTTP on the port specified. The default port is 8080.
[-time] <start time> <end time>
    Specify the time segment (in msec) to be encoded. Use 'end' for
    <end time> if you want to encode to the end of the file.
[-silent]
    Prevents statistics from being displayed after encoding is finished.
[-config] <input configuration file>
    Inputs arguments from a configuration file. The default extension is .weu.
    Parameters in the file can be overridden by later arguments.
[-s_config] <output configuration file>
    Creates a configuration file. The file name extension .weu is appended
    automatically.
End example

Let's now put WMCMD.VBS to work with custom parameters to convert one MPEG-1 file and one AVI-Cinepak file in a common source folder to similarly-named WMV files in a target folder. Here is the recipe:

  1. Create the source and target folders (in this case, C:\MEDIA\SOURCE and C:\ MEDIA\TARGET).

  2. Deposit the source files in the source folder.

  3. Open a command line window by clicking the Start button, then clicking Run, then typing cmd in the Run window, and then clicking OK.

  4. Navigate in the command window to \WMEncSDK9\Samples\vb\wmcmd or wherever WMCMD.VBS was deposited when you installed the SDK.

  5. Assuming you are in the correct folder in the command window, key in the following character string: cscript wmcmd.vbs -input "c:\media\source" -output "c:\ media\target" -v_codec WMV9 -v_mode 1 -v_bitrate 2000000 (see Figure 8.2).

    Click To expand
    Figure 8.2: Ready to execute simple batch processing.

    This is the minimum set of parameters necessary to execute this encoding job and get the desired results. (WMV9 is actually the default codec, but I added it for illustration purposes.) v_mode 1 tells the system to perform two-pass encoding. As you'll see when you look at the whole script, there are various desired default values that we don't need to specify here.

    As the encoding tasks execute, you'll get progress reports in the command window followed by result statistics when each file is completely processed (see Figure 8.3).

    Click To expand
    Figure 8.3: Interim and Final Encoding Statistics

  6. When the job is finished, make sure the result statistics reflect the parameters you specified (if not your overall expectations); then play the WMV movies in the TARGET folder as a reality check.

Example 2: Batch Encoding with Profiles

Listing 8.4 shows the section of the WMCMD.VBS help doc that deals with profile support for batch encoding using the WM9 Encoder SDK.

Listing 8.4: Profile parameters
Start example
Usage for profiles.
    You can override parameters in a profile by appending arguments to a
    command.

[-profile] <profile code>
    Specifies a predefined profile to use in the session.

Codes and basic descriptions for the predefined profiles:
Audio/Video:
    av20: Profile_AudioVideo_Modem_28K (actual rate: 20Kbps)
    av32: Profile_AudioVideo_Modem_56K (32 Kbps)
    av100: Profile_AudioVideo_LAN_100K (100 Kbps)
    av225: Profile_AudioVideo_LAN_256K (225 Kbps)
    av350: Profile_AudioVideo_LANDSL_384K (350 Kbps)
    av450: Profile_AudioVideo_LANDSL_768K (450 Kbps)
    av700: Profile_AudioVideo_NearBroadcast_700K (700 Kbps)
    av1400: Profile_AudioVideo_NearBroadcast_1400K (1400 Kbps)
    av350pal: Profile_AudioVideo_Broadband_PAL_384K (350 Kbps)
    av700pal: Profile_AudioVideo_NearBroadcast_PAL_700K (700 Kbps)
    av100_2p: Profile_AudioVideo_LAN_100K_2Pass (100 Kbps)
    av350_2p: Profile_AudioVideo_LANDSL_384K_2Pass (350 Kbps)
    av600vbr: Profile_AudioVideo_FilmVBR_600K (600 Kbps)
    avq97vbr: Profile_AudioVideo_FilmVBR_Quality97 (Quality 97)

Audio-only:
    a20_1: Profile_AudioOnly_FMRadioMono_28K (20 Kbps)
    a20_2: Profile_AudioOnly_FMRadioStereo_28K (20 Kbps)
    a32: Profile_AudioOnly_Modem_56K (32 Kbps)
    a48: Profile_AudioOnly_NearCDQuality_48K (48 Kbps)
    a64: Profile_AudioOnly_CDQuality_64K (64 Kbps)
    a96: Profile_AudioOnly_CDAudiophileQuality_96K (96 Kbps)
    a128: Profile_AudioOnly_CDAudiophileQuality_128K (128 Kbps)

Video-only:
    v20: Profile_VideoOnly_Modem_28K (20 Kbps)
    v32: Profile_VideoOnly_Modem_56K (32 Kbps)

[-loadprofile] <profile file name>
    Specifies a Windows Media Encoder or custom profile to use.
End example

I used the AVI and MPEG-1 movies from the prior example as the source movies for Example 2, but this time I converted them to WM9 format using a built-in profile. You can use your own custom profiles (created in the WM9 Encoder) here as well. The steps are:

  1. Create the source and target folders (in this case, C:\MEDIA\SOURCE and C:\ MEDIA\TARGET).

  2. Deposit the source files in the source folder.

  3. Open a command line window by clicking the Start button, then clicking Run, then typing cmd in the Run window, and then clicking OK.

  4. Navigate in the command window to \WMEncSDK9\Samples\vb\wmcmd, or wherever WMCMD.VBS was deposited when you installed the SDK.

  5. Assuming you are in the correct folder in the command window, key in the following character string: cscript wmcmd.vbs -input "c:\media\source" -output "c:\ media\target" profile av700 (see Figure 8.4).

    Click To expand
    Figure 8.4: Ready to execute profile batch processing.

  6. Press the Enter key to start the process.

While the encoding engine takes care of business, check the progress in the command window as shown in Figure 8.5.

Click To expand
Figure 8.5: Interim and final encoding statistics.

When the work is complete, audit the statistics in the command window, and then play the converted movies in the TARGET folder to make sure the performance is acceptable.

Example 3: Cropping and Extracting a Video Segment

Listing 8.5 shows some other interesting powers of WMCMD.VBS from the Help doc. This final WM9 Encoder SDK example operates on just one source file, but it extracts a segment from it and crops eight pixels off of each of all four sides before writing out the target file.

Listing 8.5: Input, Output, and Statistical Parameters
Start example
[-v_codec] <codec index>
    Video codec to be used. Use -v_codecs to list available video codecs.
    Specify codec index:
       WMV7: Windows Media Video 7.
       WMV8: Windows Media Video 8.1.
       WMV9: Windows Media Video 9 (default).
       WMS9: Windows Media Video Screen 9.
       MP41: ISO MPEG-4 Video v1
       UNCOMP: Full frames (uncompressed)
[-v_width] <width>
     Video frame width in pixels to be encoded. Default: Source video width.
[-v_height] <height>
    Video frame height in pixels to be encoded. Default: Source video height.
[-v_framerate] <rate>
    Video frame rate in floating point to be encoded. Default: 30 fps.
[-v_keydist] <time>
Key frame distance in seconds for video. Default: 10 seconds.

[-v_clip] <left> <top> <right> <bottom>
    The region of the image (with respect to source) to be clipped/encoded.
    If the right is 0 or greater than width, it is ignored and re-assigned
    to width. If the bottom is 0 or greater than height, it is ignored and
    re-assigned to height.
[-v_mode] <mode number>
    Video encoding to be used.
    0: 1-pass CBR (default).
    1: 2-pass CBR.
    2: Quality-based VBR.
    3: Bit rate-based VBR (two-pass).
    4: Peak bit rate-based VBR (two-pass).
[-v_bitrate] <bit rate>
    Video bit rate in bits per second to be encoded. Default: 250000 bps.
    Set this to 0 for audio-only coding.
End example

The initial steps are similar to the prior two examples, but in this case we are just working with a single source file:

  1. Create the source and target folders (in this case C:\MEDIA\SOURCE and C:\ MEDIA\TARGET).

  2. Deposit the source file in the source folder.

  3. Open a command line window by clicking the Start button, then clicking Run, then typing cmd in the Run window, and then clicking OK.

  4. Navigate in the command window to \WMEncSDK9\Samples\vb\wmcmd, or wherever WMCMD.VBS was deposited when you installed the SDK.

  5. Key in the following character string: cscript wmcmd.vbs -input "c:\media\ source\source.avi" -output "c:\media\target" -v_bitrate 1000000 -v_clip 8 8 8 8 -time 10000 20000 (see Figure 8.6).

    Click To expand
    Figure 8.6: Ready to execute cropping/segmenting script.

  6. Press the Enter key to start the process.

The resulting clip in the TARGET folder should be a 10-second movie starting 10 seconds into the original. The new video image size should be 304×224 pixels.

If you develop trusty parameter lists to use with WMCMD.VBS, I recommend putting everything in .cmd files to execute from the command line (assuming you are in the same folder, and in a command window, as the file WMCMD.VBS). Doing this also assumes your source and target folders will remain constant, which is a fair assumption for a WM9 production machine.

You can create such CMD files with Windows Notepad, but make sure to save them with the extension .cmd. Here are the contents of a file named PROFILE_AV700.CMD that uses the profile shown in Example 2: cscript wmcmd.vbs –input "c:\media\source" –output "c:\media\target" –profile av700.


Programming the WM9 Server

Because this book is not aimed exclusively at professional programmers, it was hard to find a meaningful set of examples for this section of the SDK chapter that you could copy from these pages to your local computer, execute, and see the results immediately. The problem is compounded by the fact that the Server/Services SDK is not as readily exploitable as the Player and Encoder SDKs. In other words, while the Windows Media Services 9 SDK is offered for free (as part of the Platform SDK) at http://www.microsoft.com/msdownload/platformsdk/sdkupdate/, the WM9 Server is not. As noted in Chapter 1, the WM9 Server is included on Microsoft's so-called Platform CDs, available from the company on a paid subscription basis, as part of their overall server infrastructure.

Consequently, the approach I'll take here is to describe what I think are the important new features of the WM9 Services SDK and show code fragments where appropriate. As usual, the MSDN section of the Microsoft web site is loaded with detailed documentation and code listings for professional developers who have invested in the WM9 Server plus Visual Studio and are ready to write VB, C++, and C# programs to customize WM9 Server behavior. Again, to be clear, WM9 Server (unlike prior versions) in now part of the new Windows Server 2003 universe—formerly known as .NET Server. You can still post WM9 movies on web servers (such as IIS) for progressive download, but WM9 media streaming requires the WM9 Server.

Overview

Here is what Microsoft says are the important new features of Windows Media Services 9, based on literature at their site as of this writing:

  • A new object model improves your ability to programmatically control, configure, and monitor a Windows Media server.

  • More plug-in types have been added, and you can customize more server functionality by creating your own plug-ins.

  • Server-side playlists give you more control over the content streamed by the server.

  • Publishing point functionality has been expanded.

  • Event access has been redesigned, and the number of available events has been increased.

Let's look at each of these in detail. Most of what follows is quoted directly from the Microsoft web site.

Expanded Object Model

The architecture of the Windows Media Services SDK has been modified, and all of the interfaces that enable you to control, configure, and monitor a Windows Media server have been grouped together in a new server object model. Here's a Visual Basic .NET example (partial) that shows how to control and monitor client connections [see Listing 8.6].

Listing 8.6: Partial VB .NET Example for Controlling Client Connections
Start example
Imports Microsoft.WindowsMediaServices.Interop
Imports System.Runtime.InteropServices

' Declare variables.
Dim Server As WMSServer
Dim strURL As String
Dim strName As String
Dim strIP As String
Dim lValue As Long
Dim lTotalODStreams As Long
Dim lTotalPPStreams As Long
Dim i, j As Integer

Try
    ' Create the WMSServer object.
    Server = New WMSServer()

    ' Process each connected client.
    For i = 0 To Server.Players.Count - 1
        ' Retrieve the client ID number.
        lValue = Server.Players.Item(i).ID

        ' Retrieve the client user name.
        strName = Server.Players.Item(i).UserName

        ' Retrieve the client requested URL.
        strURL = Server.Players.Item(i).RequestedURL

        ' Retrieve the client IP address.
        strIP = Server.Players.Item(i).NetworkAddress

        ' If the client's IP address is within a
        ' certain range, disconnect the client.
        If (InStr(strIP, "128.65.23.") > 0) Then
            Server.Players.Remove(i)
        End If

        ' Check the client status and remove any idle clients.
        If (Server.Players.Item(i).Status = WMS_CLIENT_STATUS.WMS_CLIENT_DISCONNECTED) Then
        ' TODO: Handle disconnected clients.
        ElseIf (Server.Players.Item(i).Status = WMS_CLIENT_STATUS.WMS_CLIENT_IDLE) Then
        Server.Players.Remove(i)
        ElseIf (Server.Players.Item(i).Status = WMS_CLIENT_STATUS.WMS_CLIENT_OPEN) Then
        ' TODO: Handle open clients.
        ElseIf (Server.Players.Item(i).Status = WMS_CLIENT_STATUS.WMS_CLIENT_STREAMING) Then
        ' TODO: Handle streaming clients.
        End If
    Next

    ' Count the total outgoing distribution connections
    ' actually streaming.
    For i = 0 To Server.OutgoingDistributionConnections.Count - 1
        If (Server.OutgoingDistributionConnections.Item(i).Status = _
        WMS_CLIENT_STATUS.WMS_CLIENT_STREAMING) Then
            lTotalODStreams = lTotalODStreams + 1
        End If
    Next

    ' Count the total publishing points currently
    ' streaming content.
    For i = 0 To Server.PublishingPoints.Count - 1

        ' Check each client's status to see if
        ' it is currently streaming content.
        For j = 0 To Server.PublishingPoints.Item(i).Players.Count - 1

                           If (Server.PublishingPoints.Item(i).Players.Item(j).Status  =
WMS_CLIENT_STATUS.WMS_CLIENT_STREAMING) Then
        lTotalPPStreams = lTotalPPStreams + 1
                Exit For
            End If
        Next
    Next

Catch errCom As COMException
    ' TODO: Handle COM exceptions.
Catch err As Exception
    ' TODO: Exception handler goes here.
Finally
    ' TODO: Clean-up code goes here.
End Try
End example

Expanded Use of Plug-ins

You must use plug-ins to control basic server functionality and to read and write digital media content. The only plug-ins included in Windows Media Services version 4.0 were authentication plug-ins and event notification and authorization plug-ins. The new Windows Media Services supports the following plug-in categories:

  • Authentication plug-ins identify clients.

  • Authorization plug-ins authorize client access to digital content.

  • Cache proxy plug-ins specify policies that are used by the server to cache and proxy content. The server supports but does not include a cache proxy plug-in.

  • Control protocol plug-ins interpret client requests to the server and server responses to the client.

  • Data sink plug-ins write content to specific locations such as a file, a network, a device, or some other resource.

  • Data source plug-ins retrieve binary data from a source such as a file, a network, or Windows Media Encoder.

  • Event notification plug-ins react to event notices raised by the server in response to server or client activity.

  • Logging plug-ins are specialized event notification plug-ins that write client and server information to a log file.

  • Media parser plug-ins interpret and packetize the digital data retrieved by a data source plug-in.

  • Playlist parser plug-ins create playlist objects in memory. These objects are used by the server to determine what content to send to a client.

Expanded Playlist Management

You can use server-side playlists to control which media elements are streamed to a client, and you can use the server object model to control a playlist dynamically. For example, your programs can use the Windows Media Services SDK to:

  • Load a playlist into memory.

  • Insert media elements into a playlist.

  • Remove media elements from a playlist.

  • Create a wrapper playlist and wrap requested content with additional media files, such as advertisements, that must be viewed whenever a client connects to a broadcast.

  • Use Active Server Pages (ASP) to personalize a playlist for a specific client or group of clients.

  • Switch control between media elements in response to an event notice.

  • Send event notices to a playlist.

  • Nest one playlist inside of another.

Expanded Use of Publishing Points

Windows Media 9 Services expands on the basic functionality of the publishing points provided in the previous release. Stations and programs are no longer needed. All streams are now managed through either broadcast or on-demand publishing points. You can use the Windows Media Services SDK to control and configure a publishing point programmatically. For example, you can:

  • Enable client connections to a publishing point.

  • Specify a password and user name that can be used during authentication.

  • Enable a wrapper playlist for a publishing point and specify a path to it.

  • Specify the name of a publishing point and a path to the content.

  • Retrieve a collection of authentication plug-ins.

  • Retrieve publishing point counters.

  • Create an XML file containing publishing point configuration data.

  • Enable a broadcast publishing point to start when the first client connects.

  • Enable an on-demand publishing point to cache content.

  • Retrieve the names of the media files that make up a multicast broadcast.

  • Retrieve counters that identify current and peak publishing point activity, and publishing point limits.

Expanded Event Monitoring

In Windows Media 9 Services, event access has been redesigned, the number of available events increased, and the information contained in each event expanded. You can use interfaces provided by the Windows Media Services SDK to receive event notifications for server, publishing point, limit change, limit hit, plug-in, and playlist events.

You can also use Windows Management Instrumentation (WMI) to receive the same event notices externally. WMI provides a generic way to manipulate objects locally and remotely using a single, extensible, object-oriented interface. You can query for events for virtually any change in the managed objects and, through the flexible WMI architecture, define what action, if any, to take when an event is received. The WMS WMI Event Handler Plug-in enables Windows Media Services to generate WMI events. It registers itself as an event provider with WMI.

The WMS Active Script Handler Plug-in enables you to write a script that can act as an event notification and authorization plug-in. Any scripting language that supports Microsoft Active Scripting technology, such as Microsoft JScript, Microsoft Visual Basic Scripting Edition, or Perl, can be used. For example, you can customize the server response to internal events, authorization events, or basic plug-in actions such as enabling or disabling a Pocket PC plug-in.


Chapter 9: Making DVD Movies with WM9 and MS Movie Maker 2

Overview

There is no shortage of sources available for learning how to use Movie Maker, the free Microsoft NLE available for download at http://www.microsoft.com/windowsxp/moviemaker/default.asp. So why, despite Version 2's rich feature set, does the product still seem a bit stigmatized? Maybe because it's free, or that it only works with Windows XP, or because the marketing and collateral materials make it seem limited to home movie production.

It's a rhetorical question, but most potential users still don't appreciate what this program can do for desktop video professionals, especially if they're looking for a short list of tools capable of producing high-quality DVDs. Just to be clear: Movie Maker can't burn DVDs directly yet, but you can use it in conjunction with a couple of dedicated DVD authoring programs that I'll preview. When the coming breed of DVD players is finally able to play WM9 files natively using HighMAT, all you'll need is Movie Maker itself and a DVD burner.

The goal of this chapter is to illustrate and recommend efficient production workflow based on the strengths of Windows Media 9, Movie Maker 2, and Ulead's excellent DVD authoring tool, DVD Workshop 1.3. I'll assume you have installed WM9 and Movie Maker 2, if not DVD Workshop. A detailed tutorial is presented, based on a project I did for a client to convince them to move from CD-ROM delivery on the desktop to DVD delivery on a television set or a computer—both of which are greatly facilitated by WM9.

Note

Chapter 4 shows how to use Movie Maker for basic media wrangling chores, as opposed to editing tasks.

Following the tutorial is a discussion of what I consider Movie Maker 2's basic strengths in terms of actually using it in production.


System Requirements

Several applications are discussed in this chapter, each with its own system requirements. We've already covered the conditions for good WM9 performance, so here are the specs for the other components.

Movie Maker 2

Minimum Computer Requirements

  • Microsoft Windows XP Home Edition or Windows XP Professional

  • A 600 megahertz (MHz) processor, such as a Pentium III, AMD Athlon, or equivalent processor

  • 128 MB of RAM

  • 2 GB of free hard disk space

  • An audio capture device (to capture audio from external sources)

  • A DV or analog video capture device (to capture video from external sources)

  • An Internet connection (to save and send a movie to the Web or to send a movie as an email attachment)

Recommended Computer Requirements

  • 1.5 GHz processor, such as a Pentium 4, an AMD Athlon XP 1500+

  • 512 MB of RAM

Requirements for video capture

  • If you have a digital video (DV) camera, you'll need either an IEEE 1394 card or an analog video capture card. IEEE 1394 is recommended for the best quality results.

  • If you have an analog video camera or a VCR, you will need to have an analog video capture card.

Ulead DVD Workshop

  • Microsoft Windows 98, 98SE, ME, 2000, XP

  • Intel Pentium III 450 MHz or higher (700 MHz or higher recommended)

  • 64 MB of RAM (128 or more recommended)

  • 150 MB of available hard disk space for program installation

  • 4 GB+ hard disk space for video capture and converting

  • Windows-compatible display with at least 800×600 resolution

  • Windows-compatible mouse or pointing device

  • Windows-compatible sound card

    Note

    More Reqs: Please check Ulead's web site for a detailed listing of system requirements.

Other DVD Authoring Tools

While I currently prefer DVD Workshop, there are several other highly regarded DVD authoring tools well worth looking into:

  • DVD Architect (http://www.sonicfoundry.com)

  • Easy CD & DVD Creator (http://www.roxio.com)

  • Impression DVD-Pro (http://www.pinnaclesys.com)

  • MyDVD (http://www.mydvd.com)


Production Workflow: Movie Maker + DVD Workshop

This example is based on a project I did to persuade a client to start thinking about delivering product endorsement videos on DVD (for TV playback using an inexpensive DVD player) as opposed to on CD-ROM (mainly for laptop demos and sales calls). Of course, viewers of the videos could also play the DVDs on their modern desktop and laptop computers.

I had archived the original media as 2-megabit 720×480 WM9 files, which had been cropped and scaled down to 320×240 for the earlier CD-ROM job. Final video formats in that earlier case were WM7, QuickTime (Sorenson), and MPEG-1. End users were expected to have a preferred browser/plug-in/media player installed on their systems. Recommendations were made in a readme file included on the CD.

Project Goals and Setup

Because the main content files (four of them) are already edited, we won't need to do any editing in this example, though we will add titles. More importantly, we'll export the media to a video format—DV-AVI—usable by the DVD authoring program. This step is necessary as long as our DVD authoring program cannot import WM9 files. Fortunately, the authoring process is straightforward, as you'll see. If you want to follow along with the exercise, you'll need four relatively uncompressed 720×480 WM9 files.

The goals here are:

  • Use Movie Maker to create four titled DV-AVI clips suitable for inclusion in a DVD-authoring project.

  • Use Ulead DVD Workshop to author a DVD-ROM containing four chapters based on the four imported DV-AVI movies created in Movie Maker.

  • Test the authored DVD on a consumer-electronics-class DVD player (attached to a TV) and a DVD drive on a computer, for quality assurance.

Step One: Movie Maker Production (Windows XP)

  1. Click Start, then All Programs, and then Windows Movie Maker to get to the main interface (see Figure 9.1).

    Click To expand
    Figure 9.1: Movie Maker's main user interface.

    The pane on the left has three items: Video Effects, Video Transitions, and Collections. Collections holds the video clips, photos, audio clips, and title screens that comprise specific projects. You can add content to a collection by dragging and dropping from a Windows folder/file tree, using Import in the File menu, or by capturing new audio, video, or still images.

  2. Right-click Collections to create a new one. Name it DVD Project.

  3. Having created a collection, we'll now add our WM9 source files to it, either by dragging and dropping or using Import in the File menu (see Figure 9.2). The steps that follow should be repeated for each of our four WM9 source files.

    Click To expand
    Figure 9.2: A simple collection ready for action.

    Note

    Edit Modes: Movie Maker has two edit modes: Timeline and Storyboard. Storyboard provides a thumbnail view of your movie's content (see Figure 9.3). Most people seem to prefer the timeline, which gives you more flexibility in layout and fine-tuning. You can toggle between these modes by clicking the filmstrip icon to the right of the DVD Project button in the control bar above the Timeline/Storyboard area (at the bottom of the screen).

    Click To expand
    Figure 9.3: Movie Maker in Storyboard mode.

  4. Toggle to Timeline mode, if you're not there already; then drag and drop the video in the DVD Project collection onto the timeline (see Figure 9.4).

    Click To expand
    Figure 9.4: The first video clip inserted in the timeline.

    The video and audio tracks should position themselves automatically flush left. Note the little triangles at each end of the clip. Dragging these will change the duration of the clip by cutting frames in the direction of the drag. If you had more video clips, audio clips, or still images in your collection for this project, you would add them the same way. For now we're working on the first of four single video clips.

    Note

    Automatic Transition: If you overlap two clips in the timeline, Movie Maker will automatically create a transition (a fade) between them. The more the overlap, the slower the fade. You can do the same thing with audio clips, but they will both play at half volume during the overlap period (as opposed to fading). If you need to adjust the volume of an audio track, right-click it in the timeline, and then click the volume item in the menu that pops up (see Figure 9.5).

    Figure 9.5: Adjusting volume of an audio track

  5. Adjust the track's volume as needed.

  6. To add a title, first select the clip in the timeline. Click Titles and Credits in the Tools menu to evoke the Title menu, as shown in Figure 9.6. From this menu, select title on the selected clip.

    Click To expand
    Figure 9.6: Movie Maker Title menu.

  7. In the title text entry pane (see Figure 9.7), key in the text DVD Project Title in the upper box and any subtitle text you wish in the lower box.

    Click To expand
    Figure 9.7: Entering title and subtitle text.

  8. Leave the lower box blank for now, but note that anything you key in will be automatically shown in the preview window to the right of the title entry pane.

    The default title color/font is an off-white Microsoft Sans Serif. The default effect is a four-second fade-in, fade-out. These and other properties are easily customized (see Figure 9.8), but for now we'll stick with the defaults.

    Click To expand
    Figure 9.8: Customizing title properties

  9. Click Done, add title to movie to proceed. You should now see the title overlay on the Movie Maker timeline under the audio track.

  10. To make the movie, click File>Save Movie File to invoke the Save Movie Wizard shown in Figure 9.9. Because our goal is to make a DVD from this movie, we'll choose My Computer as the output destination. Select it and click Next. Fill in the file name and path for your saved movie in the next panel; then click Next.

    Click To expand
    Figure 9.9: Save Movie wizard.

  11. In the Movie Setting panel, click Show more choices; then check the button for Other settings. From the dropdown list (shown in Figure 9.10), select DV-AVI. This selection is key for making a DVD successfully in this tutorial. Click Next.

    Click To expand
    Figure 9.10: Setting the movie output format.

    The Saving Movie panel will display with a progress bar and minutes remaining while the new DV-AVI movie is being encoded.

  12. Click Finish when the process is complete; then save the project and exit Movie Maker.

  13. If you wish, you can test-play the movie by navigating to the folder in which you saved it.

    As noted on page 190, repeat this entire process (steps 4–13) for each of the movies in the project—in this case, four.

Step Two – DVD Workshop Production

Now for the DVD authoring process using Ulead DVD Workshop 1.3. This product has received favorable reviews from major publications and other DVD producers whom I asked. The latest version, featured here, includes support for Dolby AC-3 audio. Full pricing and availability data is available at the company's web site (http://www.ulead.com). It's not cheap, but it does a great job at a fair price. We'll use the four AVI movies produced with Movie Maker 2 to learn how to use it:

  1. Assuming you've installed DVD Workshop 1.3 successfully, launch it from the Start menu to arrive at the main UI shown in Figure 9.11.

    Click To expand
    Figure 9.11: DVD Workshop's main UI.

    This UI is so easy to use it almost seems difficult at first. But trust me—it's almost as good as Toast used to be. I recommend exploring all the menus and options in the UI following this simple tutorial.

  2. Click New Project to get started.

  3. In the New Project dialog, key in DVD Project 1 as the project name.

  4. Select DVD as the media type.

  5. Browse to the folder you want to hold the project components, include any desired descriptive data, and then click OK.

    You should now see the project work area shown in Figure 9.12. If you get an error message about your video capture device, ignore it for now, and then make sure Playback mode (as opposed to Capture mode) is selected in the left menu bar. Notice the horizontal main menu at the top: Start, Capture, Edit, Menu, and Finish. You can navigate freely among these tabs during project production—up until you start the burn.

    Click To expand
    Figure 9.12: Initial project work area (Capture mode).

  6. Click Edit to get to the screen shown in Figure 9.13.

    Click To expand
    Figure 9.13: Edit work area.

    If you wanted to begin a DVD Workshop project requiring video capture—as opposed to working with existing video clips—you would start in Capture mode.

  7. To add video clips to a DVD Workshop project, right-click in the Video – General pane (at the lower left) and select Import. When the Load Video File dialog pop ups (see Figure 9.14), select the four AVI movies produced with Movie Maker 2. These files will now be shown in the Video – General pane.

    Click To expand
    Figure 9.14: Load Video File dialog.

    Here's where it's so easy it can seem confusing (at first). You'll see two red on black boxes in the horizontal storyboard editor at the bottom of the UI. The first one has the label First Play and the text Drop video or image clip here. The second is labeled New Title with the same text as the first. The idea is that the First Play box is where you deposit the media presented to users when they put the DVD in their DVD players. This can be a menu (discussed shortly), a still image, or a video clip. The New Title box is where you drop video clips from the media bin (Video – General). Each time you drop a clip from the media bin on the New Title box the New Title box moves to the right. In other words, it is just a placeholder guide, and you can't get rid of it.

    You should also see two default items in the current media bin: NTSC MPEG2 and PAL MPEG2. When you drag a clip to the First Play box, the first frame will be displayed in the big preview window (see Figure 9.15). You can watch the clip by clicking the Play button in the control panel just under the preview window.

    Click To expand
    Figure 9.15: Previewing the First Play clip

  8. Drag the NTSC item to the First Play box. If you have a short custom clip (720×480) you'd rather use here, by all means do so.

  9. Now drop each of the four AVI clips, in turn, on the New Title box.

    The result should look like Figure 9.16. (Note the New Title box still to the right of the fourth AVI clip.) In this case, the order isn't critical because we're going to create a menu. Without a menu, the storyboard sequencing determines the play order of the clips on the DVD (assuming you haven't changed the default properties of the clips in the storyboard). Right-click a clip to view its properties.

    Click To expand
    Figure 9.16: All clips inserted in the timeline.

  10. Now let's add a menu. Click the Menu tab in the main menu at the top of the screen to invoke the Create New Menu panel (see Figure 9.17).

    Click To expand
    Figure 9.17: Creating a new menu.

  11. Check the Select a type of menu to create option, and the Menu Wizard option under that; then click Next.

  12. In the Select Title panel, you'll see a list of all the clips in the storyboard timeline. Click the Select All button and then click Next.

  13. In the Select Menu Template panel, select a four-chapter template.

    As you can see in Figure 9.18, there are various ways to customize here, including background images and music, etc., but we'll stick with defaults to save time and keep focused.

    Click To expand
    Figure 9.18: Selecting a menu template.

  14. Drag over the text "My Title" at the top of the template and replace it with "DVD Project 1" or whatever title text you prefer. Then do the same for the text under each of the four chapter icons. Click Finish.

    Your customized menu template will now appear in the preview window, and you'll notice a new tab on the storyboard timeline at the bottom (see Figure 9.19). This tab lets you see and edit all menus added to your project. Clicking the other tab shows the Title List, i.e., your sequenced clip collection.

    Click To expand
    Figure 9.19: Project ready for rendering.

  15. Click the Finish tab in the main menu (at the top of the screen) to invoke the pane shown in Figure 9.20.

    Click To expand
    Figure 9.20: Preview and Burning area.

    From here you can preview and burn your DVD, save the project, or go back and edit the project using the other tabs at the top of the screen. Don't feel hemmed in at this point. One of the best features of DVD Workshop is that you can rearrange things as much as you want, preview the performance of the actual DVD, and then go back and reedit until you're completely happy with the overall presentation. Then you can do the actual burn. I'd recommend at least one preview at this point, including testing all the active buttons in the simulated remote panel.

  16. If you are happy with this simple demo project, click the Make Disc icon to see the quality options (see Figure 9.21). Select the option labeled High Quality (VBR Video, AC-3 Audio), assuming you have the AC-3 Audio upgrade from Ulead. If not, choose the highest quality setting that makes sense for your project.

    Click To expand
    Figure 9.21: Presentation quality options.

  17. In the Make Disc panel (see Figure 9.22), set the Volume name to DVDProject1 (no spaces) and check the boxes for Create DVD directory, Create disc image map, and

    Click To expand
    Figure 9.22: Finally ready to burn.

    Record to disc. Leave all the other controls as is for now, but make sure the box is checked for Enable buffer under run protection.

  18. Put a blank DVD in the burner, if there's not one there already. Click the Start button to commence burning the DVD.

    I used a 4.7-gig TDK DVD-R in a Toshiba DVD-RW drive to test this tutorial. Burning around 2 gigs worth of media on my 2-GHz/P4 HP reference machine took about an hour, but the resulting DVD disc played well on a Panasonic portable DVD player, a Toshiba rack-mounted DVD player, and in the DVD drives of several desktop and laptop computers.

Features Worth Noting

Plenty of Wizards

Almost every complex task in Movie Maker 2 can be accomplished (until you have enough experience to customize such tasks) with a wizard. Detractors say these wizards and some of the other help text often seem cutesy and condescending, but they do save time in the beginning. Capture, editing, exportation, and effects processing can all be done with wizards if you wish.

AutoMovie

Experienced digital media editors usually roll their eyes at anything that claims to automate the creative process, but they sometimes confess to experimenting with such tools "just to get ideas," especially if they feel stuck or momentarily uninspired. New users seem to embrace this idea much faster, because it gets them immersed in production workflow and familiar with media output sooner than later. Movie Maker's AutoMovie feature analyzes the footage placed on the timeline then creates an automatically edited version based on image and soundtrack changes. You specify a particular style (Old Movie, Music Video, etc.), and Movie Maker does the rest (see Figure 9.24). Probably not for digital storytellers, but perhaps ideal for people with way too much vacation footage.

Decent Effects

Along with a good assortment of standard effects and transitions, Movie Maker 2 was complemented early in 2003 with Plus! Effects & Transitions for Movie Maker 2. You get this when you purchase Microsoft Plus! DME (Digital Media Edition) at their site. According to Microsoft:

With Plus! Effects & Transitions for Movie Maker 2, you get 25 new amazing video effects and 25 new video transitions for Microsoft Windows Movie Maker 2. You can use Plus! video effects to add exotic colors, vivid streaks and spots, wild textures, and more to your Windows Movie Maker 2 videos and pictures.

You can see examples of movies made with these effects if you explore the Movie Maker area of the Microsoft site. Understand that not all of these effects (such as Film Grain) are as good as their counterparts in high-end NLEs, but for desktop video per se they are generally acceptable.

Single Frame Exportation

This has always been a valuable feature in any NLE, and even some high-end products made it difficult (like having to copy the desired movie frame to the clipboard first). All you need to do in Movie Maker is advance the preview to the desired frame, click Tools>Take Picture from Preview, and then decide where to save the resulting JPEG file (see Figure 9.23).

Click To expand
Figure 9.23: Movie Maker's AutoMovie facility.
Click To expand
Figure 9.24: Saving a JPEG file from a video clip.

Programmatic Interface

I'll quote again from the Microsoft web site:

Microsoft Windows Movie Maker 2.0 enables programmers to load their own custom effects and transitions into the Windows Movie Maker interface. These effects or transitions can be as simple as a modification of an existing effect or transition, or as complex as a custom-coded Microsoft DirectX Transform object. This article includes three main topics about creating your own effects or transitions. In order from simplest to most complex, they are:

  • Creating Windows Movie Maker Effects and Transitions in XML. This is a fairly simple task that requires only a text editor and a basic understanding of XML (see Listing 9.1).

  • Adding Custom Icons to Windows Movie Maker. This is a slightly more complex topic that requires the knowledge of how to compile a C++ project using Microsoft Visual Studio, and the ability to use any graphics software needed to make custom icons.

  • Creating New Transition and Effect Objects. This requires knowledge of COM and ATL programming, DirectX Transforms and Direct3D architecture.

Before starting any projects based on these APIs, please check the Microsoft site for a full list of requirements and limitations, especially concerning the technology implied in the last bullet. This feature is likely beyond the interest and ability of most desktop videographers, but it does underscore the investment Microsoft has made in Movie Maker specifically and Windows Media 9 Series overall.

Listing 9.1: Listing XML code for one transition (Flip Right) and one effect (Sepia).
Start example
<TransitionsAndEffects Version="1.0">
   <Transitions>
      <TransitionDLL guid="{C63344D8-70D3-4032-9B32-7A3CAD5091A5}">
         <Transition nameID="62800" iconid="91" comment="Flip, right">
            <Param name="InternalName" value="Simple3D" />
            <Param name="RevolveCamera" value="true" />
            <Param name="ShowAFront" value="true" />
            <Param name="ShowABack" value="false" />
            <Param name="ShowBFront" value="false" />
            <Param name="ShowBBack" value="true" />
         </Transition>
         ...
      </TransitionDLL>
      ...
   </Transitions>
   <Effects>
      <EffectDLL guid="{B4DC8DD9-2CC1-4081-9B2B-20D7030234EF}">
         <Effect nameID="62863" iconid="25" comment="Sepia tone">
            <Param name="InternalName" value="Standard" />
            <Param name="Desaturate" value="true" />
            <Param name="Red" value="0.10" />
            <Param name="Magenta" value="0.09" />
            <Param name="Yellow" value="0.25" />
            <Param name="contrast" value="1.0" />
         </Effect>
         ...
      </EffectDLL>
      ...
   </Effects>
</TransitionsAndEffects>
End example


Chapter 10: WM9 with Third-Party Nonlinear Editors

Highlights

As noted in the Introduction, one of the best new features of Windows Media 9 (not available in prior versions) is that you can edit and transcode WM9 video files—specifically with non-Microsoft programs. Anyone who's used Adobe Premiere or Ulead's MediaStudio (among others) in the last few years knows this issue all too well. Sure, you can save into Windows Media format from most major NLEs—but just try importing a WM7 file into your Premiere project. No way, San José.

As it turns out, this was due to licensing issues (as opposed to technical difficulties), and the dilemma was not limited just to NLEs. Media wranglers trying to convert WMV to Real, WMV to QuickTime, or even Real to WMV using dedicated transcoder programs had the same problem. Yes, Real played the game too: one story I heard claimed that Real required a fee in the low eight figures from anyone whose application needed to decode .rm files. Now, finally, the wall is coming down, at least on the Windows Media side.

As of this writing, Adobe and its competitors are still working with Microsoft to finalize the technology that will allow their products to import and re-encode Windows Media 9 files. This process is taking a bit longer than expected, but it is happening. One company, however, Sonic Foundry (http://www.sonicfoundry.com) has released an NLE that imports WM9 files: Vegas 4. You might already know this company if you use Sound Forge, Sonic's de facto standard for audio editing. After a Vegas/WM9 tutorial, I'll present a short interview with Paul Lundahl of eMotion studios concerning the future of desktop NLEs and high-definition video.


Vegas Product Overview

Sonic Foundry offers at its web site the following product description (see Figure 10.1 for a visual depiction of the UI).

Click To expand
Figure 10.1: A composite view of Vegas 4's user interface.

Vegas 4.0 sets a new standard for professional multimedia production. Apply high-quality transitions, filters, credit rolls and text animations; create sophisticated composites, keyframe track motion and pan/crop, all with unlimited tracks and unsurpassed flexibility. Vegas 4.0 provides real-time previewing of effects and transitions from the timeline without needing to render. Perform advanced color correction and scene matching using three-wheel primary as well as secondary color correction filters. Precisely view video levels using new video scopes including Waveform, Vectorscope, Parade, and Histogram monitors.

Vegas 4.0 also provides the ultimate in audio flexibility, including unlimited tracks, 24-bit/96kHz audio support, record input monitoring, effects automation, time compress/expand, and much more. Vegas 4.0 ships with over 30 studio-quality real-time DirectX® effects including, EQ, reverb, noise gate, time compress/expand and delay. Vegas 4.0 is ideal for digital video production, TV soundtracks, web content creation, radio and broadcast, and mixing 5.1 surround soundtracks.

Sonic also sells a less expensive, stripped-down version of Vegas named Video Factory (currently at version 2.0) that does not yet work with WM9 but is worth looking at. Here's their summary:

VideoFactory allows you to capture and edit digital video on your PC. It's perfect for home movies, web videos, music videos, weddings, corporate presentations and much, much more. VideoFactory provides a straightforward, easy-to-use interface that will have you creating videos in minutes. Its diverse feature set is based on the same technology used in Vegas and includes a number of ease of use enhancements that will make video editing easier than ever. VideoFactory includes precise editing, titling, cool effects and transitions.

In my opinion, Vegas—especially Version 4—is an impressive piece of software. It is no secret that Sonic's high command has strong ties to Microsoft, and it shows in how well their products exploit Windows Media as well as the OS. (There is no Mac version.) The deeper you get into the UI, the richer and more intuitive it becomes. Special thanks to Tim Tully at http://www.universedvd.com for his expert help in designing the tutorial.

Minimum System Requirements

Minimum Vegas 4 system requirements are:

  • 400 MHz processor

  • Windows-compatible sound card

  • Supported CD-Recordable drive (for CD burning only)

  • OHCI-compliant IEEE-1394/DV capture card (for DV capture and print-to-tape tools only)

  • 128 MB RAM

  • 30 MB hard-disk space for program installation

  • Microsoft® Windows® 98SE, Me, 2000, or XP

  • Microsoft DirectX® 8 or later

  • Internet Explorer 5.0 or later

  • ASIO compatible sound card (for record input monitoring only)

  • Microsoft .NET framework or Windows XP (for application scripting only)

Like most cases where minimum requirements are listed by the manufacturer, you should be prepared to give your system substantially more power in terms of chip speed, RAM, and hard drive capacity than what the vendor specifies, especially if you want to do serious production. Also, please refer to the company's web site for changes to this list before buying a system based on any of the particulars. The tutorial presented here was executed on my HP reference machine—2 GHz P4, 512 MB RAM, 60-gig hard drive—with no aggravation. Granted, this is a relatively simple project.

For the record, I was able to import WM9 and WM8 files (but not WM7 files) in various test projects using Vegas 4.


WM9 files in a Vegas 4 Project

If you have successfully installed Vegas 4 and launched it from the Windows Start menu, your screen should look similar to Figure 10.2. The goals of this tutorial are:

  • Open a new project.

  • Import a couple of existing WM9 clips encoded at various compression levels.

    Tip

    Multiple Selections: You can multiple-select all desired files in a folder by clicking on each one while holding down the Control key.
    Tip

    Custom bins: After you click Open, the Media Pool tab will be selected (beneath the media bins tree). You can create custom media bins for new projects by right-clicking the Media Bins folder icon—just as your Vegas-enhanced intuition might suggest.

  • Lay out these clips on the Vegas timeline.

  • Apply a transition.

  • Add a title.

  • Output the project as a freshly encoded, full-screen (640×80) WMV file playable with the WM9 Player.

Click To expand
Figure 10.2: Starting a new Vegas project.

Commentary is provided in each step, if it makes sense, for overall WM9 context. I also point out valuable or otherwise interesting features of Vegas, where appropriate.

  1. Click Import Media in the File menu and navigate to the folder containing your video files (see Figure 10.3).

    Click To expand
    Figure 10.3: Importing media files into the project.

    I'll assume you'll put all your video files for simple projects in a single folder, as I've done here.

  2. Select all desired files and click the Open button.

    Both of your selected WM9 clips should now be displayed alphabetically in the All Media media bin (see Figure 10.4) in the lower left area of your screen. This alone should feel like a major breakthrough if you've never been able to import a compressed Windows Media file into anything except Microsoft Movie Maker.

    Click To expand
    Figure 10.4: Clips ready for action in the Vegas Media Bin.

  3. To put a clip on the Vegas timeline, either drag it there or double-click its icon in a media bin.

    Figure 10.5 shows the result of double-clicking the two clips from left to right. If you're unfamiliar with the Vegas UI, things can get confusing from this point until you learn your way around either by trial and error or by following a more formal curriculum. IMHO, it is well worth your time to do so if you've got a complex project to execute, but for now we'll keep it simple in order to achieve the goals of this tutorial.

    Click To expand
    Figure 10.5: Clips ready for action in the Vegas Timeline.

    Note

    Media Bin: In more complex projects, a double-clicked item in the Media Bin will appear on the timeline wherever the blinking cursor line is located. Also note that, if you click the Explorer tab (near the Media Pool tab), you'll see a navigable file system tree, from which you can drag clips to the timeline without first placing them in a media bin.

    To add a simple transition between our two clips, we need to do several things.

  4. First, click the small three-box icon at the bottom left of the light-blue track control panel for track 1 (just to the left of the track 1 data).

    If you mouse-over this icon, you'll see a tag that says Expand Track Layers. Track 1 will split into A and B layers with a transition layer (X) between them (see Figure 10.6). You might want to save your project at this point by clicking File>Save As in the Vegas main menu.

    Click To expand
    Figure 10.6: Expanded track 1 view.

    Note

    Dragging along: The related audio data will move with the dragged video data.

  5. Drag the track 1B video data a little ways to the left so that the some of its initial frames are under the ending frames in track 1A.

    You'll see a greyed area of the X track corresponding to the overlapped data in the A and B tracks (see Figure 10.7). This is the area where we'll apply a specific transition type.

    Click To expand
    Figure 10.7: Creating a transition area.

  6. Right-click the grey transition area to see a popup menu with three choices: Fade Type, Transition, and Transition Properties. Click Transition to see the richer menu shown in Figure 10.8.

    Click To expand
    Figure 10.8: Specifying a transition type.

  7. The default transition is a simple crossfade, but we'll click Insert Sonic Foundry Dissolve just for variety.

    As suggested by the other items in the last menu, this is just scratching the surface of the transitions and other types of effects you can do in Vegas 4. Click View>Transitions in the main menu for a peek at what else is available. Even if you're a seasoned NLE professional, you won't be disappointed.

    Click To expand
    Figure 10.9: Previewing a transition.

  8. Save your project.

    You can easily preview a newly created transition (or any part of the Vegas timeline) by dragging in the grey area above the track ruler (above track 1).

  9. Start dragging from just before the desired preview area to just after it. The selected preview area will be tinted light blue (see Figure 10.10).

    Click To expand
    Figure 10.10: Invoking the Vegas title track editor.

  10. Click the Play button in the row of controls at the bottom of the track stack for real-time rendering of your defined preview area. More Vegas magic, if you ask me.

Title

With a transition defined, let's now add a title.

  1. First, right-click the track 1 control panel; then click Insert Video Track.

  2. Right-click inside the new video track (at the top of the stack); then click Inset Text Media to invoke the Video Event FX window shown in Figure 10.10.

    Again, things can get confusing at first with so many options here, so we'll stick to basics.

  3. Drag on the Sample Text to select it all and change it to WM9 Project Title (or whatever title text you'd prefer).

    Note

    We are working under the Edit tab in this window.

  4. Adjust the font size as needed to make it all fit on one line, if necessary.

  5. Now click the Properties tab to see the controls shown in Figure 10.11.

    Click To expand
    Figure 10.11: Title track property controls.

    As you can see, there is a candy store here for customizing title text (check out the Effects tab later) but for now we just want to do one thing: superimpose our title on the initial frames of the video track.

  6. In the Text Color box, slide the R and G controls all the way to the right and the B control all the way to the left to get a nice bright shade of yellow for the title text.

  7. Move the checkerboard slider all the way to the top.

  8. In the Background Color box, leave the RGB sliders alone, but move the checker-board slider all the way to the bottom.

    This makes the background transparent (more Vegas magic) (see Figure 10.12). If your Preview window in the lower right area of your screen is set to Preview (Auto), you should see all these changes appear in real time if the timeline cursor is positioned over the title track data.

    Click To expand
    Figure 10.12: Making the title background transparent.

  9. Click the red and white X in the title bar to close the window. The title track as just defined should now be the new track 1 (see Figure 10.13).

    Click To expand
    Figure 10.13: The project ready for rendering.

  10. Save the project and get ready to render it.

Export the Timeline

So let's make our new movie (or export the timeline, as the process is now often called).

  1. Click File>Render As to pop up the Render As window shown in Figure 10.14. Because we want to make a full-screen movie (640×480) with a 2-megabit data rate, we'll need to create a custom template.

    Click To expand
    Figure 10.14: Setting the Vegas render properties.

  2. Click the Custom button to show the Custom Template panel (see Figure 10.15). In the Template edit field, key in "2 Mbps Video". Drop down the Video rendering quality control and choose Best.

    Click To expand
    Figure 10.15: Making a custom template for rendering.

  3. Click the Audio tab and select:

    Mode

    CBR

    Format

    Windows Media Audio 9

    Attributes

    64 kbps

    44 KHz

    stereo (A/V) CBR

  4. Click the Video tab and select:

    Mode

    CBR

    Frame rate

    30

    Format

    Windows Media Video 9

    Seconds per keyframe

    10

    Image Size

    Custom

    Quality

    100%

    Width

    640

    Height

    480

  5. Click the Bit rate tab and check only the box for Internet/LAN, but change the value to 2 M.

  6. No need to make any edits in the Index>Summary tab at this point. Click the OK button to return to the Render As window.

  7. Back in the Render As window:

    • Select a folder and file name for the new movie you are about to render.

    • Select Windows Media Video V9 (.wmv) in the Save as type control.

    • Make sure 2 Mbps Video is selected as the template.

    • Uncheck all four boxes at the bottom of this window.

  8. When all the controls are calibrated correctly, click the Save button.

A small window will appear with a progress bar and data detailing the elapsed and remaining time for the render. I'm told by Sonic Foundry that rendering in Vegas with WM9 takes longer than with WM7, but video quality is better. This project took just under 10 minutes to render on my HP reference machine using two full screen, 60-second WM9 files.

I believe this short tutorial proves how easy it is to use Windows Media files—specifically WM8 and WM9 clips, regardless of their compression quality—in an off-the-shelf desktop NLE. I hope that it also tempted you to invest some time in test-driving Vegas 4.0, if you're not a convert already (a demo version is available for download from the Sonic Foundry web site). Most of all it shows that you now can do what wasn't previously possible: edit compressed Windows media files with a third-party video editing application. For desktop producers in the trenches, this is big.


Integration Issues

As I worked on various WM9 projects with Vegas 4—importing and exporting WM9 video files—I started wondering about high-definition video production, considering that WM9 is now used for delivery of features such as Standing in the Shadow of Motown (covered later in this book). Assuming you could even capture and log the huge, high bit rate source files required for high-def, could a system like my HP reference machine and an NLE like Vegas 4 (or Final Cut Pro on the Mac) handle the storage and processing load? Perhaps not.

To get a better understanding of these and related issues, I called Paul Lundahl of eMotion studios (http://www.emotionstudios.com). Mr. Lundahl is an award-winning filmmaker and authority on high-definition video production, among other things (read his article for Film/Tape World on HD workflow at http://www.hdfilm-maker.com). He also contributed valuable information to my 1994 book How to Digitize Video. eMotion studios is one of the foremost high-def studios in the country, as you can see if you visit their web site and read their client list.

My interview with Mr. Lundahl is printed here, with my questions in italics. I also promised to mention Matt Silverman's lossless intermediary codec MicroCosm, which can take the place of Apple's QuickTime Animation codec (the current de facto standard across platforms for an intermediate codec, according to Mr. Lundahl). Go to http://www.digitalanarchy.com/da_html.html for further information (in the user tools section).

Models for High-Def Workflow

  • Q The more you get into this subject, the more general you need to be at the beginning. I'd like to keep Windows Media involved in the discussion, but there are bigger issues here than file formats—such as overall workflow and original content acquisition. Where do you start?

  • A It's always good to work backward from the final goal. What's interesting is that the final goals in this area are still being worked out by the people who just jumped into this stuff. On the corporate side, one clear objective is production of widescreen media that can be shown on big plasma screens at trade shows. We do other types of high-def work at eMotion, but the commercial area is where current quality expectations are being set. To get such beautiful results in the finished product, you often have to acquire media at even higher quality.

  • Q Just like in the CD-ROM days, but with much higher stakes. What are the current acquisition formats?

  • A It basically comes down to cameras. In the Sony world, for example, there are cameras such as the F900 ($80–90K) and F700 ($50–60K), which are based on HDCam. This is Sony's digital format that uses the same tape shell size as BetaCam SP. It's often used as an alternative to 35mm, although quality comparison are slippery. George Lucas used HDCam and allegedly recorded directly to hard drive. This would have given him a richer color space and avoided the telecine process later on. You can also preview your shots immediately and even do compositing right on the set if you shoot this way and you can afford it.

  • Q Is there an analogy here to the old days when people acquired in, say, Hi-8, then captured to hard drive, then brought the captured files into an NLE project? Will the Hi-Def workflow be to acquire digitally using HDCam equipment (with or without big fast hard drives), digitally downsample to an intermediate format with maybe a 5–10 megabit data rate—perhaps in Windows Media format—then load those intermediate files into a desktop NLE project for editing and final encoding?

    That's a reasonable analogy for the abstract workflow, but not with those specific pieces. I think Windows Media 9 will play an important role in the high-def future but mainly for delivery. On the workflow side, I don't have any knowledge yet as to how it's going to fit in, especially in terms of providing an intermediate format. Clearly intermediate files are going to be enormous in a high-def production environment, which is why I mentioned Matt Silverman's codec earlier, since it produces lossless files half the size of QuickTime's Animation codec in a 32-bit color space. If Windows Media 9 can do as good a job here, maybe it will become a new standard.

  • Q Getting back to the acquisition process, those Sony cameras you mentioned are expensive for most independent videographers.

    This can be a problem, but people are finding interesting ways around it. An extreme example is the movie Time Code. The director Mike Figgis shot in DVCam, and then composited the simultaneous stories into the four quadrants of a high-def frame.

    In our studio at eMotion we've been doing things like acquiring time-lapse sequences with digital still cameras at greater-than-HD resolution, then processing those time-lapse images into animation sequences. Some people have taken this further by shooting green-screen DV, then compositing the DV-resolution media onto still-image HD-resolution backgrounds. You can do all this with reasonably priced cameras and current desktop tools, but it's a layer-by-layer process and still cutting-edge at this point.

    Note

    Author's note: Unlike in the DVCam movie Full Frontal, which looked grainy on the big screen and even on DVD.

  • Q So if I have a complete collection of raw HD media, ready to make a movie, either shot with expensive HDCam equipment or resulting from a sophisticated rendering process like the one you just mentioned, what's the next step in the HD workflow? Do I now need to create intermediate files rich enough to edit and re-encode into my final HD movie but small enough in size not to overwhelm my existing system? Let's say I have a 2-gigahertz processor, a gig of RAM, several 80-gig hard drives and additional network storage over gigabit Ethernet.

    Not a bad system, but HD workflow is turning out to be a lot more like the offline/ online model in traditional film and video production than like new media desktop video and CD-ROM/DVD production. This is actually a very good thing for editors, even though it can seem like a step backward at first.

The New Offline/Online Process

  • Q That's quite a radical statement, especially for people who learned how to edit on desktop NLEs and are not even aware of the complexities of offline/online work-flow. Are you saying that intermediate media files will be eliminated?

It's only the model I'm talking about, not the actual production process, although there are some similar details. And no, intermediate files will not go away; they will just be used differently, as proxies as opposed to sources for final HD encoding. Here's a production scenario that we use at eMotion: We go out and shoot 1,080i, which is 1,920×1,080 pixels, interlaced, at a 29.97 frame rate. This is a perfectly acceptable spec for high-def, although certainly not the only format people use.

In fact, Sony has announced a super high-def format that they will probably show at NAB 2003, which contains the full 4-4-4 color space. Occasionally we acquire at 24p, which is progressive scan, has the same frame rate as film and looks more like film. 1,080i and 24p are HDCam formats, along with 25p, 30p, etc. Check the full list of supported HDCam frame rates at Sony's website (http://www.sonyusacinealta.com). Media acquired in 24p is recognized as a universal master format at this point, based on the similarity to the existing postproduction 35mm infrastructure.

Now we get in to the offline side of things. This means that we use our HD acquisition masters as sources to create down-rezzed proxies—normally through a digital tape deck as opposed to a computer. The resulting proxies have exactly the same time code as the HD masters but with less resolution and a more-compressed color space—and it's all still digital. We've chosen DVCam as our offline proxy format because of robust, reliable time code transfer and because I really like the tape-shell format, which is easy to store and carry around. This is different from some commercial shops which down-rez to digi-BetaCam and do the offlining on their Avids, which can make great-looking standard-rez previews or even final SD masters for their clients.

After extensive logging off of the DVCam proxy tapes, we download the selected clips from tape to my NLE machine's hard drive. Again, the original time codes are preserved and I have the freedom of working when and where I want without having to drag around the original HD masters, which can be safely stored in a vault somewhere. I am glossing over some important elements in describing this overall process, such as whether to squeeze, center-crop, or letter-box your HD footage during the transfer to DVCam, but they are tangential to the basic workflow model I've described so far.

The main thing to remember is that this is offline/online thinking—not CD-ROM/ MPEG-1 or DVD/standard-def thinking. As long as my NLE can export an EDL reflecting all my work, I can effectively edit HD on a powerful-enough laptop—like the PowerBook I've been editing with all over the world for the last few years.

NLE Project Files Rule

  • Q I'm finally getting it. Does this mean that the $500 desktop NLEs of today won't need to change very much to edit HD? I understand that they won't be operating directly on the master HD media files, but will the exported EDLs resulting from cutting and creating effects on a desktop NLE be reliably transmitted to the equipment used in the HD online process (see Figure 10.16)?

    Click To expand
    Figure 10.16: Possible HD/NLE production workflow.

    It's going to come down to the project files created by these desktop NLEs and their future versions. The EDL file format is actually pretty old and relatively limited by today's standards. For instance, doing 99 layers wasn't an option in the tools that used EDLs 30 years ago, even though it was supported by the early versions of Adobe Premiere.

    Also, what we really want to avoid is having to spend $800 per hour at an online studio entering effect and layering instructions manually that didn't convert properly from the project file to the EDL. When standardized desktop NLE projects can talk directly and reliably to HD online equipment, we'll have finally arrived at the next level. If they can play nicely with other NLEs, the NLEs that made them will do well in the market, all other things being equal. Unfortunately, while efforts are being made by the major companies in this field, not much progress has been made. Then again, project file design is a highly complex task and hard to standardize even by one manufacturer.

    I happen to use and respect Final Cut Pro because it does everything I need in this area so far, but I expect that Adobe, Avid, and the other major players will upgrade their products to work well in this new environment. A company called Automatic Duck (http://www.automaticduck.com) makes a plug-in that lets you export a Final Cut Pro timeline to a project readable by AfterEffects, and maybe this will be a way to share project data in the short term—on the way to a universal interchange format.

  • Q Getting back to Windows Media 9, do you think it will play a role in this HD offline/online model for desktop NLEs or will it only be meaningful in terms of a delivery for HD-quality content?

I think that Windows Media 9 might be a good format for the versions of the media transcoded from the proxies and edited directly by your desktop NLE, but this would add an extra step unless you were unable to transfer the proxies directly to your hard drive. Could it eventually be used as the format for the low-resolution proxy files for editing and replace, say, DVCam? I'm not sure. As long as it contains reliable time code and the reel numbers that match your HD source tapes, it could work fine.

Remember that even though the HD media format is digital, the media itself is going to be stored on tape for the foreseeable future—as opposed to on optical media or on hard drive. It's just cheaper, and it's proven itself reliable. A $60 HDCam tape holds 40 minutes of HDCam footage. 40 minutes of HDCam footage is roughly 320 gigabytes of data. As soon as hard drives cost $60 that can hold 320 gigs and deliver it at 160 megs per second, we might all switch over to hard drive from tape.

All this being said, I think Windows Media 9 looks like an excellent format for final delivery of HD-quality content—especially if it can do so at the bit rate currently used for standard-definition DVD content.


Chapter 11: Using WM9 with SnapStream Personal Video Station

Highlights

In the June 2002 issue of DV Magazine I covered Personal Video Recorders (PVRs) in general and, specifically, a software-only Windows Media PVR named Snap-Stream (http://www.snapstream.com). The version I tested back then was 1.0. Currently the product is at Version 3 and is optimized to work with and otherwise exploit Windows Media 9 Series. I am covering it again here because I think it is an excellent vehicle for bringing WM9 to the attention of digital home theater enthusiasts, if not plain old TV junkies.

I installed SnapStream 3 on my HP reference box along with a Hauppauge WinTV tuner card with excellent results. For the record, I had to remove the Osprey 540 video capture card before I could complete a successful hardware setup. According to SnapStream tech support, there are driver issues that prevent this card (and possibly similar devices) from coexisting with the Hauppauge WinTV card, at least as of this writing. SnapStream recommends the Hauppauge product line and bundles their hardware. If you go with one of these boards, make sure to download the latest drivers from http://www.hauppauge.com.

If you're a TiVo convert like me, you'll appreciate the marriage of SnapStream and WM9. The SnapStream UI has a TiVo-like navigation mode that takes over the screen and makes you forget you're working on a Windows machine (see Figure 11.1). The SnapStream Program Guide has an easier-to-use search feature than TiVo and is also easily programmable if you know the time and channel of the program you want to record (or for which you want a season pass). All this convenience is not free, but it is not expensive. SnapStream has a number of pricing models available at their site. You can download the software or get it bundled with a tuner card and cables shipped to you in a box. If you want to do all this on a laptop, there are USB and PC card tuners out there, but I recommend a PCI tuner card in a minitower desktop machine for overall reliable performance, especially at video capture time.

Click To expand
Figure 11.1: SnapStream's TiVo-esque User Interface.

The thing I like most about SnapStream—from a Windows Media perspective—is that it gives me direct access to the recorded media, e.g., TV shows and broadcast movies. Only serious Linux hackers know how to get MPEG-2 files off of TiVo boxes, and even then there can be playback issues, depending your installed MPEG-2 decoder(s). If I record an episode of The Shield with SnapStream, I can burn that WM9 video file to a CD or DVD-ROM and take it with me to watch on the plane on my laptop. If a friend forgets to tape that episode, I can send them a silver disc or FTP the WM9 file to them, complete with commercials, for their private viewing pleasure. The rest of this chapter describes how to use SnapStream to enhance your WM9-enabled world.


Product Overview

The following bullet list is taken from the SnapStream site at http://www.snapstream.com/products/sspvs. When I have comments, they follow in the serif font. Note that comparisons are made just to TiVo, as opposed to other hardware PVR products such as Replay, which may have more Web functionality but substantially less market share. Please remember to check the SnapStream site for updates to this list and the system requirements prior to procuring any of their software.

  • Never miss your favorite TV shows again: record all of your favorite TV shows on your computer and watch them when you, your family, and your friends have time.

    This is also known as time-shifting, which is exactly the point. Like TiVo, it also lets you easily pause live TV.

  • Integrated Program Guide: Just point and click and record your favorite TV shows and movies.

    This feature works as advertised, arguably better than TiVo (if you have broadband) because it gets the program guide data over your fast Web connection as opposed to your dial-up phone line.

  • Control from anywhere: add and edit recordings using the web-based interface— from work or from another country!

    Unlike TiVo, as of this writing.

  • Take it on the road: Move your favorite TV shows to your Pocket PC hand-held or your laptop and enjoy them while you travel.

    Very unlike Tivo, and the main reason for including this chapter.

  • Watch videos anywhere: with the built-in streaming server watch videos over the home network or the Internet.

    An excellent feature theoretically but depends on your personal quality standards and LAN/WAN performance criteria.

  • Import other video files into SnapStream PVS and then access them anywhere over the home network (AVI, MPEG-1).

    Not quite a wasted miracle for serious WM9 Encoder users, very useful in some circumstances.

  • Getting started wizard: makes it easy to configure your audio and video and start recording TV!

  • Advanced scheduler: record your favorite television show weekly, daily, or every weekday.

    Good if you've never used a PVR, old hat for TiVo heads.

  • Windows XP support: advanced support for multiple users, parental control and other features under the next generation OS from Microsoft.

  • Home networking technologies such as 802.11b (wireless), HomePNA (home phone line), HomeRF (wireless), and Ethernet are supported by SnapStream PVS.

  • Extensive hardware support: chances are that we support your TV tuner card or video capture card. See the complete list of supported cards.

  • Store more TV shows with MPEG-4/Windows Media. Simply add a new hard drive for even more storage.

System Requirements

SnapStream lists the following system requirements on its site:

Minimum System Requirements

  • Windows 98/ME/2000/XP (Windows 95/NT not supported)

  • Pentium II 350

  • 2GB of hard drive space

  • Supported TV tuner card

Recommended

  • Pentium II 500 or better

    I believe you need at least a 1 GHz machine for decent overall performance. I seriously recommend at least a P3 2-gig processor if you want to play back full-screen video using Windows Media 9. My HP reference box has a 2-gig CPU and does this job adequately.

  • 10 GB or more of hard drive space

    I recommend at least 40 GB if you want a TiVo-like experience for daily recording. Early TiVo boxes had single 30-gig drives.

Optional

  • Internet access (Dial-up or Broadband)

    Broadband is necessary for retrieving big media files remotely, but not if you're just going to make CDs or DVDs for remote playback.

  • Home network (HomeRF, HomePNA, Wireless 802.11b, Ethernet)

    Again, an excellent feature theoretically but depends on your personal quality standards and LAN performance criteria.


Installation Issues

Despite some minor problems, my overall installation experience was generally positive. The biggest issues surfaced during tuner card setup (as noted previously), which came down to driver usage by conflicting PCI cards (the WinTV versus the Osprey 540). This can be frustrating if you are new to the pop-up error messages when installing new hardware which requires third-party Windows drivers, even in Windows XP. The best way to proceed if this happens—short of contacting Snap-Stream tech support—is to remove any video capture cards or media control devices along with their drivers (using the Add/Remove Hardware item in the Windows Control Panel).

Another temporary obstacle was my software firewall (McAfee) which prevented the SnapStream Program Guide from acquiring data until I turned the firewall off. Also, because SnapStream is browser-based, your firewall may block browser access to certain pages depending on your filter/security settings. This can be frustrating, especially if your firewall works fine otherwise and you take it for granted. After the Program Guide began working as advertised, I turned the firewall back on and configured it to work with SnapStream but still protect my system.

Despite these initial problems, I found the online SnapStream Help System to be one of the most useful and comprehensive setup support solutions I've used in a while (see Figure 11.2).

Click To expand
Figure 11.2: SnapStream's on-line help system.


Configuration Details

Once SnapStream is successfully installed, you'll want to calibrate it for optimal performance in connection with Windows Media 9 Series.

  1. On the local home page (see Figure 11.3), click Configure from the Personal Video Station menu in the upper left corner.

    Click To expand
    Figure 11.3: SnapStream's home page.

  2. On the Configure page (see Figure 11.4), click Recording Settings.

    Click To expand
    Figure 11.4: SnapStream's Main Configure menu.

    Note

    Profile: For Recording Profile, you will start out working with the Default Video Profile. Changes to the rest of the settings on this page will be become part of the Default Video Profile (or whatever custom profile you create and choose to edit) when you click Save Changes at the bottom of this page.

  3. In the Audio/Video Section, you can select particular settings for your audio and video hardware (see Figure 11.5). Most if not all of these will be set during Snap-Stream installation, but you can modify them here if necessary. Make sure to check the Show Advanced Settings to get the whole story. Use DirectShow in the Capture Interface box if your system supports it.

    Click To expand
    Figure 11.5: Audio/Video settings for editing a recording profile.

    In the Tuning Settings Section (see Figure 11.6), you can edit your video broadcast source, channel lineup, tuning interface, and country code. It is interesting to explore these options, but be careful not to save any changes (unless you are you are troubleshooting actual performance problems) if your system is already working correctly.

    Click To expand
    Figure 11.6: Tuning settings, editing a recording profile

  4. For the video folder, I recommend creating a dedicated folder on a large hard drive (at least 40 gigs). You can do this by clicking Create New Video Folder. This will take you to the page shown in Figure 11.7. There are some valuable options here, as you can see (allocating minimum/maximum disk space, streamlining the path to the video folder, etc.).

    Click To expand
    Figure 11.7: Creating a new video folder.

  5. For file format, select Windows Media (default).

  6. Now the fun part: setting the WM9 video quality. In the Default Quality item, click Edit Qualities List.

You'll now see the Quality Profiles list shown in Figure 11.8. These profiles are based on WM9's built-in profiles but not identical.

Click To expand
Figure 11.8: SnapStream Video Quality Profiles.

The following steps are based on my own experimentation running SnapStream 3 with Windows Media 9 on my HP reference machine (P4/2GHz, 512 MB RAM, 40-gig hard drive). My goal is to record video that plays back full-screen on my computer monitor that looks as good or better than television. Therefore, the two Quality Profiles I'll work with here are VHS and Near DVD.

SnapStream VHS Quality

  1. Click the Edit link for the VHS menu item. The options on the Edit a Quality page should look familiar (see Figure 11.9). Now click the Switch to advanced mode link in the table header.

    Click To expand
    Figure 11.9: Editing the VHS Quality Profile.

  2. Because we are editing the VHS Quality Profile, we will favor settings that favor smoothness over clarity, though we will shoot for the best video and audio quality that makes sense. With this in mind, go ahead and execute the following calibrations:

    Audio Compression>Format

    Windows Media Audio 9

    Audio Parameters

    32 Kbps

    44 kHz

    mono (A/V) CBR

    Video Input

    Check the box opposite Use Output Settings

    Video Output Compression Format

    Windows Media Video 9

    Video Output Dimensions

    320×240

    Video Output Frames per second

    30.00

    Video Output Bitrates

    1,200,000 (1.2 megabits)

    Video Output Quality Scale

    50 (Note that this is the default.)[*]

    Video Output Encoding Window

    5,000

    Video Output Key Frame Interval

    4 (standard for WM9)

    Video Transformations Deinterlace

    Disabled (not really necessary for 320×240 captures, but you may want to experiment with turning it on)

    Video Transformations Inverse Telecine

    Disabled (not really necessary unless your captured content started out as film)

    [*]SnapStream advised me to use this carefully and set it near the high end only if playback on very powerful machines is planned. Setting it relatively low for day-to-day recording—especially when using WM9—will not adversely affect quality. Remember that this is an advanced mode parameter, but there's no reason not to experiment with it.

  3. When you're done, click the Save changes button at the bottom of the page, which will take you back to the Quality Profiles list.

  4. Now click Configure in the Personal Video Station menu in the upper left corner, and then click Recording Settings. Select VHS (the profile we just edited) as the Default Quality, and click Save changes. Seems complicated, but makes sense once you do it a few times.

  5. Ready for a live test? Click Configure in the Personal Video Station menu, and then click Diagnostics from the main Configure menu. On the diagnostics page (see Figure 11.10), click the Run Diagnostic Test link.

    Click To expand
    Figure 11.10: Beginning SnapStream Diagnostics.

  6. You'll now arrive at a page with a control for choosing a TV channel for the diagnostic run. Select a channel and click the Schedule Test button.

    This will take you back to the main Configure menu. If you now look at the status box at the lower left of your screen, you'll see that a one-minute diagnostic test has been scheduled.

  7. Wait for a minute or so, and then click the Watch link in the Personal Video Station menu. In the Watch menu (see Figure 11.11), you'll find your test capture ready for viewing.

    Click To expand
    Figure 11.11: Test capture file ready for viewing.

Double-clicking this item in the Watch list brings up the Windows Media Player, which will play the test capture at the last Video Size specified in the Media Player View menu (100%, 200%, Full Screen, etc.). You will also find it listed in the Video Library if you run SnapStream in the TiVo-like full-screen mode mentioned earlier in this chapter.

Note

Good Reality Check: Check the attributes of the movie file itself. When I got the properties of a test movie captured under the conditions described previously, the file size was reported to be approximately 8.5 megs. Doing the math (8,500,000 bytes × 8 /60) produces a bit rate of approximately 1.13 megabits per second, close enough to the 1.20 megabit data rate specified in the VHS quality profile.

I use the VHS profile as defined previously to encode hour-long television shows that fit onto a single CD-ROM (which now costs a about a quarter if purchased in volume). Again, do the math: 8.5 megs × 60 minutes = 510 megs. Playing such video on my P3 600MHz laptop at 200% native size (or full-screen) is still a perfectly good VHS experience. Burning eight or nine TV shows (assuming they're all 60 minutes in duration) onto a DVD-R (still about $3) also works, and may deliver better playback performance from the DVD as opposed to from a CD-ROM or even a laptop hard drive. A disc-burning app like Roxio will handle SnapStreamcreated WM9 files from your designated video folder just as if you encoded them with the Windows Media Encoder. Good as TiVo is, it still can't do this.

SnapStream Near DVD Quality

Now for even-higher stakes: full-screen, near DVD quality. On the Configure page (see Figure 11.4) click Recording Settings. Opposite the Default Quality item, click Edit Qualities List. You'll now see the Quality Profiles list shown in Figure 11.8. Click the Edit link for the Near DVD menu item to get to the Edit a Quality page (see Figure 11.12). Make sure to click the Switch to advanced mode link in the table header.

Click To expand
Figure 11.12: Editing the Near DVD Quality Profile.

Because we are now editing the Near DVD Quality Profile, we will favor settings that favor both smoothness and clarity. Here are the calibrations that work for playback on my HP reference machine:

Audio Compression/Format | Windows Media Audio 9 |  |
Audio Parameters | 64 Kbps | 44 kHz | stereo CBR
Video Input | Check the box opposite Use Output Settings |  |
Video Output Compression Format | Windows Media Video 9 |  |
Video Output Dimensions | 640×480 |  |
Video Output Frames per second | 30.00 |  |
Video Output Bitrates | 2,000,000 (2 megabits) |  |
Video Output Quality Scale | 1 (Note that 50 is the default.)[*] |  |
Video Output Encoding Window | 5,000 |  |
Video Output Key Frame Interval | 4 (standard for WM9) |  |
Video Transformations Deinterlace | Enabled (but feel free to experiment) |  |
Video Transformations Inverse Telecine | Disabled (not really necessary unless your captured content started out as film) |  |
[*]SnapStream advised me to use this carefully and set it near the high end only if playback on very powerful machines is planned. Setting it relatively low for day-to-day recording—especially when using WM9—will not adversely affect quality. Remember that while this is an advanced mode parameter, there's no reason not to experiment with it. I use 1 for recording at 2 megabits.

  8. When you're done, click the Save changes button at the bottom of the page, which will take you back to the Quality Profiles list.

  9. Click Configure in the Personal Video Station menu, and then click Recording Settings. Select Near DVD (the profile we just edited) as the Default Quality and click Save changes. Again, this workflow actually makes sense once you do it a few times.

  10. Ready for another live test? Click Configure in the Personal Video Station menu, and then click Diagnostics from the main Configure menu. On the diagnostics page (see Figure 11.10), click the Run Diagnostic Test link.

  11. As when testing the VHS profile, you'll arrive at a page with a control for choosing a TV channel for this diagnostic run. Select a channel and click the Schedule Test button. This will take you back to the main Configure menu. If you look at the status box at the lower left of your screen you'll see that a one-minute diagnostic test has been scheduled.

  12. Wait for a minute or so, and then click the Watch link in the Personal Video Station menu. In the Watch menu (see Figure 11.11), you'll find your test capture ready for viewing.

Double-clicking this item in the Watch list brings up the Windows Media Player, which will play the test capture at the last video size specified in the Media Player View menu (100%, 200%, Full Screen, etc.). You will also find it listed in the Video Library if you run SnapStream in the TiVo-like full-screen mode. When I got the properties of a test movie captured under the Near DVD conditions described previously, the file size was reported to be approximately 14 megs. Doing the math (14,000,000 bytes × 8/60) produces a bit rate of approximately 1.87 megabits per second, close enough to the 2-megabit data rate specified in the Near DVD quality profile.

I use the Near DVD profile as previously defined to encode television shows or televised movies that fit onto a DVD-R (14 megs × 120 minutes = 1.6 gigs) or that I expect to play back with a fast hard-drive and CPU, like the ones on my P4 2GHz reference box. For the record, rendering such rich media on my P3 600MHz laptop invites performance problems; playing back the same video encoded with the VHS profile does not. These are very general reference points, but they do help set expectations for these two distinct playback environments.

As noted, a DVD-writing app like Roxio will burn 2-megabit SnapStream-created WM9 files from your designated video folder just as if you processed them with the Windows Media Encoder (see Figure 11.13). I installed a Toshiba DVD burner on my HP reference machine just for this purpose. Again, good a PVR as TiVo may be, you still can't easily liberate its movies (yet).

Click To expand
Figure 11.13: Burning a DVD-R with SnapStream-created WM9 files.


Recording WM9 Video Files

Assuming you successfully executed the calibrations and diagnostics for the VHS and Near DVD quality profiles, you can now get right into SnapStream's main PVR functions. It should be said here that while the main purpose of this application (as I understand it) is to timeshift broadcast television, you can also use it as a general purpose media capture solution, just like the Windows Media Encoder. Hauppauge WinTV cards usually have composite video jacks next to their coax connectors, which means you can hook up a VCR or an analog camcorder and schedule recordings from those types of devices.

This being said, I would highly recommend a general philosophy of using the best tool available for any given job. In other words, choose SnapStream for encoding video you would otherwise capture with TiVo or a VCR, but use the Windows Media Encoder for grabbing video from local sources such as DVD players, VTRs, and digital video cameras.

Can equipment like the WinTV card be used by the Windows Media Encoder as well as SnapStream? Sure (see Figure 11.14), although output quality may vary for a number of reasons, not the least of which is that—depending on the quality of your TV service—analog television is generally not as clean as a video feed from, say, a consumer DVD player (especially over an S-video cable). More to the point, the Windows Media Encoder does not have a recording scheduler, which is SnapStream's main reason for living. It's not always easy to compare apples to apples in these types of discussions, but getting into them helps sort out the basic issues.

Click To expand
Figure 11.14: Using the Windows Media Encoder with Hauppauge's WinTV card.

In any case, recording with SnapStream comes in three basic flavors: immediate, individually scheduled and TiVo-style. Here's a brief recipe for each:

Immediate Recording

  1. Click Home in the Personal Video Station menu, and then click Record from the Home menu (see Figure 11.3).

  2. Click Record Now under Tasks in the left-hand menu column.

  3. On the Manually start a recording page (see Figure 11.15) adjust the available controls (Channel, Duration, Quality, etc.). Then click the Submit button.

    Click To expand
    Figure 11.15: Options available for manual recording.

  4. You'll be prompted that your immediate recording session will override any scheduled recordings. If this is acceptable, click the OK button.

    If manual recording starts successfully, you'll see a box on the Record page containing a confirmation message.

  5. To stop recording, click the Stop Recording link under Tasks in the left menu column.

Assuming success of this action, another message box will appear on the Record page with a confirmation that recording has stopped.

New Scheduled Recording

  1. Click Home in the Personal Video Station menu, and then click Record from the Home menu.

  2. Click New Recording under Tasks in the left menu column.

  3. On New recording page (see Figure 11.16). adjust the available controls (Frequency, Start Date, Start Time, Channel, Duration, Quality, etc.); then click the Submit button.

    Click To expand
    Figure 11.16: Options available for a new scheduled recording.

  4. You'll be prompted that your immediate recording session will override any scheduled recordings. If this is acceptable, click the OK button.

If there are no schedule conflicts, you'll see a box on the Record page containing a confirmation message that the recording has been successfully inserted in the Snap-Stream schedule.

TiVo-style Recording

This recipe begins with SnapStream running full-screen.

  1. Right-click the SnapStream icon in the system tray and select Enter Fullscreen Mode.

    You should next see the screen output show back in Figure 11.1. Remember that this is a keyboard-only user interface.

  2. While there is a Recording Manager option available, this is for existing scheduled recordings. Select Program Guide instead.

  3. Figure 11.17 shows the program lineup for the available stations. Using the key-board, navigate to a program you want to record and press the Enter key.

    Click To expand
    Figure 11.17: SnapStream Program Guide.

    A small menu will pop up giving you the option to list upcoming episodes (and record which ones you want), record the current episode only, record all episodes, or record just new episodes. Just like in TiVo.

  4. Press the Escape key to return to the main menu.

Explore the other items in the main menu at your leisure (Video Library, Live TV, Upcoming Recordings, etc.).


Other Capabilities

So far you've seen the side of SnapStream that captures and renders Windows Media 9 files using a PVR interface but leaves them available for enjoyment and delivery outside of SnapStream (if desired). We've barely touched on some of the other powerful features of this product, such as its video server functions, .NET connections, and its ability to transcode and import not only Windows Media files but AVI, MPEG, and other video formats (see Figure 11.18). This chapter is not long enough to cover these other capabilities in detail, but they are quite impressive and well worth exploring, especially the video server aspects, assuming you won't use SnapStream for daily media wrangling.

Click To expand
Figure 11.18: SnapStream's Import Show Function.

The role of the SnapStream Server is essentially to let you use and administer your SnapStream computer from anywhere on the Internet or your local network. If you wish, it can generate an HTML page showing all your available shows for either local or remote procurement. Operation is easy to configure and understand.

Note

Performance Note: I have found that sometimes movies seem a bit jerky in SnapStream full-screen mode. If I play the same movie full-screen in the WM9 MediaPlayer, the smoothness returns, assuming the data rate is reasonable.


Software versus Hardware PVRs

As of 2003, there is no shortage of PVR products, and new ones still coming, especially in the so-called home theater space. The Consumer Electronics Show (CES) in Las Vegas in January of 2003 was full of such hardware and software, but mostly hardware—especially set top boxes (like TiVo and Replay). While dedicated hardware solutions tend to be more foolproof than PC-based software solutions, I believe combinations of products such as SnapStream and Windows Media 9 open up real opportunities for technically adventurous users to create home theaters completely in software running on high-end PCs.

As I mentioned in my June 2002 column in DV Magazine, it is cheaper and easier to re-release downloadable programs that have been modified for legal compliance than it is to push out updated firmware or release brand new set-top boxes. Does this mean that SnapStream and similar software solutions will be successful? If they don't incur lawsuits by zapping commercials and promoting file sharing, I believe they have a real shot. Ultimately it depends on how fast home viewers in general migrate to watching TV on their home computers and home theaters powered by PCs running Windows Media.


Chapter 12: Producing WM9 Content for Handhelds

This chapter goes in a different direction than the rest of the book. Instead of describing ways to create and enjoy big beautiful WM9 movies on your home theater or desktop PC, we'll now look at how to optimize these activities for small-screen Pocket PC devices, such as the HP iPaq, Dell Axim, and Toshiba e Series. If you don't use a handheld device—specifically one that runs Pocket PC 2002 or later—you can skip this chapter altogether.

In the Pocket PC world, making Windows Media movies is just as important as understanding the OS, player, and hardware environments in which yourself and others will try to play those movies. Questions like, Is there enough Flash RAM on my device? How good is WiFi video streaming on a handheld? What type of removable storage is best for transferring files? are common. (SD, CF, Sony Memory Stick, Microdrive, etc., are common removable storage solutions.) I try to elaborate on these issues, if not solve them, at the end of this chapter.

Pocket PC 2002 Overview

First some background: Before Pocket PC, there was Windows CE, which went through several versions before strengthening its code base, cleaning up its UI, and changing its public name to Pocket PC 2000. Prior versions of Windows Media appeared on those tiny desktops, but now have so little in common with the current OS that they're hardly worth mentioning.

While Pocket PC 2002 was designed as an operating system for handheld computers, it has more in common with Windows XP than with Windows 2000 in terms of media playback, storage integration, and peripheral device compatibility. This makes sense, considering all the ways users hope to import and export data and connect external hardware to handheld devices.

Most handheld computers designed for Pocket PC 2002 now ship with that operating system installed, but you can also buy it separately. If you don't already use a handheld and are finally taking the plunge, expect to do a fair amount of research before feeling like an expert in this world—and, I hope, before making a purchase. I think the best place to start is http://www.microsoft.com/mobile/pocketpc.

Along with the OS, Microsoft has rolled out Pocket MS Office and other core applications for Pocket PC 2002. These so-called mobile apps include a version of the Windows Media Player that can play video clips encoded with the WM9 Encoder. This Player will likely be subject to various upgrades in the coming year or two, which could be slightly more painful than upgrading the standard WM9 player on a desktop XP or Windows 2000 machine, but ultimately will be worth the trouble.

Note

Upgrades: Some devices do not allow upgrading from Pocket PC 2000 to version 2002. Check with your device manufacturer.


Reliable Environments

As of this writing, the only environment for reliable playback of a WM9 movie on a handheld device includes the following components (see Figure 12.1):

Click To expand
Figure 12.1: Reliable environments for WM9 Playback on Pocket PC 2002 devices.

  • A recent Pocket PC 2002 device (such as the iPaq H3835 or Toshiba e740)

  • Microsoft Pocket PC 2002

  • The latest version of the Pocket PC Media Player (9.x or later). Version 8.5 does not support WM9 video content, although it does play WM9 audio data as high as 44KHz.

Note that, unlike on a desktop computer, a PPC device will not attempt to download the WM9 codecs if you try to play a WM9 media file without WM9 installed.

Looking back, any new version of the Media Player for Pocket PC seems to have been one step behind the latest desktop player in terms of media compatibility. In other words, the original Version 8 for Pocket PC 2002 could only play movies encoded with WM7 for Windows XP and 2000 and so forth. I believe this is on the verge of changing for the latest Pocket PC Player and Windows Media 9, but it may take a little while to stabilize completely. Again, you should do as much research as possible before investing in any new handheld device, including one on which you intend to play any type of media.

Uses for Video on Handheld Devices

Why would you want to make small-frame video clips for rendering on your Pocket PC device? According to Galan Bridgman, technical editor of this book, there are a number of scenarios that make sense for creation and playback:

  • Subjects that are of highly sentimental value, such as videos of your spouse or children.

  • Advertising videos, including movie trailers broadcast to movie theater customers standing in line trying to decide which movie to see.

  • Live TV, such as breaking news stories, received wirelessly while you are on the move.

  • Local informational videos, such as at a very large convention center, where you need help finding services, or locations, or features of the show you're attending.

This information is taken from one of Mr. Bridgman's excellent columns in the Expert Zone section at the Microsoft web site (http://www.microsoft.com/WindowsXP/expertzone). Frequent visits to these pages are well worth the effort, especially for learning what Galan has to say about all aspects of Windows Media and related Microsoft technologies, especially XP.


Production Recipes

If you've read this far, you must be looking for some examples of how to use existing tools to edit, encode, and otherwise create WM9 movies that will play on Pocket PC 2002 devices using the most recent Pocket PC Player. Two recipes are provided, each using a different production tool:

  • WM9 Encoder

  • Windows Movie Maker 2

These recipes are similar to production examples shown elsewhere in this book, but here they focus specifically on media creation for playback on Pocket PC devices. In other words, if this is your solitary production goal, this chapter is all you need.

Creating WM9 Pocket PC Movies with the WM9 Encoder

As noted, the WM9 Encoder is a free download from the Microsoft web site and a workhorse production tool for making WM9 movies of all types. One of its many virtues is complete operation with wizards, with high quality results.

  1. Assuming you have installed it successfully (covered in Chapter 2 on page 27) and have an existing video clip (say, MY_CLIP.WMV) to re-encode for Pocket PC playback, click the Windows Media Encoder icon in the Windows Start menu to launch the program and get to the New Session wizards (see Figure 12.2).

    Click To expand
    Figure 12.2: WM9 Encoder New Session window.

  2. Double-click the Convert a file icon to launch this wizard.

  3. The File Selection panel shown in Figure 12.3 requests names for the source and output files to be used in this operation. Browse to or key in the fully qualified path names for each, including the file name extensions (such as .wmv); then click Next.

    Click To expand
    Figure 12.3: Supply the Source and Output file names

    In the next panel, Content Distribution, you'll see the following list (shown also in Figure 12.4):

    Click To expand
    Figure 12.4: WM9 Encoder Content Distribution window

    • File download (computer playback)

    • Hardware devices (CD, DVD, portable)

    • Windows Media server (streaming)

    • Web server (progressive download)

    • Windows Media hardware profiles

    • Pocket PC

    • File archive

  4. Select Pocket PC and click Next to get to the Encoding Options window shown in Figure 12.5.

    Click To expand
    Figure 12.5: Encoding Options for Pocket PC Compression.

    You'll see two choices available in the dropdown Video menu: Pocket PC standard video (CBR) and Pocket PC widescreen video (CBR). If you haven't yet read any other chapters in this book, note that CBR stands for Constant Bit Rate.

  5. In the Audio dropdown menu, you'll find CD quality audio (CBR) and Voice quality audio (CBR). Choose the former for now, but test the latter when you get a chance for content that has speech without music.

  6. In the Bit rate control, you should see only one item: 259 Kbps, 20 fps, 208×160 pixels. Microsoft thinks those are good numbers for Pocket PC playback, and I'm not going to argue with them. Click Next. You should now be looking at the Display Information panel for supplying data such as title, author, and copyright holder (see Figure 12.6).

    Click To expand
    Figure 12.6: Enter Caption Information for Display during Media Playback.

  7. Enter the data you wish to have displayed in the Player caption line during playback; then click Next.

    The Settings Review window, next in this wizard, is self-explanatory. Put a check in the box labeled Begin converting when I click Finish if you want this to happen (but not this time).

  8. Now click Finish to go to the main WM9 Encoder UI, shown in Figure 12.7.

    Click To expand
    Figure 12.7: WM9 Encoder in Conversion Mode

    Drop down the View menu to see a list of the available panels, if you're curious.

    Note

    Deja Vu: You'll be familiar with this UI if you performed the exercises in Chapter 3. If you didn't, note that parts of the UI may be hidden because the Encoder is now in conversion mode (as opposed to Capture mode).

  9. Since we didn't tell the wizard to start the conversion in step 7, let's take a look at the details of what it's about to do. In the future, you can click the green Start Encoding button in the top toolbar if you're content to go with the default settings. Click Properties to show the Session Properties window (see Figure 12.8); then click the Compression tab. The Destination, Video, Audio, and Bit rates menus should reflect the choices you made earlier.

    Click To expand
    Figure 12.8: Session Properties for Conversion to Pocket PC format.

    Notice that the Two-pass encoding box is checked, which is standard for file conversion (as opposed to file capture). For the record, two-pass encoding is what makes variable bit rate (VBR) compression possible.

  10. Leave the Two-pass encoding box checked to make sure you get the best overall quality, and because it is a standard part of this wizard.

    Browse the rest of the tabs in the Session Properties window at your leisure. The only thing you might want to change is in the Video menu of the Processing tab (see Figure 12.9).

    Click To expand
    Figure 12.9: Calibrations for Inverse telecine and Deinterlacing.

  11. If the content presented in your video was originally shot on film, you should check Inverse telecine. If it was captured using a video card that allowed interlaced processing, you should check Deinterlace. These factors matter less in Pocket PC-size video than in home theater presentations; so leave None checked for now.

    In the Security tab you'll see options for enabling digital rights management (DRM), which you can ignore for now. Chapter 6 of this book is dedicated to WM9 DRM.

  12. When you're ready to proceed, close the Session Properties window and click the Start Encoding button. The WM9 Encoder will go to work and probably convert the source file in less time than it takes to play it, subject to the speed of your computer. When the operation is complete, you can check the data in the Encoding Results window for error listings (see Figure 12.8) and play the target file for a performance reality check.

    Click To expand
    Figure 12.10: Encoding Results from a Conversion to Pocket PC format.

    Moving this new Pocket PC video file to your handheld device depends on your file transfer setup, usually but not necessarily USB. High-end systems sometimes employ Ethernet, or you might just use Compact Flash if your WM9 Encoder machine has a CF adapter. You can always play the converted movie on your desktop (or laptop) in the standard WM9 Player, and there are some Pocket PC emulators available on the Web (search Google, for example, with the key words "Pocket PC video emulator") that provide an even better indication of how your movie will look and feel once you move it to your handheld hardware.

    The clip I produced when testing this tutorial had a file size of 6.8 MB based on a duration of approximately three and one-half minutes, which corresponds roughly with the requested data rate of 259 Kbps.

Creating WM9 Pocket PC Movies with Microsoft Movie Maker 2

Chapter 9 is about making full-screen movies with Movie Maker 2. It also briefly discusses how MM2 is currently positioned in the NLE market and what I feel are the strengths of this product. Chapter 4 has an example of how to use Movie Maker 2 for media wrangling, as opposed to more complex editing tasks. This chapter shows how to use the program to edit WM9 video specifically for Pocket PC playback. It's not radically different from the other recipes for big-screen clips, but it does make for a straightforward tutorial. We'll use a video from the Pocket PC Project Collection that we created earlier in this chapter.

  1. Assuming you've already installed Movie Maker 2, click Start, then All Programs, and then Windows Movie Maker, to get to the main interface (see Figure 12.11).

    Click To expand
    Figure 12.11: Movie Maker's main user interface.

    You'll see a pane on the left with three items: Video Effects, Video Transitions, and Collections. Collections holds the video clips, photos, audio clips, and title screens that comprise specific projects. Right-clicking Collections lets you create a new one. You can add content to a collection by dragging and dropping from a Windows folder/file tree, using Import in the File menu or by capturing new audio, video, or still images.

  2. For this example, first create a collection named Pocket PC Project and then import two WM9 source files (see Figure 12.12).

    Click To expand
    Figure 12.12: Simple collection ready for action.

    Note

    Edit Modes: Movie Maker has two edit modes: Timeline and Storyboard. Storyboard provides a thumbnail view of your movie's content (see Figure 12.13). Most people seem to prefer Timeline, which gives you more flexibility in layout and fine-tuning. You can toggle between these modes by clicking the filmstrip icon to the right of the Play Timeline button in the control bar above the Timeline/Storyboard area (at the bottom of the screen).

    Click To expand
    Figure 12.13: Movie Maker in Storyboard mode.

  3. Assuming you're now in Timeline mode, drag and drop the first video in the Pocket PC Project collection onto the timeline (see Figure 12.14).

    Click To expand
    Figure 12.14: First video clip inserted in the timeline.

    The video and audio tracks should position themselves automatically flush left. Note the little triangles at each end of the clip. Dragging these will change the duration of the clip by cutting frames in the direction of the drag. Now drag and drop the second video in the Pocket PC Project collection onto the timeline, where it will line up against the end of the first clip.

    Tip

    Automatic Transition: If you overlap two clips in the timeline (by dragging one on top of the other) Movie Maker will automatically create a transition (a fade) between them. The more the overlap, the slower the fade. You can do the same thing with audio clips, but they will both play at half volume during the overlap period (as opposed to fading). A rich selection of transitions is available (look in the Tools menu) but this shows you some basic physics of the Movie Maker 2 timeline. If you need to adjust the volume of an audio track, right-click it in the timeline, and then click the volume item in the menu that pops up (see Figure 12.15). Adjust the track's volume as needed.

    Figure 12.15: Adjusting the volume of an audio track.

  4. To add a title, click Titles and Credits in the Tools menu. The title menu will appear, as shown in Figure 12.16. Select the clip in the timeline, and then select title on the selected clip.

    Click To expand
    Figure 12.16: Movie Maker Title menu.

  5. In the title text entry pane (see Figure 12.17), key in the text Pocket PC Project Title in the upper box and any subtitle text you wish in the lower box.

    Click To expand
    Figure 12.17: Enter the title and subtitle text.

    The default title color/font is an off-white Microsoft Sans Serif. The default effect is a four-second fade-in, fade-out. All title properties are easily customized (see Figure 12.18), but for now we'll stick with the defaults.

    Click To expand
    Figure 12.18: Customizing title properties.

    Tip

    Big Words for Small Screens: Leave the lower box blank for now, but anything you key in is automatically shown in the preview window to the right of the title entry pane. Short extra-large titles are clearly a good idea for small-screen Pocket PC clips.

  6. Click Done, add title to movie to proceed. You should now see the title overlay on the Movie Maker timeline under the audio track.

  7. To make the movie, click File>Save Movie File to invoke the Save Movie wizard shown in Figure 12.19.

    Click To expand
    Figure 12.19: Save Movie Wizard.

  8. Because our goal is to make a Pocket PC movie, choose My Computer as the output destination. Select it and click Next. Fill in the file name and path for your saved movie in the next panel; then click Next.

  9. In the Movie Setting panel, click Show more choices, and then check the button for Other settings. From the dropdown list (shown in Figure 12.13) select Video for Pocket PC (218 kbps). Click Next.

  10. The Saving Movie panel will display with a progress bar and minutes remaining while the new Pocket PC movie is being encoded. Click Finish when the process is complete; then save the project and exit Movie Maker.

  11. If you wish, test-play the movie by navigating to the folder in which you saved it.

Click To expand
Figure 12.20: Setting the movie output format.

Creating WM9 Pocket PC Movies with SnapStream

The previous chapter featured a product named SnapStream PVS (Personal Video Station). This impressive software brings TiVo-like functionality to your WM9-equipped PC, along with the ability to separate the content from the system, unlike TiVo. In other words, if you record a TV show, for example, with SnapStream, you can copy that WM9 content file—of the TV show—to another device and enjoy it when and where you want using the WM9 Player (or any system that plays WM9 media).

SnapStream also has a companion product: PocketPVS. This application converts files created with the main program into files encoded specifically for Pocket PC playback. It also lets you synchronize your Pocket PC device with the main Snap-Stream computer for unattended conversion when the main unit isn't busy recording shows. According to the company, system requirements are:

  • A desktop computer with a tuner card running SnapStream PVS

  • SnapStream's PocketPVS module

  • A PocketPC (HP, Compaq, Casio) with the Windows Media Player (WM9, in this case)

If your Pocket PC device can play WM9 video files, you may want to try PocketPVS (see Figure 12.21), assuming you are already invested in SnapStream PVS. Full details on all Snap-Stream products are available at http://www.snapstream.com.

Figure 12.21: SnapStream PocketPVS content on a Pocket PC device.


Playback Environments

At the start of this chapter, I mentioned that anticipating possible playback environments for Pocket PC video clips is almost as important as the editing and encoding process. Even high-end handhelds have limited RAM and expansion options when it comes to holding movie files more than a few minutes in duration. Maybe you'll only want to view movies like Galan's previous examples, but how soon before your appetite includes longer-form WM9 video?

One way around this, of course, is through removable RAM (Compact Flash, Secure Digital, Sony Memory Sticks, etc.) and external storage devices connected by Firewire and PCMCIA cards (a.k.a. PC cards). Another is to use network streaming—again perhaps with a PCMCIA NIC. All of these options are expensive, however, and sometimes involve unforeseen technical problems such as mismatched power requirements in certain types of adapters (CF to PCMCIA, for example) and device driver support.

Still, if you can justify investing in a 4-gigabyte CF chip or a PC card that connects to a portable CD-ROM drive, you'll be able to watch full-length features on your high-end handheld (see Figure 12.22). Just don't expect your clients, friends, or the world at large to easily duplicate your custom solutions without similar investments of their own.

Click To expand
Figure 12.22: Connecting a portable CD/ DVD ROM Player to a Handheld Device

Also, don't expect to enjoy good full-screen performance just by hooking your handheld up to a big external monitor or projector. In other words, movies created for handheld presentation at resolutions such as 208×160 pixels will play natively at those dimensions on a CRT or laptop screen—and will look way too grainy if zoomed to full screen or even 640×480. Yes, you can play a 640×480 movie on a Pocket PC 2002 handheld (assuming the CPU can handle the scaling chores and still deliver smooth performance), but then you really will need serious storage for a 60–120 minute feature.

Clearly there are substantial technical issues involved in trying to use a Pocket PC 2002 device in place of a desktop or a laptop for presenting—not to mention enjoying—WM9 content. (The good news is that WM9 audio has far fewer handheld issues.) Following are current specs for a few of the more popular Pocket PC 2002 handhelds. The point is to show the similarities in CPU Speed, ROM, RAM, and external connectivity. Other good products are available from companies such as NEC, ViewSonic, and Audio Vox, but all have similar specs, depending on price.

Because this is one of the most volatile areas of PC computing, always check the web sites of the hardware manufacturers and call their product support people before spending any money, especially if you're going to use third-party adapters.

HP iPaq h5450 (Figure 12.23)

  • Specs

  • CPU: 400 MHz

  • ROM: 48 MB (upgradable)

  • RAM: 64 MB (expandable)

  • Extra Storage Ports: PCMCIA slot, SD/MMC card slot, no Compact Flash slot

    Click To expand
    Figure 12.23: High-end iPaq h5450 ($699)

Toshiba e370 (Figure 12.24)

  • Specs

  • CPU: 400 MHz

  • ROM: 32 MB (upgradable)

  • RAM: 64 MB (expandable)

  • Extra Storage Ports: SD card slot, Compact Flash slot, no PCMCIA slot

    Figure 12.24: Slightly less Toshiba e740 ($599)

Dell Axim (Figure 12.25)

  • Specs

  • CPU: 400 MHz

  • ROM: 48 MB (upgradable)

  • RAM: 64 MB (expandable)

  • Extra Storage Ports: SD/MMC card slot, Compact Flash slot, no PCMCIA slot

    Figure 12.25: Affordable Dell Axim X5 ($299)


Chapter 13: WM9 Audio Techniques

While the general subject of the book is video, there are too many new and useful audio features in Windows Media 9 Series not to break them out separately and discuss their applications and implications. Microsoft's emphasis when promoting WM9 audio seems to be on the WM9 Player itself—as opposed to audio production environments—which is certainly understandable. But I'd like to showcase four basic workflow techniques that I use on a day-to-day basis.

Some depend on WM9, XP, or third-party software. Some were possible before but are now even more efficient. No order of importance is implied, but all of these techniques have proven quite useful at one time or another.

Batch Converting WMA files to MP3

Microsoft may not look favorably on this one, but I still have clients who insist on using MP3. Also, I prefer to keep my personal music collection in high-quality MP3 format so that I can play it on whatever type of digital audio device comes along (a very general statement, but you get the idea). I believe WMA acceptance and usage will continue to grow, but for now MP3 still rules, in my experience.

That being said, I still do certain types of media production using WMA files, if only to save space. Microsoft claims that WMA files are half as big as MP3 files of equal quality, which does seem to be the case. When editing with Vegas 4 or Movie Maker 2 or creating web-based presentations with Microsoft Producer for Power Point 2002, I would rather use WMA for overall compatibility and disk space conservation.

Let's break this example into two parts: converting to MP3 and ripping to MP3 using the WM9 Player. Both scenarios require add-on software, but some of it comes from Microsoft.

Converting to MP3 with Microsoft Plus!

There's a lot to say about this product, but the four most important things are probably:

  • Get the Digital Media Edition (DME).

  • It works only with Windows XP.

  • It costs $20.00.

  • You also need a third-party MP3 encoder. I highly recommend InterVideo's MP3 Xpack ($10.00), not to mention the other fine products described and available at http://www.intervideo.com.

The rest of the Microsoft Plus! story, including how to order the various editions, is at http://www.microsoft.com/windows/plus/dme/dmehome.asp. Many other features are included, such as photo narration, analog audio recording, and extra effects for Movie Maker 2. MP3 conversion is just the tip of the product iceberg, as long as you have an MP3 encoder installed. You can also convert from MP3 to WMA, as well as to and from Microsoft WAV format.

People speculate why Microsoft chose to offer this product separately for a price of $20 and why they don't natively support high-quality MP3 encoding. I believe it has to do with modularizing certain functions (such as MP3 encoding) if licensing issues with third parties ever arise down the road. In any case, if you care to invest in Plus! DME and MP3 Xpack, here's how to convert a folder full of WMA files to MP3 format.

  1. After a successful installation, launch Plus! from the Start menu by choosing Plus! Audio Converter from the submenu. Remember, this only works in XP.

  2. In the Welcome pane (see Figure 13.1), check the radio button labeled Convert a folder of audio files; then click Next.

    Click To expand
    Figure 13.1: Folder versus single file conversion

  3. In Specify your search options, browse to the folder of WMA files you want to convert and check the box to include subfolders, if necessary (see Figure 13.2).

    Click To expand
    Figure 13.2: Specify your search options

  4. In Advanced options, only select Windows Media Audio for this example. Uncheck Skip audio files smaller than… (just for this example). Click Next.

    In the pane labeled Remove the files you do not want to convert (see Figure 13.3), you should see all the WMA files in the folder you just selected.

    Click To expand
    Figure 13.3: Removing unwanted conversions

  5. Remove the ones you don't wish to convert by selecting them and then clicking the Remove File button. Multiple selections are allowed. When you've edited the list, click Next.

  6. In the Select your conversion options pane (see Figure 13.4), select InterVideo MP3 (or any other installed MP3 encoder) in the File Format dropdown menu.

    Click To expand
    Figure 13.4: Selecting conversion options

    Quality is often a personal preference for private collections, but you can't go wrong with 320 Kbps for your MP3 masters. The calibrations in the Quality slider in this case are based on settings made in the XPack MP3 encoder (see Figure 13.5). Use volume leveling means normalize your target MP3 files—in other words, give them all the same dynamic range and volume (a very nice feature in a dedicated conversion program).

    Click To expand
    Figure 13.5: XPack MP3 configuration panel.

    Note

    Data rates: Some production scenarios may call for much lower MP3 data rates, such as 56K delivery from a narrowband web site, in which case 32 Kbps or even 16 Kbps might be appropriate. If your source WMAs are this anemic, you should be prepared for some extra testing or look for another solution prior to mass conversion to MP3.

    The controls in the Output folder group are self-explanatory (not to mention quite useful).

  7. Select your preferences; then click Next.

    A final confirmation pane will appear (see Figure 13.6).

    Click To expand
    Figure 13.6: Last chance for conversion changes.

  8. Click Start Conversion if the candidate list is accurate.

    The data in the Status column will change as the list is processed, followed by a popup saying the conversion process is complete.

  9. Click OK to dismiss the popup.

  10. If the Status data indicates warnings, click the Details button at the upper right to see what the problems were (see Figure 13.7). If no problems, click Exit.

    Click To expand
    Figure 13.7: Conversion problem details.

  11. Go to your selected output folder and check the results.

I realize that this technique entails purchasing and installing two add-on software packages, but I believe you'll get good performance from them until Microsoft decides to add such facilities to WM9 itself (not likely in the near future).

Ripping to MP3 with the InterVideo XPack

For this exercise, you'll need an audio CD and a third-party MP3 encoder. If you don't already have an encoder installed, the Copy from CD option in the WM9 Player will help you find one, as noted in Chapter 1. Because this example is based on the InterVideo MP3 XPack solution, we can get right to the ripping.

  1. Insert your audio CD.

    If your computer is behaving normally, you'll see the familiar popup asking if you want to play it, rip it, open its file system, or do nothing.

  2. Select the second option to launch the WM9 Player. If copying starts automatically, stop it.

    If you have a web connection, the track and artist data should fill in automatically (assuming the CD is recognized by the online database).

    This is where you defect from Microsoft. In the Tools menu, select Options and then the Copy Music tab (see Figure 13.8).

    Click To expand
    Figure 13.8: Ripping to MP3 from the WM9 Player.

  3. Select your desired target folder under Copy music to this location.

  4. In the Format dropdown, select InterVideo MP3 (or another MP3 encoder that you've procured and installed).

  5. Select your favorite Audio quality (320 Kbps, for example); then click OK.

  6. Back in the main Copy from CD pane, click the Copy Music button to start ripping your CD.

That's it. You can rip all your CDs this way for an extra 10 bucks. The Media Library of the WM9 Player will treat the resulting high-quality MP3 files just as respectfully as if they were WMAs (even if they are twice as big).


Making Sense of WM9 Playlists

If you're a regular user of the Windows Media Player, a playlist is something you can create and edit to more efficiently enjoy your media collection, especially your WMA and MP3 audio files. You can go nuts and build special playlists for parties, days of the week, diabolical DJ mixes, and so forth. Or you can add everything in your music collection to one master playlist, set it to shuffle and repeat, and fill your life with an unending stream of your favorite tunes (as long as you keep your computer turned on) complete with occasional brilliant segues.

How does WM9 store a playlist data file? Execute the following steps using tracks already in your Media Library and see for yourself.

  1. Launch the WM9 Player and switch to the Media Library view.

  2. In the Tools menu, select Options and then the Copy Music tab (see Figure 13.9).

    Click To expand
    Figure 13.9: Setting the folder for new media files.

  3. Under Copy music to this location, click the Change button and set the path to the folder in which you would like to store future custom playlists (if you're compulsive about such things). For this example, I'll use C:\media\custom_playlists. Click OK.

  4. In the WM9 Player File menu, click New Playlist.

  5. In the New Playlist pane (see Figure 13.10), select Artist in the View Media Library by dropdown list.

    Click To expand
    Figure 13.10: Creating a new playlist.

  6. Click on one of the artists in the list to see the individual media files. Click one of the song titles to make it appear in the new playlist.

  7. In the Playlist Name edit box, key in Chapter 13 Example (or whatever unique name you'd like) as shown in Figure 13.11. Click OK.

    Click To expand
    Figure 13.11: Naming the new playlist

    The new playlist should appear under My Playlists in your WM9 Media Library.

    Now the power-user part. You could search your computer for a file named Chapter 13 Example but, thanks to step 3, we know where to look. If you navigate to C:\ media\custom_playlists, you'll find a folder named My Playlists. In that folder should be a file named Chapter 13 Example.wpl (wpl stands for Windows playlist). If you double-click that file, the WM9 Player will launch and play the song file you added to the playlist in step 6.

  8. Instead, right-click Chapter 13 Example.wpl, select Open With from the menu, and then select Notepad. Listing 13.1 shows the contents of the file.

Note

Customizing: If you want to experiment a little, go to the Media Library, right-click on Auto Playlists, and then click New. This way you can choose any database field you want for your playlist criteria.
Listing 13.1: Contents of a simple WPL file
Start example

<?wpl version="1.0"?>
<smil>
  <head>
    <meta name="Generator"
          content="Microsoft Windows Media Player -- 9.0.0.2980"/>
    <author/>
    <title>Chapter 14 Example</title>
  </head>
  <body>
    <seq>
      <media src="..\..\mp3_downloads\catpower021803.wma"
        cid="{973856BA-5746-4E4F-8962-677830856E68}"
        tid="{21998722-DBB9-498F-8CF0-DA83CB1BD11D}"/>
    </seq>
  </body>
</smil>
End example

The Return of SMIL

If you've ever programmed in SMIL (pronounced "smile") you'll quickly recognize this syntax. SMIL (Synchronized Multimedia Integration Language) has been the weapon of choice for Apple and Real developers working with online media. Microsoft has remained conspicuously absent from this community, at least until SMIL 2.0. Prior to SMIL 2.0 the company pushed their own version under the moniker HTML + TIME (Timed Interactive Multimedia Extensions). A Google search should yield plenty of examples of all this technology, and perhaps a clue as to the current disposition of HTML + TIME.

So SMIL returns, tucked inside a WM9 WPL file. Does this mean that SMIL is now the proper format for a WM9 playlist? What about ASX files (see Listings 13.2 and 13.3) and server-side playlists? The short story is that "WM9 Playlist" is an umbrella term covering a variety of file types supported by the WM9 Player (not to mention the WM9 Server). WPL and ASX are two common examples, but it's the content of such files (basically XML) that makes them meaningful to the WM9 Player, as opposed to the file extension.

Listing 13.2: Contents of a simple ASX file (for streaming audio)
Start example
<asx version="3.0">
  <title></title>
  <entry><ref href="mms://195.242.34.157/audio/2002643.wma" /></entry>
</asx>
End example
Listing 13.3: A more advanced ASX file (from the WM9 SDK).
Start example
<HTML>
<BODY>

<!-- This code embeds the Player object in invisible mode. -->
<OBJECT id = "Player"
CLASSID = "CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" height = 0
width = 0>
        <PARAM Name = "AutoStart" Value = "True">
        <PARAM Name = "uiMode" Value = "invisible">
</OBJECT>

<!-- Create a button to open the content. -->
<INPUT Type = "Button" ID = "btnPlay" Value = "Play ASX" onClick =
"PlayASX();"/>

<SCRIPT Language = "JScript">

// This function tests the Player version. If it is Windows Media
// Player 9 Series, the script opens the .asx file in the full-mode
// Player. Otherwise, the script makes the embedded control visible to
// the user and opens the .asx file in the web page.
function PlayASX()
{
    if(parseInt(Player.versionInfo) >= 9)
        {
            // Open the full-mode Player to show HTMLView.
            Player.openPlayer("http://www.proseware.com/MyHTMLView.asx");
        }
        else
        {
            // Open the .asx file in the embedded Player.
            Player.uiMode = "full";
            Player.height = 200;
            Player.width = 200;
            Player.URL = "http://www.proseware.com/MyHTMLView.asx";
        }
}
</SCRIPT>

</BODY>
</HTML>
End example

The Right Playlist for the Right Job

Even simple listings (like the previous ones) show that certain types of playlists are better than others for specific tasks. SMIL was designed for synchronized media playback, so it makes sense for a jukebox app (in this case, the WM9 Player) that can present album covers and artist data for each audio file in the list. If you're already good at SMIL programming, you might want to see what the WM9 Player does with handcrafted WPL (and auto playlist) files.

Listing 13.4 shows a custom WPL file that specifies five sequential WMA and MP3 tunes. I edited this in Windows Notepad, as opposed to generating it from the WM9 Player. Remember the WM9 Player is the SMIL interpreter (as opposed to, say, the RealOne Player) so you might not be able to get too fancy without first investigating the full WM9 SMIL command set. As usual, a Google search using words such as "Windows Media 9 SMIL" should provide solid leads.

ASX files, sometimes called Metafile Playlists in the Microsoft documentation, make good sense for media streaming in the way they connect web pages to streaming servers. They also support a wider range of XML tags in the overall Microsoft codebase. The bottom line is not to be frustrated by the apparent lack of strict definitions. If someone mentions a playlist, ask that person which type they mean. If you already know the applications involved, you'll probably know the answer in advance.

Listing 13.4: A hand-crafted WPL file
Start example
<?wpl version="1.0"?>
<smil>
  <head>
    <meta name="Generator"
          content="Microsoft Windows Media Player -- 9.0.0.2980"/>
    <author/>
    <title>Chapter 14 Example 2</title>
  </head>
  <body>
    <seq>
      <media src="..\..\mp3_downloads\catpower022946.wma"/>
      <media src="..\..\mp3_downloads\sleater082342.mp3"/>
      <media src="..\..\mp3_downloads\interpol029602.wma"/>
      <media src="..\..\mp3_downloads\woodbine093203.mp3"/>
      <media src="..\..\mp3_downloads\calexico021803.wma"/>
    </seq>
  </body>
</smil>
End example


Converting WM9 Audio to Red Book Audio

This example is a bit shorter and sweeter. One question to ask yourself going in is whether you really care how production is accomplished, as long as you end up with a reliable Red Book CD with as little trouble as possible. If you keep your music masters in high-quality MP3 format, a product like Roxio's Easy CD Creator (Version 5 or later) is just about perfect for burning music CDs playable across the board, assuming you have a decent CD burner.

Note

Before Burning: Any media files you want to burn to Red Book Audio format must first be imported into the Media Library.

You may, however, prefer not to use third-party software unless it works better than the competing Microsoft product. If so, you might already have your music library archived in WMA format—in which case making Red Book Audio CDs is a snap using just the WM9 Player. Or you could batch-convert all your pristine MP3s to WMA with Plus! DME (featured earlier in this chapter) and then employ the WM9 Player to burn them as opposed to a third-party app, like Easy CD Creator.

But I digress. Can you burn MP3s directly to Red Book Audio CDs with WM9 Player? Certainly. Here's the recipe for using either WMA or MP3 files from your Media Library as source media.

  1. In the taskbar of the WM9 Player, click Copy to CD or Device.

  2. In the Items to Copy pane, select the playlist or category of tracks to copy from the Media Library.

  3. Uncheck the boxes next to any tracks you don't want to copy.

  4. Insert a blank CD-R (or CD-RW).

  5. In the Items on Device pane, select your desired CD type (Audio, Data, etc.), as shown in Figure 13.12. In this case your choice should, of course, be Audio.

    Click To expand
    Figure 13.12: Selecting the target CD type.

  6. Click the Copy button to start the burn. You'll see status changes in the list of tracks in the Items to Copy pane as the job progresses. When it's complete, test play the CD as a reality check.

Making high-quality Red Book Audio CDs with the WM9 Player (playable on any standard consumer CD player) is just this simple.


The Return of Illustrated Audio

In the early days of web-based media (mid-to-late 1990s), various companies launched solutions for narrating still-image presentations (GIFs and JPEGs) with synchronized streaming audio. This was considered viable in narrowband situations (28–56K) where streaming video was its own worst enemy. Some new media marketing person labeled this technique "Illustrated Audio."

Initial categories of such productions included CEO pep talks with charts showing rising stock prices, cooking and home improvement lessons, continuing education in technical subjects, and some other fishing expeditions with which no one made money in the long run, as far as I can tell. Some corporations claimed to save money by multicasting executive briefings over LANs and WANs, but the first wave of illustrated audio pretty much closed out of town, as much due to technical problems and overly ambitious software design as to bogus revenue models and general lack of user enthusiasm.

Better Tools, Less Work

Since those early disappointments, the landscape has changed in some interesting ways. In my opinion, a second wave of illustrated audio is already in the pipeline, and I believe Media 9 Series will play a major role. Factors contributing to this optimism include:

  • Greater deployment and acceptance of low-level development tools (SMIL, DHTML, etc.) as opposed to big, expensive, dedicated applications

  • Richer, more defined markets (medical, pharmaceutical, sales training, etc.)

  • More pervasive broadband networking

  • Better compression for multimedia, such as the WM9 Audio Voice codec

A few years ago, I hosted and helped build a medical site that hosted RealAudio streams triggering HTML events (image changes) in named frames in the user's Web browser. All the pages (several hundred) were created by hand in HomeSite, mostly by repeatedly saving a template with small changes. Triggers were embedded in the 28K .ra files with Real command line tools. A primitive and time-consuming approach, but ultimately successful—and successfully clonable. 56K users never reported problems, except when firewalls were involved!

The point is that I would use Microsoft Producer for PowerPoint 2002 along with the WM9 Audio Voice codec if I had to do it again today, especially if I needed smooth delivery in narrowband environments. Here's a high-level view of the production techniques.

Encoding the WM9 Audio file

I'll assume you have a master uncompressed file (referred to in the recipe as uncompressed.wav), consisting of human speech, ready for conversion to the WMA Voice codec.

  1. Launch the WM9 Encoder to bring up the New Session pane shown in Figure 13.13. Double-click the Convert a file icon.

    Click To expand
    Figure 13.13: WM9 Encoder New Session pane.

  2. The File Selection panel shown in Figure 13.14 requests names for the source and output files to be used in this operation. Browse to or key in the fully qualified path names for each, including the file name extensions (such as .wma); then click Next.

    Click To expand
    Figure 13.14: Supply the source and output file names.

  3. In the next panel, Content Distribution, you'll see the list shown in Figure 13.15. Select Web server (progressive download); then click Next.

    Click To expand
    Figure 13.15: Content Distribution pane.

  4. In the Encoding Options window (Figure 13.16), only the Audio dropdown should be active. Select Voice quality audio (CBR), and then check only the Bit rate box for 19 Kbps. Click Next.

    Click To expand
    Figure 13.16: Encoding options for audio compression.

  5. You'll now see the Display Information panel for supplying caption data, in which you can click Next to get to the Settings Review window. Both of these are self-explanatory.

  6. Leave the box labeled Begin converting when I click Finish unchecked, and then click Finish to go to the main WM9 Encoder UI, shown in Figure 13.17. You'll be familiar with this UI if you performed the exercises in Chapters 3 and 4.

    Click To expand
    Figure 13.17: WM9 Encoder in Conversion mode.

  7. Click the Start Encoding button.

The WM9 Encoder will go to work and likely convert the source file in far less time than it takes to play it, subject to the speed of your computer. When the operation is complete, you can check the data in the Encoding Results window for error listings, and play the target file for a reality check. The source file I used for this demo was a WAV file 00:03:41 in duration with a size of just over 19 megs. The resulting WMA file was 460K in size, which means its data rate was approximately 17 Kbps. On my speakers, the audio quality of the voice content in the WMA file was essentially the same as in the source WAV file.

Creating the MS Producer Application

Chapter 7 featured an MS Producer example for WM9 video, which I've modified to present a narrated slideshow (illustrated audio) program. Please refer to Chapter 7 for an explanation of how I believe Microsoft is positioning Producer for users and developers. You can download and run Microsoft Producer for Power-Point 2002 for free from http://www.microsoft.com/office/powerpoint/producer as long as you have PowerPoint 2002 installed. PPT 2002 is part of MS Office XP, which runs on both XP and Windows 2000.

Assuming you have a PPT deck that you wish to narrate with the WM9 Voice codec file created previously, here's what you do:

  1. Fire up Producer from Start>Programs (assuming a successful installation).

  2. Select Use the New Presentation Wizard (see Figure 13.18). Click OK and then Next at the Welcome screen.

    Figure 13.18: Select a project creation method.

  3. From the Presentation Template list, select Standard Audio). Other templates in the list that may suit your purposes later on (see Figure 13.19), but this one will serve for now. Click Next.

    Click To expand
    Figure 13.19: Select a Presentation Template.

  4. Click Next again in the Choose a Presentation Scheme panel.

  5. In the Presentation Information panel, supply the title, presenter, intro page, and description data as necessary. Click Next.

  6. In the Import Slides and Still Images panel (see Figure 13.20), browse to the folder containing your PPT deck, double-click it, and then click Next.

    Click To expand
    Figure 13.20: Select a PowerPoint file.

  7. In the Import or Capture Audio and Video panel (see Figure 13.21), browse to the WM9 Voice audio clip encoded previously, double-click it, and then click Next.

    Click To expand
    Figure 13.21: Select the audio file.

  8. In the pane asking if you'd like to synchronize your slides, check No; then click Next.

  9. Click Finish in the Complete Presentation pane. Producer will now import your media files and display them in the timeline of its UI (see Figure 13.22). Set the in and out times of your slides on the timeline by dragging their edges, preview and re-edit as necessary, and then click Publish at the right edge of the top menu.

    Click To expand
    Figure 13.22: MS Producer Timeline.

  10. Check the My Computer radio button, and then click Next. Choose a file name and folder (see Figure 13.23); then click Next again.

    Click To expand
    Figure 13.23: Select a location for local playback.

  11. Fill in the Presentation Information as desired, and then click Next.

  12. In the Playback Quality panel (see Figure 13.24), choose For target audience playback of 32 Kbps, then click Next, and then Finish.

    Click To expand
    Figure 13.24: Select playback quality.

When the publication process is complete, you can preview the finished app or exit Producer and take a look in the folder you specified in step 10. You can edit and republish the show in Producer, or experiment with the various component files, but either way you now have a finished app that can present your illustrated audio program locally or over a 56K dial-up web connection—thanks to the WM9 Voice codec.


Chapter 14: Encoding with the WM9 Screen Codec

Highlights

One of the worst desktop video jobs I ever had was capturing browser activity while a user narrated with a cheap PC microphone. The best thing you could say about the project is that the audio didn't sound bad. I got involved after the screen footage was recorded in AVI format but before final compression. Eventually the project was scrapped.

One problem was that, during screen capture, the browser was set to full-screen on an 800×600 desktop. Things might have been salvageable if viewers were required to set their desktop resolution to 1,024×768 desktop for playback, but we had no such luxury. The average user—without proper instruction—will play an 800×600 movie in the Windows Media Player on an 800×600 desktop which, in this case, wouldn't fit and would cause image distortion.

We cropped; we scaled; we tried to ignore scroll bars; nothing made the client happy. It didn't help that the web site itself (the one navigated by the browser in the captured video clips) was designed at 800×600, but that issue could have been addressed by an experienced producer prior to project execution. This chapter presents several screen capture examples based on prior planning and the WM9 Screen codec—a very powerful tool if used wisely, even for low bandwidth web delivery.


Overview

Windows Media screen capture has been around since version 7, and there are some excellent third-party competitors, such as TechSmith's Camtasia (http://www.techsmith.com). According to information published on the Microsoft web site, the Screen codec specifically addresses the need to deliver high-quality screen captures over intranets and the Internet—especially at dial-up modem speeds. This is achieved not only by very efficient compression, but also by leveraging the way such things as color and pixel metrics are handled by Windows itself. In other words, video encoded with the WM9 Screen codec looks best when played back on a Windows machine.

Microsoft claims:

Windows Media Screen codec offers perfect reproductions of computer screen images (such as mouse movement, dialog boxes, and dropdown menus) at data rates as low as 15 kilobits per second (Kbps) and at screen resolutions as high as 1,024×768. High-quality content can be streamed over dial-up modems. In fact, files can be small enough to send through e-mail. For example, a 73-second screen capture video compressed at 22 Kbps can maintain a file size of 197 KB.

Common Production Scenarios

Most users of the WM9 Screen codec take one of the following paths:

  • Direct capture from the screen using the Windows Media Encoder.

  • Direct capture from the screen using some other application supported by Windows Media.

  • Conversion to Windows Media (Screen codec) format from some other media type such as AVI or MPEG. This scenario is not nearly as common as the first two because the source is likely to be lower in quality than media captured directly in Windows Media Screen format. An exception would be if the source was originally encoded as lossless AVI.

According to Microsoft's description of the WM7 Screen codec:

Some advantages of direct capture are that content is instantly ready for streamed distribution to viewers, and no additional software tools are necessary to create the Windows Media file. Some advantages of creating or converting from .AVI format are that .AVI files can be edited prior to being compressed into the Windows Media Format. The ability to convert files also means that legacy content can be compressed and reused as opposed to being recreated from scratch. Windows Media Encoder then uses the existing .AVI, not the computer screen, as its content source."

While the first point regarding direct screen capture remains true, there is no longer any need to work in uncompressed AVI (with its mammoth disk space requirements) if you want to reedit your existing screen content. This is due to WM9's ability to decode and re-encode WMV files—unlike in Windows Media 7. I'll demonstrate this using Sonic Foundry's Vegas 4 on page 288.

Typical Applications

Yes, most of the Windows Media Screen applications out there are corporate in nature, and many of those involve (in my experience) Internet Explorer and Microsoft Office products. That's not meant to be negative, just realistic. If you enjoy working in such environments (which I do), you will often find creative product managers who appreciate experience and production skills precisely in this area.

Again, according to the Microsoft web site:

Some of the most common applications of screen capture technology are electronic learning, helpdesk support, and software demonstrations. Potential deployment scenarios include:

  • Live presentations. Historically, it has been virtually impossible to stream live demonstration content and slides from seminars or conferences over an intranet or the Internet. In addition, content owners spend additional money on repurposing that content for the Web. Now you can capture and stream both demonstrations and slides in real time over an intranet or the Internet without any disruption to those attending the live event. You can also archive the content with negligible postproduction efforts so users can access the content on demand.

  • Helpdesk support. Because Windows Media Player can synchronize with any browser object, a Web designer can create an environment where the Web application diagnostically determines what the user wants to see. Users can watch the content at their convenience. In this scenario, the content owner may want to edit the file before compressing it to add various features to the clip or to correct any mistakes made in the original screen capture. Once the edits are complete, the file is compressed and posted to a web site.

  • On-demand software training. Companies can now show users how to use software applications, rather than relying on static text and screen shots. They can use the Windows Media Screen codec to create clips of various user activities or product functions, and integrate those clips into any web page. In addition to providing an easy way to get product information to customers, the Windows Media Screen codec also offers significant value to sales personnel, who no longer must set up and maintain multiple applications.

Best Practices

This chapter began with a story about a badly planned screen-capture project. I wish I could have given that client a copy of the following guidelines before production began. Once again I am quoting from Microsoft documentation because the advice is excellent.

You can improve the quality of content in a number of ways by using Windows Media Screen codec, starting with some fundamentals regarding the capture of any type of video.

  • Know the application for which you are designing. Will you be embedding Windows Media Player in a web page? What is the size of the window in which your content will be displayed?

  • As with camera video, the quality of applications video degrades with excessive motion. When possible, avoid rapidly opening and closing windows.

  • If you plan to capture and compress data from a computer screen directly (as opposed to creating an .avi file) and plan to use audio, take steps to maximize audio quality. For example, use a high-quality microphone, and consider using a room designed to minimize background noise.

Windows Media Screen codec relies on sophisticated algorithms that process data in a unique way, achieving very high levels of compression for typical applications video. Nevertheless, the following screen capture activities are more difficult to compress and should be avoided or used only when additional bandwidth is available:

  • Dragging windows across the desktop. Dragging might result in dropped frames because this type of movement makes it impossible for the algorithms to have a consistent frame of reference to compute data. (If dragging windows is necessary, in Control Panel, in Display Properties, be sure to clear the Show window contents while dragging option.)

  • Scrolling down (or up) a web page. Scrolling makes it difficult to maintain a consistent reference point, resulting in dropped frames. This under-scores the importance of creating content at the appropriate resolution. (Using the PAGE UP or PAGE DOWN keys may be an acceptable alternative).

  • Displaying images containing great variation in color depth. It is difficult to compress an image where there is significant variation in color from one pixel to the next. The result could be dropped frames of data.

  • Using Windows Media Screen codec to capture a screen that includes a window in which camera video is playing. Compression of camera video and compression of applications video are two very distinct techniques. Using Windows Media Screen codec to compress camera video can result in suboptimal results.

Recommended Configuration

A final quote from Microsoft before the production demos:

When considering hardware requirements to create content, remember that Windows Media Encoder is a CPU-intensive application. For the best results, use the fastest processor you can obtain or use a computer with multiple processors. You'll also get the best performance out of Windows Media Encoder by using an operating system that runs applications, not services, in the foreground.

The following examples were executed on my HP reference machine (2GHz, 512K RAM, 60-gig hard drive) with no performance problems.


Example 1 Direct Screen Capture with WM9 Encoder

Any screen capture project should be based on a close understanding (to the extent possible) of the end-user's playback environment. In this example I set my XP desktop to 800×600, High Color, because I expect to play back the video at 1,024×768, possibly in the Windows Media Player, but more likely embedded in a web page (I'll show an example of this shortly). If the user playback environment was assumed to be no greater than 800×600, I would probably set my capture desktop to 640×480, depending on overall client expectations.

  1. Launch the WM9 Encoder (see Chapter 3 if you need more context here) to pop up the New Session window shown in Figure 14.1.

    Click To expand
    Figure 14.1: WM9 Encoder New Session window.

  2. Double-click Capture screen to start the wizard. The first pane lets you specify the portion of the screen you wish to capture, as shown in Figure 14.2. If you want to capture audio at the same time as you capture screen navigation, check the box labeled Capture audio from the default audio device.

    Click To expand
    Figure 14.2: Choosing a screen capture region.

    My advice is to capture the audio after your screen-capture video is either edited or somehow comes out great in one continuous take. Editing is covered in Example 2 on page 288.

  3. If you wish to capture now, plug a PC microphone into the Mic port of your computer and set your levels in the Sounds and Audio Devices applet in the Windows Control Panel.

    As with any recorded performance, rehearsal is the key to success. Walk through your screen navigation script as many times as it takes to get comfortable before starting the encoding session, then perform several trial encodings before going for a keeper. If you approach your production in this manner, you'll appreciate the value of capturing your audio narration later. Remember that, even in a corporate environment, this is still show business.

    Tip

    Capture Caution: If you enlarge a selected window during capture, only the area in the original window will be captured. If you shrink that window while capturing, you'll get a black border around the resulting smaller video window.

    Most of the work I've done with screen-capture video has been full-desktop, but Specific window and Region of the screen can be very useful in certain situations (see Figures 14.3 and Figure 14.4). For instance, selecting a specific browser window after resizing it to precisely frame the site you want to navigate and capture (perhaps with minimal browser controls) can produce very clean-looking results.

    Click To expand
    Figure 14.3: Specific window selection.

    Click To expand
    Figure 14.4: Screen region selection.

    Also note that the main WM9 Encoder window will be minimized during screen capture. To stop or pause the capture process, click the WM9 Encoder button on the Windows taskbar.

  4. Click Next to let the wizard take you to the Output File pane, shown in Figure 14.5.

    Click To expand
    Figure 14.5: Select the screen capture output file.

    I'll assume you will place this file in a folder on your hard drive that you have created as part of a dedicated screen-capture production environment. If not, no problem, but this is as good a time as any to think about it.

  5. Edit the file and path names and click Next.

  6. In the Settings Selection pane (see Figure 14.6), choose the appropriate quality setting. My recommendation is to always choose High when doing screen captures. Click Next after checking one of the three radio buttons.

    Click To expand
    Figure 14.6: Select a quality level.

    You'll now see the Display Information pane shown in Figure 14.7. Because the information you supply here is shown in captions during playback of the clip, you should choose this information carefully and perhaps not publish it until you finalize the credit and copyright notices.

    Click To expand
    Figure 14.7: Provide caption data for the clip.

  7. Click Next, and review your settings (see Figure 14.8). Click Back if you want to change anything.

    Click To expand
    Figure 14.8: Review your settings.

  8. For now, make sure the box labeled Begin capturing screens when I click Finish is unchecked. Click Finish.

    You should now be at the main Windows Media Encoder control panel (see Figure 14.9). You might get the hourglass for a few seconds at first, even on a fast machine. I always maximize this window to see as many of the Encoder controls as possible. If you're curious about what all the controls in the Monitor pane are good for, please read Chapter 3. For now, we want to get right to a screen capture.

    Click To expand
    Figure 14.9: WM9 Encoder Main Control Panel.

  9. When you're ready, click the green Start Encoding button.

    You'll get the popup window shown in Figure 14.10 as a final reminder before showtime. Again, note that the WM9 Encoder UI will disappear until you click on it in the Windows taskbar, which pauses the capture but doesn't end encoding until you click the Stop button. As soon as the Encoder UI hides itself, you can start or resume capturing the screen.

    Click To expand
    Figure 14.10: It's show time… (above)

    When I executed this example, I captured approximately 60 seconds of screen activity using the settings described. Clicking the Stop button popped up the Encoding Results pane shown in Figure 14.11.

    Click To expand
    Figure 14.11: Screen capture encoding results.

    Checking the attributes of the captured file, I found it to be approximately 660,000 bytes in size, which means a data rate of about 89 Kbps. Not bad for a good-quality 800×600 movie window. If the screen resolution had been 640×480, this data rate would be even less.

I strongly recommend performing as many test captures as possible with various quality settings (see Figure 14.6), Windows Display Modes (High Color versus True Color), and screen resolutions before going for a final take. That being said, I would keep the quality set to High and not use a 256-color depth if at all possible. A lot will depend on the nature of the screen images being captured, and the amount of motion involved in the navigation. Thanks to WM9, you can play back your captures smoothly and immediately instead of having to first convert huge AVI files to a final compressed format.


Example 2 Editing Screen Content with Vegas

Even if you capture a beautiful screen session, you may still wish to edit it, combine it with another screen capture for a continuous longer presentation, or add a narration track if you didn't capture audio originally. Again, before WM9, you would usually have to work with big, bulky AVI files (possibly requiring gigabytes of storage) to accomplish such tasks. Because you can reedit WM9 files (with WM9-supported NLEs), this is no longer a problem.

The next example shows how to combine multiple WM9 Screen clips using Sonic Foundry's Vegas 4. You can also use Ulead's Media Studio Pro 7 and (eventually) Microsoft Movie Maker 2 if you're running Windows XP. When I wrote this chapter, Movie Maker 2 wouldn't output to the WM9 Screen format and Adobe Premiere did not yet fully support WM9. You can use the screen capture from the previous example.

  1. Launch Vegas 4 to go to the Untitled Project window shown in Figure 14.12.

    Click To expand
    Figure 14.12: Starting a new Vegas project.

  2. Click Import Media in the File menu and navigate to the folder containing your video files (see Figure 14.13).

    Click To expand
    Figure 14.13: Importing media files into the project.

    I'll assume you'll put all your WM9 Screen files in a single folder, as I've done here. Note that you can multiple-select by clicking on each file while holding down the Control key.

  3. Click the Open button when all desired files are selected—in this case, just two.

    Both of your selected WM9 Screen clips should now be displayed alphabetically in the All Media media bin (see Figure 14.14) in the lower left area of your screen. This alone will feel like a major breakthrough if you've never been able to import compressed Windows Media files into anything except Movie Maker.

    Click To expand
    Figure 14.14: Clips ready for action in the Vegas Media Bin.

    Note

    Custom Bins: Note that the Media Pool tab is now selected (beneath the media bins tree) and that you can create custom media bins for new projects by right-clicking the Media Bins folder icon.

  4. To put a clip on the Vegas timeline, either drag it there or double-click its icon in a media bin.

    Figure 14.15 shows the result of double-clicking the two clips from left to right. In more complex projects, a double-clicked item in the Media Bin will appear on the timeline wherever the blinking cursor line is located. If you click the Explorer tab (near the Media Pool tab), you'll see a navigable file tree, from which you can drag clips to the timeline without first placing them in a media bin.

    Click To expand
    Figure 14.15: Clips ready for action on the Vegas Timeline.

    If you're unfamiliar with the Vegas UI, things can get confusing from this point until you learn by trial and error or by following a more formal curriculum. As noted in Chapter 10, I believe this is well worth your time if you've got a complex project to complete, but for now we'll concentrate on achieving the basic goals of this example.

    To add a simple transition between the two clips, we need to do several things.

  5. Click the small three-box icon at the lower left of the light-blue track control panel for track 1 (just to the left of the track 1 data).

    If you mouse-over this icon, you'll see a tag that says Expand Track Layers. Track 1 will split into A and B layers with a transition layer (X) between them (see Figure 14.16). You might want to save your project at this point by clicking File>Save As in the Vegas main menu. If you don't need a transition between your clips, skip ahead to step 9.

    Click To expand
    Figure 14.16: The expanded track 1 view.

  6. Drag the track 1B video data a little ways to the left so that the some of its initial frames are under the ending frames in track 1A.

    You'll see a greyed area of the X track corresponding to the overlapped data in the A and B tracks (see Figure 14.17). This is the area where we'll apply a specific transition type.

    Click To expand
    Figure 14.17: Creating a transition area.

  7. If you right-click the grey transition area, you'll see a popup menu with three choices: Fade Type, Transition, and Transition Properties. Click Transition to see the richer menu shown in Figure 14.18. Note that the default transition is a simple crossfade, but we'll click Insert Sonic Foundry Dissolve just for variety. As suggested by the other items in the last menu, this is just scratching the surface of the transitions and other types of effects you can do in Vegas 4.

    Click To expand
    Figure 14.18: Specifying a transition type.

    You can easily preview a newly created transition (or any part of the Vegas timeline) by dragging in the grey area above the track ruler (above track 1). Start dragging from just before the desired preview area to just after it. The selected preview area will be tinted light blue (see Figure 14.19).

    Click To expand
    Figure 14.19: Previewing a transition.

  8. Click the Play button in the row of controls at the bottom of the track stack for real-time rendering of your defined preview area.

    If you recorded your audio track separately (excellent idea)—perhaps while viewing your final edited video track—you can add it to the project now.

  9. First, import the audio track to the Vegas Media Bin, or click the Explorer tab at the bottom left of your screen (to see your computer's folders and files), and then navigate to the desired audio file.

  10. Double-click or drag it from either the Explorer file list or the Media Bin right to the Vegas timeline (see Figure 14.20). At this point you can synch it to your video track by dragging it left and right in the audio track and previewing in the lower right Preview window until you're completely satisfied.

    Click To expand
    Figure 14.20: Project ready for rendering.

  11. Now let's make the movie (or export the timeline, as the process is now often called). Click File>Render As to pop up the Render As window shown in Figure 14.21.

    Click To expand
    Figure 14.21: Setting the Vegas render properties.

Custom Template

Because we want to make a full-screen movie (800×600) using the WM9 Screen codec, we'll need to create a custom template.

  1. Click the Custom button to show the Custom Template panel (see Figure 14.22). In the Template edit field, key in WM9 Screen. Drop down the Video rendering quality control and choose Best.

    Click To expand
    Figure 14.22: Making a custom template for rendering.

  2. Click the Audio tab and select:

    Mode

    CBR

    Format

    Windows Media Audio 9

    Attributes

    32 kbps

    44 KHz

    mono (A/V) CBR, if you have an audio track

  3. Click the Video tab and select:

    Mode

    CBR

    Format

    Windows Media Video 9 Screen

    Image Size

    Custom

    Width

    800

    Height

    600

    Frame rate

    30

    Seconds per keyframe

    15

    Quality

    100%

  4. Click the Bit rate tab and check only the box for High Speed Internet.

  5. No need to make any edits in the Index>Summary tab at this point. Click the OK button to return to the Render As window, where your new Screen template should now be selected.

  6. Browse to a folder and file name for the new Screen movie you're going to render, select Windows Media Video V9 (.wmv) in the Save as type control, make sure Screen is selected as the Template, and uncheck the four boxes at the bottom of this pane.

  7. When all the controls are calibrated correctly, click the Save button. A small window will appear with a progress bar and data detailing the elapsed and remaining time for the render.

  8. Play back the new movie as soon as it is encoded (for quality control), and check its file properties if you want to calculate its true data rate.

As I mentioned earlier, screen captures are a tricky business if you want to preserve high quality—especially for text in web pages and other nongraphical documents presented on-screen. Most clients will expect crisp letters, clear images, and clean navigation in whatever you produce for them, which is why I suggest practice and preproduction planning. Recompressing in WM9 Screen format as a result of editing is supposed to yield images as crisp as any WM9 source clips, but excessive on-screen action and careless transitions will always introduce blur to some degree.

As in Chapter 10, I hope this example may tempt you to invest some time test-driving Vegas 4.0, if you're not a convert already. A demo version is available for download from the Sonic Foundry web site.


Example 3 Embedding Screen Captures in Web Pages

One way to reduce image degradation when playing back screen captures is to embed them in web pages, as opposed to rendering them in the WM9 Player, which is likely to cause distortion if the native movie dimensions are the same or close to the current screen resolution. You can specify the exact width and depth of the movie window and add start and stop controls underneath. I customized this example from the demo in Chapter 7. In this case, the user should set screen resolution to at least 1,024×768 and have the WM9 Player already installed.

Listing 14.1: Web site delivery of a WM9 Screen clip.
Start example
<HTML>
<HEAD>
</HEAD>
<BODY>
<CENTER>
<OBJECT ID="Player" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" WIDTH="800" HEIGHT="600">
<PARAM name="URL" value="http://65.84.45.267/SCREEN_DEMO_1.WMV">
<PARAM name="UIMode" value="NONE">
</OBJECT>
<br>
<INPUT TYPE="BUTTON" NAME="BtnStart" VALUE="Play" OnClick="startup()">
<INPUT TYPE="BUTTON" NAME="BtnPause" VALUE="Pause" OnClick="pause()">
<INPUT TYPE="BUTTON" NAME="BtnStop" VALUE="Stop" OnClick="stop()">
</CENTER>

<SCRIPT>
<!--

function startup()
{
  Player.controls.play();
}

function stop()
{
  Player.controls.stop();
}
function pause()
{
  Player.controls.pause();
}

-->
</SCRIPT>

</BODY>
</HTML>
End example


Example 4 Playing Screen Captures in PowerPoint

Another way to preserve screen image quality is to use PowerPoint as the delivery vehicle, especially in local playback scenarios. Here's a quick example, also based on more detailed data presented in Chapter 7. Once again, the user should have the screen resolution set to at least 1,024×768 and the WM9 Player already installed, if the native window size of the WM9 Screen movie is 800×600. You can use any of our previously captured Screen clips for this exercise.

  1. Open a new, default PPT document and key in a dummy title (see Figure 14.23).

    Click To expand
    Figure 14.23: Create a PPT document.

  2. Click the View menu and mouse-over the Toolbars item (see Figure 14.24).

    Click To expand
    Figure 14.24: Display the Toolbars menu.

  3. Click the Control Toolbox to place the toolbox on your desktop (see Figure 14.25).

    Click To expand
    Figure 14.25: Invoke the Control Toolbox.

  4. Click the More Controls item (lower right) in the toolbox; then click Windows Media Player (see Figure 14.26), probably at the bottom of the list.

    Click To expand
    Figure 14.26: Select the Windows Media Player object.

    You may also see an ActiveMovie item in this list, but Microsoft has admitted (as of this writing) that this object is buggy and recommends using the Windows Media Player object. If you can make the ActiveMovie object work in your PPT decks, by all means do so.

  5. When your cursor changes to a +, drag your mouse on the PPT slide to create a movie window, as shown in Figure 14.27.

    Click To expand
    Figure 14.27: Create the WM9 movie window.

  6. Right-click on the WM9 Control object to bring up its menu (see Figure 14.28); then select Properties.

    Figure 14.28: Display the WM9 object properties.

  7. Set the URL property to the full name (including path) of your Screen clip, such as C:\MY_MOVIE.WMV (see Figure 14.29).

    Click To expand
    Figure 14.29: Supply the URL or file name.

  8. Test the presentation by pressing F5.

    The embedded WM9 player should appear in your running PPT slide—not as a separate player outside of the PPT. If you go back to edit mode, you can reposition the object, make it autostart, or show/hide the control buttons (depending on how you want the user to navigate the show at runtime), but make sure to have it play the movie at its native size (see Figure 14.30).

    Click To expand
    Figure 14.30: Execute the PPT document.


Section III

Team LiB

Section III:

Chapter List

Chapter 15: WM9 Integration in Consumer Electronics
Chapter 16: Late-Breaking News & Production Tools
Chapter 17: How Movielink Uses Windows Media 9 Series
Chapter 18: Standing in the Shadows of Motown—A WM9 Feature


Chapter 15: WM9 Integration in Consumer Electronics

Overview

This chapter pays attention to Windows Media 9 and consumer electronics (CE) devices. It also covers Microsoft's Windows XP Media Center Edition. At the Consumer Electronics Show (CES) in Las Vegas in January 2003, I saw the first commercial DVD players capable of playing WM9 video files burned on blank DVD discs. Clearly this is a breakthrough for desktop video producers who want to skip third-party DVD authoring yet still deliver high-quality, full-screen performance on a TV or home theatre system. As noted in other chapters, a useful analogy is the ability of a CD audio device to play Windows Media Audio (or MP3 files) from a CD-ROM just as easily as that device might play a standard Red Book audio CD.

Microsoft has been working with leading CE companies such as Panasonic, Equator, and Polaroid (among others in a fast-growing list) to enable WM9 video playback on consumer DVD systems, and the results are finally available. For the record, Windows Media 9 Audio is also supported in this PC-to-home-entertainment migration and is, in fact, ahead of WM9 Video in terms of implementation by major consumer electronics companies. I'll cover this in more detail later on page 306.

I'd like to say that Microsoft has a master plan for integrating WM9 with CE in general, but no one would buy it. Instead, I believe they are doing it the old fashioned way: one device at a time. In their online literature at http://www.microsoft.com/windows/windowsmedia/conselec.aspx, the company lists the following types of hardware they want to fully enable with Windows Media:

  • Wireless devices

  • Personal digital assistants (PDAs)

  • Portable music players

  • Car stereos

  • DVD players

The key to success will likely be the willingness of chip manufacturers to include Windows Media 9 in their firmware. According to Microsoft and the press, this is well underway. The rest of this chapter covers some of the most visible manifestations of Windows Media in CE technology and CE culture. For example, here is a list of Windows Media-enabled DVD players that Microsoft says have been announced:

  • Apex Digital is introducing 11 new DVD models with WMA support including the AD-1120 sold at Wal-Mart Stores, as well as two new recordable players, a personal video recorder (ADR-1000)2 and a DVD +R, +RW (AD-3000), an interactive player (ADI-2800), a new five-disc changer model ADM-5000, a full-size and midsize progressive-scan component video model, and three new home theater systems.

  • Panasonic Matsushita Electric Industrial Co. Ltd. unveiled seven new models of digital AV audiovisual products supporting Windows Media that will be the first consumer electronic devices to have built-in support of the new HighMAT a technology. These include the Panasonic DVD-LX9 portable DVD player, DVD-S55 single-disc player, DVD-F65 five-disc changer, DVD-F85 five-disc changer, SC-HT900 DVD/CD home theater system, SC-DT310 DVD/CD music system and SC-DP1 DVD/CD music system (see Figure 15.1.)

    Click To expand
    Figure 15.1: Panasonic HighMAT-compatible DVD Player.

  • Pioneer Corp. unveiled two new DVD players at 2003 CES supporting WMA playback: the Pioneer DV-563A and DV-463. Both support the playback of custom CDs using Windows Media Audio to enable over 22 hours of music playback on a single CD.

  • Polaroid unveiled the DVD-DVR 700, a breakthrough consumer device licensed from Aeon Digital and based on the new Equator reference design, offering the ability to play back both Windows Media Audio and Video from custom CD-R/RW disks as well as to access the Web directly to stream Windows Media Audio and Video.

  • JVC will be featuring the XV-N50 DVD player, which offers 45mm-height slim design and includes WMA playback and JPEG playback.

  • Toshiba unveiled five models of DVD players supporting WMA that will be available in 2003, including the SD-2900 (single tray), SD-3900 (progressive scan single tray), SD-V290 (DVD/VHS dual), SD-V390 (progressive scan DVD /VHS dual), and the SD-P2500 (progressive scan portable with 8.9-inch LCD).

  • Zenith will be demonstrating the Zenith DV7934NM DVD player, which features WMA support and DVD, CD, CD-R, CD-RW, and VCD playback.


What is HighMAT?

A term you'll hear often in connection with WM9/CE integration is HighMAT, which stands for High-performance Media Access Technology. According to a Microsoft press release, HighMAT:

…improves interoperability for digital media content between PCs and popular electronic devices such as CD players, car stereos and living-room DVD devices with a dramatically improved method of storing, arranging, and playing back personal digital photo, music, and video collections on recordable discs such as CD-RW media. The new technology will speed up startup times for data CDs and other physical formats and make navigation consistent and easy across a broad range of consumer electronics devices, including car stereos, DVD players and CD players. CDs created using the HighMAT technology will still be compatible with existing devices that play back recordable disc media, and HighMAT is compliant with the standard ISO 9660 Joliet file system.

Late-breaking technical data on this subject should continue to be available at http://www.highmat.com (see Figure 15.2).

Click To expand
Figure 15.2: HIGHAT.COM web site.

The CES 2003 demos I mentioned above were based on HighMAT. Progress has been made in the meantime, but not as much as I'd hoped by the time this book was published. The good news is that the latest version of the WM9 Player allows you to burn HighMAT CDs, so we can take a look at what's being placed in the CD file system. My assumption is that the HighMAT data structures will be the same for DVD-ROM as soon as the WM9 Player (or a third-party DVD writer) is enabled to burn DVDs.

The basic features of a HighMAT disc (as of this writing) are:

  • ISO 9660 file format

  • XML menu and folder definitions

  • Standard subdirectories for various media types and support files

  • Support for WMV, WMA, MPEG4, MP3, and JPEG (as of this writing).

For the record, Movie Maker 2 also supports HighMAT—as in when you select the Save to CD option. It appears, however, that the two apps do not play together nicely. Burning a HighMAT audio project onto an existing HighMAT video project overwrites the HighMAT files, leaving behind orphaned video files that don't appear in a playlist. Also, Movie Maker sometimes crashes when feeding it a mixedmode HighMAT CD, and burning a video project on an audio project switches it back. Apparently the two development teams were not together in their HighMAT implementation.

HighMAT Support for Windows Media Audio on CD

Let's burn a HighMAT Windows Media 9 audio CD and take a look at the results. You'll need some WMA tracks in your Media Library.

  1. Fire up the WM9 Player.

  2. Click File>New Playlist to create an empty custom playlist, then name it HighMAT_Audio (see Figure 15.3).

    Click To expand
    Figure 15.3: Create a new playlist named HighMAT_Audio

  3. Add your selected WMA tracks from your Media Library to your new HighMAT_Audio playlist (see Figure 15.4); then click OK.

    Click To expand
    Figure 15.4: Add some tracks to your HighMAT_Audio playlist

  4. Click Copy to CD or Device in the WM9 taskbar.

  5. Switch to your HighMAT_Audio playlist in the Items to Copy dropdown menu.

  6. Insert a blank CD-ROM in your burner.

  7. In the Items on Device dropdown menu, select the HighMAT item (see Figure 15.5).

    Click To expand
    Figure 15.5: Select the HighMAT disc write format.

  8. Click the red Copy button to start the burn.

  9. When the burn is complete, close the WM9 Player.

Exploration

Now let's explore.

  1. Assuming the CD you just burned ejected when the burn completed, reinsert it in the drive.

  2. The standard popup should appear, asking if you want to play the music on the CD, open the file system, or take no action (see Figure 15.6). As a reality check, select the Play option to make sure the WMA files on the CD perform properly, then close the WM9 Player.

    Figure 15.6: Choose the Play option.

  3. Click My Computer to see your list of drives, including the one containing your just-burned CD-ROM.

  4. Open that drive to reveal the CD's root folder/file list (see Figure 15.7).

    Click To expand
    Figure 15.7: Root of the HighMAT disc file system.

    For the record, the playlist file is a SMIL file (discussed in Chapter 13 on page 266) with the layout shown in Listing 15.1.

    Listing 15.1: Contents of the Playlist File HighMAT_Audio.wpl

    Start example

    <?wpl version="1.0"?>
<smil>
<head/>
<body>
<seq>
<media src="catpower021803.wma"/>
<media src="intelpo8936584.wma"/>
<media src="saharahotnights9852349.wma"/>
</seq>
</body>
</smil>
    End example

  5. Double-click the HIGHMAT folder to reveal its contents.

As shown in Figure 15.8, you should see a number of folders and files in the root of the HIGHMAT folder:

  • IMAGES (folder)

  • PLAYLIST (folder)

  • AUTHOR.XML

  • CONTENTS.HMT

  • MENU.HMT

  • TEXT.HMT

Click To expand
Figure 15.8: Root of the HIGHMAT folder.
Note

Source Files: Note the three WMA files specified in the source HighMAT_Audio playlist (PLAYLIST folder), the playlist file itself (HighMAT_Audio.wpl), and—most interesting of all—the HIGHMAT folder.

The IMAGES folder should be empty. (There were none in the source project.) The three files with the .hmt extension in the playlist folder are binary, as are the .hmt files in the root of the HIGHMAT folder. If you open CONTENTS, MENU, and TEXT with Windows Notepad, you'll see some text strings with artist, album, and song data, encoded for reading by HighMAT-enabled devices (CD players, in this case). When I opened AUTHOR.XML with Windows Notepad, I found the code shown in Listing 15.2.

Listing 15.2: Contents of the File AUTHOR.XML
Start example
<HMT>
<Core>
<Apps/>
</Core>
<Files>
<File1 Type="4"/>
<File2 Type="0"/>
<File3 Type="2"/>
</Files>
</HMT>
End example

That's the full report on what you will probably see if you take the trouble to explore the file system of a WM9 Audio CD burned using the HighMAT option from the WM9 Player. What does it tell you? Not much that you can actually use for development purposes at this point, but I believe it is fun and useful to shine a light inside folders Microsoft (or anyone else) places on silver discs for public consumption. The company's documentation to date appears to be accurate in terms of how XML is used and how the subdirectories are organized.

When I played this CD in a portable iRiver SlimX CD player, the track information displayed in the player's menu reflected the data stored in the HIGHMAT folders—not the .wpl playlist file in the root of the CD file system (see Listing 15.1). This indicates that the SlimX is, in fact, a HighMAT-compatible audio device capable of using the HMT files described previously.

HighMAT Support for Windows Media Video on CD (Not)

What happens if you burn a video playlist to a HighMAT CD (as opposed to a DVD)? Let's find out by repeating the previous example using three WMV files from your Media Library. If you need WMV files, check the Jumpstart CD directory demos/wm9_video_quality/media.

  1. Fire up the WM9 Player.

  2. Click File>New Playlist to create an empty custom playlist; then name it HighMAT_Video (see Figure 15.9).

    Click To expand
    Figure 15.9: Create a new playlist named HighMAT_Video.

  3. Add the WMV tracks in your Media Library to your new HighMAT_Video playlist (see Figure 15.10); then click OK.

    Click To expand
    Figure 15.10: Add some tracks to your HighMAT_Video playlist.

  4. Click Copy to CD or Device in the WM9 taskbar.

  5. Switch to your HighMAT_Video playlist in the Items to Copy dropdown menu.

  6. Insert a blank CD-ROM in your burner.

  7. In the Items on Device dropdown menu, select the HighMAT item (see Figure 15.11).

    Click To expand
    Figure 15.11: Select the HighMAT disc write format.

  8. Click the red Copy button to start the burn.

  9. When the burn is complete, close the WM9 Player.

    Now for some more exploration.

  10. Assuming the CD you just burned ejected when the burn completed, reinsert it in the drive.

  11. The standard popup should appear, asking if you want to play the music on the CD, open the file system, or take no action (see Figure 15.12). As another reality check, select the Play option to make sure the WMV files on the CD perform properly, then close the WM9 Player.

    Figure 15.12: Choose the Play option.

    Good thing we're doing reality checks, because you'll see there's a problem: The WM9 Player converted our beautiful WMV files to WMA files. In other words, it extracted the audio tracks of the video files and made a HighMAT audio CD from them.

  12. Open that drive with the CD in it to reveal the root folder/file list.

    Note the three WMA files (as opposed to the WMV files specified in the source HighMAT_Video playlist), the playlist file itself (HighMAT_Video.wpl) and, again, the HIGHMAT folder. Exploring these items like we did in the previous HighMAT audio example will produce similar findings.

That's what happens if you try to burn a video playlist to a CD using the HighMAT option in the WM9 Player. What does this tell you, beyond trying this again in Movie Maker 2? Not much except that your WMV files are going to be converted to WMA. For the record, when I put this CD in the iRiver SlimX CD player, it performed as if I had burned a HighMAT audio disc in the first place, with the track information displayed in the player's menu reflecting the data stored in the HIGHMAT folders on the CD.

HighMAT Support for Windows Media Video on DVD

Again, as of this writing, Windows Media 9 Series does not offer native DVD burning like it does for CD burning (in HighMAT, CD-ROM, and Red Book Audio formats). When I put a blank DVD-R disc in my otherwise excellent Toshiba DVD-RW drive and try to burn a WMV playlist to it, here's what happens:

  1. Repeat steps 1–9 from the previous example (trying to burn a WMV playlist to CD).

    You'll get alert message to insert a CD-R or CD-RW in the drive (the DVD-RW drive) and try again (see Figure 15.13).

    Figure 15.13: Nice Try!

  2. Click Cancel and remove the blank DVD-R disc, thus saving a few bucks.

    The important thing to remember here is that burning a HighMAT DVD with WM9 Video (using the WM9 Player) will be very much like burning a HighMAT CD loaded with WMA (or MP3) content. Menu structures will likely be based on playlist order in the source project, at least until tools are available that let you edit and burn a HighMAT disc image from a hard drive to a DVD-R using a program like Roxio. (Remember, MENU.HMT and the other .hmt files we explored are binary, not text like the XML file.) Special thanks to Tony Jasionowski of Panasonic Technologies for his help in understanding how HighMAT works in integrating Windows Media with consumer electronics—especially the fine equipment available from Panasonic.


Windows XP Media Center Edition

Still on the subject of consumer electronics, this book would be incomplete if it didn't address Microsoft's ongoing efforts to use high-end PCs as home entertainment centers, much the way Apple is promoting certain musclebound Macs as household digital hubs. Microsoft has tried several times to make this type of CE breakthrough, but each effort eventually died on the vine. The company's latest venture, Windows XP Media Center Edition (WXPMCE), has perhaps the best chance to date, but the jury is still out in terms of overall ease of use and lifestyle enhancement. From a technical standpoint, though, the platform is well worth looking into.

As noted at the beginning of this book, the reference computer I've used for all WM9 encoding and playback testing is an HP Pavilion 752n, which has the same specs as the original HP-based version of WXPMCE. As of April 2003, Microsoft reports that 12 PC makers are shipping WXPMCE machines, including some interesting compact models, such as the one from Alienware (see Figure 15.14).

Click To expand
Figure 15.14: Alienware's Version of the Windows XP Media Center Edition

How does all this relate specifically to Windows Media 9? Several of the video production and consumption recipes demonstrated in prior chapters are built-in or simplified in WXPCME (such as its PVR feature and the minimum system requirements) give you an idea of what Microsoft thinks is appropriate for WM9 media wrangling.

According to Microsoft,

Media Center PCs are complete entertainment PCs because they include:

  • Mid-to high-end processors

  • More than enough memory for your computing and entertainment needs

  • High capacity hard disks

  • CD-ROM/DVD drives

  • Advanced graphics and audio capabilities

  • Networking connectivity

In addition to meeting the minimum system requirements of Windows XP Professional, each new Media Center PC may include the following components to enhance your entertainment experience:

  • A Media Center compatible remote control that keeps all of the entertainment on your computer within easy reach, and complements the keyboard and mouse.

  • A remote infrared (IR) sensor that enables the remote control to communicate with the computer, and also controls your cable or satellite set-top box.

  • An advanced graphics card for displaying the best TV experience on your computer monitor.

  • A TV tuner that captures your television signal from a cable, satellite, or antenna source.

  • A hardware encoder that enables you to record TV shows from cable, satellite, or antenna to your computer's hard disk.

  • A TV output that allows you to display Media Center content on a television connected to your computer.

  • A digital audio output that allows you to integrate digital audio from your computer into an existing home entertainment system.

Many of these new features were optimized for Windows XP and are especially useful when installed on a Media Center PC. Media Center and Windows Media Player 9 Series work together in the background to provide a seamless digital entertainment experience. Key reasons to install the Windows Media 9 Series player on your Media Center PC include:

  • Improved performance. Completely redesigned, the Windows Media Player 9 Series Media Library delivers quicker response times for listings and playback of your digital media, especially for larger media libraries. Playback and startup have also been improved.

  • Support for Windows Media Audio and Video 9. The latest in Windows Media compression technologies delivers high audio and video quality at existing bit rates, superior quality at dial-up rates, and home-theater-like experiences over broadband connections, or for download and play.

  • Video smoothing. For lower-bit rate content, video smoothing can reduce the "jerkiness" of video playback by adding missing motion back into the video.

  • Auto crossfading. This feature automatically mixes the audio levels between the end of one song and the beginning of the next song. You can even configure the length of the crossfade.

  • Auto file and folder monitoring. If you have music files on multiple drives or PCs, or music files downloaded from services in different folders, you can add them to your watch list and they will automatically be kept in sync with your media library.

  • Auto info. From within the Media Player, you can automatically add or fix album details such as composer, year, genre, and album art for your existing WMA and MP3 collection.

  • Auto playlists. This feature lets you create and edit smart music mixes that automatically update to reflect new additions or changes to your Media Library. You can also edit and personalize over 20 presets, or add your own. All of these new playlists also appear in the Media Center interface.

  • Auto volume leveling. This feature automatically adjusts volume levels across your playlists—no more reaching for the volume control between songs.

  • Support for 5.1-channel Dolby Digital surround sound. This feature is another reason to turn your Media Center PC into your ultimate home theater system. Just hook up your Media Center PC to 5.1-channel Dolby Digital-capable speakers, start Media Center, and turn up the volume. Note: A compatible sound card is required (see below).


Required Components for WM9 5.1 Audio

The information under this heading is also taken directly from the Microsoft web site, with permission. You'll certainly want to consider it if you decide to get a Media Center, but it is also valuable if you just want to enjoy excellent Windows Media 9 Audio.

What type of speaker system do I need?

You will need a 5.1 capable sound system. These systems use 6 speakers which each deliver a discrete channel of sound: front left, center, front right, left rear, right rear and sub woofer. For example:

  • Creative Labs

    • Creative Inspire 5.1 speakers series

    • Cambridge SoundWorks MegaWorks THX 5.1speakers

    • Creative MegaWorks THX 5.1 550 speakers

    • Creative Inspire 5.1 Digital series

  • Klipsch

    • Promedia 5.1

  • Logitech Z-680

  • Logitech Z-640

What type of soundcard do I need?

In addition to 5 speakers and a sub woofer, you will need a soundcard which offers 5.1 channel Windows Media Audio support on Windows XP, such as one of the following:

  • Creative Labs

    • Sound Blaster Audigy 2

    • Sound Blaster Audigy

    • Sound Blaster Extigy

    • Sound Blaster Live! 5.1

  • M–Audio

    • Delta 1010

    • Delta 1010–LT

    • Delta 410

    • Sonica Theater

    • Revolution

  • Echo

    • Layla24

While music professionals and audiophiles may need the high level of performance offered by some of these solutions, a typical home user may decide that one of the more basic cards delivers great experiences at the right price. Also note, that while all of these cards support multichannel output, if you also want to enjoy full resolution audio (24-bit/96kHz sampling), be sure the card you choose supports that as well.

Configuring Windows XP for WM9 5.1 Audio

Each of the sound cards and speaker systems listed will probably have its own installation instructions and owner's manual. Once you have successfully installed your preferred audio hardware, go to the Windows XP Control Panel and execute the following steps:

  1. On the Control Panel, select Sounds, Speech and Audio Devices (see Figure 15.15).

    Click To expand
    Figure 15.15: XP Sounds, Speech, and Audio Pane.

  2. On the Sounds, Speech and Audio Devices pane, select Change the speaker settings (see Figure 15.16).

    Click To expand
    Figure 15.16: Advanced Audio Properties.

  3. On the Speaker Settings pane, select Advanced (see Figure 15.17).

    Click To expand
    Figure 15.17: Advanced Speaker Settings

  4. In the Speaker setup dropdown menu, select 5.1 surround sound speakers (see Figure 15.18).

    Click To expand
    Figure 15.18: Select 5.1 Surround Sound Speakers


Frequently Asked Questions about XP Media Center

Microsoft has a useful FAQ section on WXPMCE on its web site, from which I have extracted the following list of questions and answers I believe will be of interest to WM9 users. The full FAQ, as of this writing, is at http://www.microsoft.com/WindowsXP/mediacenter/evaluation/faq.asp. There is some very useful information in this list. Even if you don't purchase a WXPMCE system for your own home entertainment center, it may give you a valuable perspective on performance issues you should consider when customizing your existing system.

  • Q Does Windows XP Media Center Edition contain the same features as Windows XP Professional?

  • A Yes, Windows XP Media Center Edition is a superset of Windows XP Professional.

  • Q Can I buy just the Windows XP Media Center Edition system software and install it on my current machine?

  • A No. Windows XP Media Center Edition is available only on a new kind of PC, called a Media Center PC. Media Center PCs, built by Microsoft's partner PC manufacturers, provide excellent home computing and entertainment features, wrapped into one machine. The operating system software is not available as a stand-alone product, and a custom Media Center PC cannot be built at this time using off-the-shelf products.

  • Q Can I use the Media Center PC for my computing needs?

  • A Yes. A computer running Windows XP Media Center Edition delivers the full power and functionality of Windows XP. Windows XP Media Center Edition is a superset of Windows XP Professional, so it is the most full-featured version of Windows that you can get for a home computer. In addition to enjoying the rich digital media and gaming experiences it offers, you can use a Media Center PC to surf the Internet, send and receive e-mail messages or Instant Messaging, run spreadsheets, create documents and presentations, and a lot more.

  • Q Can I use applications while Media Center is running?

  • A Yes; you can run Media Center in a smaller window and use Windows applications simultaneously.

  • Q What are the new TV–related features of the Media Center PC?

  • A The My TV feature enables you to watch and control live TV, record programs, or browse the Electronic Program Guide. You can also pause TV, advance frame by frame, hop ahead 29 seconds at a time, or use Instant Replay to skip back effortlessly and re-experience compelling moments. The TV Setup Wizard gets you up and running in a matter of minutes, so you can quickly configure your Media Center PC to use your existing TV signal (satellite, cable, or antenna), and seamlessly control your set-top box. Windows XP Media Center Edition supports video scaled to the resolution of your Windows XP desktop, enabling a Media Center PC to deliver smooth, lifelike video images at a higher resolution than your standard TV can offer. Windows XP Media Center Edition makes it easy to find the programs you want to watch. The Electronic Program Guide* displays a grid that provides detailed information for up to 14 days of programming. Use Search to find programs by title, keyword, category ("sports"), or subcategory ("baseball"). The Personal Video Recorder (PVR) makes recording TV a simple process. Once you've found the listing for the show you want to record in the Electronic Program Guide,* press a button once on the remote control to preserve a single episode. Press again to capture an entire series, with or without reruns. Quality level and archival settings help you optimize hard drive space and save the program you want to keep.

  • Q Can I view Media Center on a TV instead of on the computer's monitor?

  • A Yes—simply connect one of the TV output connectors on your Media Center PC to the input on your TV. You might need to make adjustments to your Media Center PC display settings to enable TV output.

  • Q Can I use a Media Center PC with a satellite TV or digital cable set-top box?

  • A Yes. Media Center can accept connections from a set-top box and control the set-top box through the remote sensor included with the Media Center PC. Media Center also has program guide data for satellite and digital cable TV, so once the system has been properly configured for your service and the brand of set-top box you use, Media Center will operate the same as it would with standard cable or satellite TV.

  • Q Can I record multiple programs at once, or watch one show while recording another?

  • A No. Media Center comes with a single TV tuner, which allows for the use of only one live TV channel at once. This means that one live TV show can be in use (either recorded or watched) at a time.

  • Q Can I watch a recorded show while Media Center is recording another show?

  • A Yes, because this requires the use of a single live TV source (the show that is being recorded). Previously recorded shows are stored on disk and do not use the TV tuner.

  • Q What file format does Media Center record in?

  • A Media Center uses a new file format called DVR-MS. DVR-MS is an MPEG2 file wrapped with ASF to allow metadata about the recorded program to be stored.

  • Q Can the file format used by Media Center be changed?

  • A No, Media Center supports only the DVR-MS file format for recording TV. Microsoft is currently working with third-party software manufacturers to add support for DVR-MS files to their products.

  • Q Can the files generated by Media Center be converted to another video format?

  • A At this time, there is no way to convert DVR-MS files to another format. Microsoft is currently working with third-party software manufacturers to add support for DVR-MS files to their products.

  • Q Can I edit Recorded TV files?

  • A It isn't possible at this time to edit DVR-MS files (the format used for recorded TV files). Microsoft is currently working with third-party software manufacturers to add support for DVR-MS files to their products.

  • Q Does Windows Movie Maker support the Media Center file format?

  • A Windows Movie Maker does not support DVR-MS files at this time.

  • Q How much disk space do Media Center's Recorded TV files occupy?

  • A Media Center has four levels of recording quality to choose from—Fair, Good, Better, and Best. Here is the approximate amount of disk space that each recording level will consume:

    Approximate GB/Hour

    Approximate GB/Hour

    Fair

    1

    Better

    2.5

    Good

    2

    Best

    3

  • Q What is content protection, and how is it used by Media Center?

  • A Content owners and/or broadcasters can set copy protection flags to indicate that a program is subject to content protection. When Media Center detects that this flag is set, it will protect the content by limiting the ability to copy and distribute the program.

  • Q Can protected Recorded TV files be watched on another PC?

  • A No, protected files can be watched only on the Media Center PC that originally recorded the content.

  • Q Can unprotected Recorded TV files be watched on another PC?

  • A Yes, as long as that PC has the capability of playing DVR-MS files (either through Media Center or an updated DirectShow player such as Windows Media Player 9—see Watch Recorded TV on Other Microsoft Windows XP-based PCs).

  • Q Can protected Recorded TV files be played back on the same Media Center PC using Windows Media Player 9 or other DirectShow-enabled applications?

  • A No, protected files can be watched only through Media Center on the Media Center PC that originally recorded the content.

  • Q Can I record DVDs to watch using a dedicated DVD player?

  • A Yes. The current version of Sonic MyDVD Plus (v. 4.04) supports the recording of Media Center's Recorded TV content onto DVDs that can be watched on standard DVD players. For more information about Sonic MyDVD Plus, visit the Sonic eStore. Microsoft expects other third-party software manufacturers to add support for DVR-MS files to their products. Some OEMs are also working with these manufacturers to offer upgrades to the existing version of the DVD-authoring software shipped on their Media Center PCs. Please contact individual Media Center PC manufacturers for more details.

  • Q Can I access Media Center via a Remote Desktop Connection using the Remote Desktop Protocol (RDP)?

  • A No. Media Center does not currently support operation over a Remote Desktop Connection. It must be run locally on the Media Center PC.

  • Q Is Media Center compatible with Windows Powered Smart Displays?

  • A A dockable Windows Powered Smart Display can be used as the display for a Media Center PC when docked. A stand-alone or undocked Windows Powered Smart Display can connect to a Media Center PC to access your desktop and other applications, but it cannot access the Media Center interface.

  • Q How can I keep up to date with Media Center software updates?

  • A All Windows XP software updates can be found by visiting the Microsoft Windows Update site. All critical updates should be installed on your system. Windows XP Media Center Edition–specific updates can also be found at the Microsoft Download Center and Windows XP Media Center Edition Downloads.


Chapter 16: Late-Breaking News & Production Tools

This chapter addresses WM9 technology that was either unfinished as the book went to press or began shipping but not in time for an exhaustive workout. It also covers some techniques that I've found useful in day-to-day practice and in doing custom work for clients. I can't guarantee that everything below works entirely as advertised, but each item is worth exploring. Some may have become established parts of the WM9 infrastructure by the time you read this.

WM9 Plug-in for Adobe Premiere

As of this writing (spring of 2003), Microsoft has posted a beta plug-in for Premiere 6.5 at http://www.microsoft.com/windows/windowsmedia/premiere/. I downloaded and installed this plug-in on my HP reference machine (running XP). Here's what happened, using a WM9 file I took from the demos/wm9_video_quality/ media directory on the Jumpstart CD.

  1. I completed plug-in download and installation.

  2. I rebooted the machine (probably not necessary, but old habits die hard).

  3. Premiere 6.5 launched and select new project.

  4. From the File menu, I selected Import>File and then browsed the WM9 file (see Figure 16.1).

    Click To expand
    Figure 16.1: Import a WM9 file into a Premiere 6.5 project

    And then the moment of truth…

    Success! Figure 16.2 shows the imported WM9 file in my untitled Premiere 6.5 project.

    Click To expand
    Figure 16.2: Successful importation!

  5. Then I put the clip on the timeline, selected and dragged it to the Video 1A track (see Figure 16.3).

    Click To expand
    Figure 16.3: WM9 clip on the Premiere 6.5 Timeline.

  6. I saved the project (as any trained professional would do at this point).

  7. Then I exported the timeline. I selected Export Timeline>Movie from the File menu to invoke the Export pane (see Figure 16.4).

    Click To expand
    Figure 16.4: Invoke the timeline export function.

  8. I clicked the Settings button to get to the Export Movie Settings pane, selected General in the main menu, and then dropped down the File Type menu (see Figure 16.5).

    Click To expand
    Figure 16.5: Premiere's Export Movie Settings.

    What, no WM9 option for movie export? This is why I held coverage of Adobe Premiere for this chapter. As it turns out, you can export a movie with WM9 video compression but not as a WMV file (in a Microsoft ASF container). Instead, you have to export it as an AVI file, at least for now. This is made possible through Microsoft's Video Compression Manager (VCM), covered in the next section on page 326.

  9. Since we can't export in WM9, let's select Microsoft AVI as the output file type.

  10. In the main menu, select Video.

  11. In the dropdown Compressor menu, select Microsoft Windows Media Video 9 (see Figure 16.6).

    Click To expand
    Figure 16.6: Select the Microsoft WM9 Video Compressor.

    Before clicking the Configure button, let's run through the other high-level settings.

  12. Select Audio in the main menu (see Figure 16.7). Drop down the Compressor menu to see that, well, there is no Windows Media 9 Audio option. Another reason for coverage in this chapter, much as I like Premiere (and Microsoft) otherwise.

    Click To expand
    Figure 16.7: Audio settings for movie export.

  13. For now, choose Uncompressed, although this will make the output file a lot bigger. In this case, I went with an Audio data rate of 32KHz, 16 Bit – Mono, and a 1-frame Interleave, perfectly good settings for multimedia AVI files.

  14. In the Key Frame and Rendering (see Figure 16.8) and Special Processing panes, use the defaults unless you prefer other settings.

    Click To expand
    Figure 16.8: Key frame and rendering settings.

  15. Now back to the Video item in the main menu. Click Configure to invoke the pane shown in Figure 16.9.

    Click To expand
    Figure 16.9: Configure the WM9 Video Compressor.

    The number of items you can calibrate here may seem daunting at first, but you can generally accept the defaults and concentrate on making adjustments where needed. Lots of full-screen professional work is done with Premiere, so there needs to be serious flexibility.

  16. For this proof-of-concept demo, my suggested settings are (see Figure 16.10):

    Click To expand
    Figure 16.10: Select detailed compression criteria.

    Pre-processing tab

    Compression tab

    Encode progressive frames

    Two-pass Bit rate VBR

    frame rate downsampling

    1:1

    Bit rate

    300 Kbps[*]

    no resizing

    Key frame interval

    8,000 ms

    no cropping

    Decoder complexity

    Main, highest quality

    [*]Same as the WM9 source movie, in this case

  17. Under the Save>Load tab, save or load any profiles created in this pane.

  18. Click OK when you've got everything dialed in. (Remember, this is not a serious production scenario.)

  19. Click OK again in the Export Movie Settings pane.

  20. Key in a file name (and path) for the exported video clip, and click Save.

Exportation will now begin. The standard Premiere progress bar will pop up in a small window to show you how much time remains.

When I chose Two-pass Bit rate VBR (see step 16), the process took about three minutes for a three-minute, 320×240 source clip. It created an output file slightly bigger than the source (because I specified a bit rate). Unfortunately, the WM9 Media Player reported an error when I tried to play that file. When I chose One-pass Quality VBR, the process created a file almost 10 times as big as the source clip, which played in the WM9 Player and looked generally as good as the source.

What's the bottom line here? For one thing, this was a beta plug-in with the expected disclaimers. For another, the apparent lack of WM9 Audio support makes production workflow even more complicated, assuming you were willing to use the WM9 Encoder to convert Premiere-encoded AVI files to WMV files. Finally, this plug-in is based on the Microsoft Video Compression Manager (discussed next), which was itself in beta when I wrote this chapter.

I plan to use Vegas 4 for WM9 jobs until this situation is completely straightened out. You can track the progress of the Premiere plug-in if you intend to work with that product exclusively.


Microsoft Video Compression Manager

On the programming side, another new development as this book goes to the publisher is the beta version of the Microsoft Video Compression Manager (VCM). This is the tip of one of several icebergs you can explore in the MSDN section of the Microsoft site. There is truly a staggering amount of WM9 documentation (plus code samples) already available online for the benefit of WM9 software developers. I use it liberally throughout this book, with Microsoft's permission.

When I went to http://www.microsoft.com/windows/windowsmedia/9series/codecs/vcm.aspx I found the following description:

This Video Compression Manager (VCM) based version of the Windows Media Video 9 encoder/decoder will enable legacy encoding and editing applications to support the Windows Media Video 9 codec in file containers such as AVI.

The Windows Media Audio and Video 9 Series codecs offer the best experience when delivered using the ASF file container. To offer the flexibility our customers have asked for, new licensing terms allow for these codecs to be used in other file containers as well.

Once installed, legacy solutions will automatically be able to use the codec via the VCM interface. The VCM includes a property page so that users can set encoding parameters.

This is a preliminary release and is unsupported. It has been tested using Windows XP, VirtualDub, and Adobe Premiere 6.5. It is not optimized or tested for use with Windows Media Player 6.4.

What are the implications of this VCM? As shown in the prior section on the Premiere plug-in, it permits major software vendors like Adobe to offer workflow options for users of their NLEs. I don't know any of the details, but it makes you wonder about the extent of the acrimony surrounding this issue. Why does it appear natural for Vegas 4 to be able to import and export WM9 files directly, while Premiere 6.5 needs a plug-in? It would be interesting to know if there was a simple explanation, but I don't expect to hear one that all sides agree on any time soon.

Is the Microsoft VCM a temporary measure? Probably, but it may have a long halflife—depending on how fast the established NLE products can change to accommodate new desktop video engine technology.


Windows Media 9 Capture Tool (WM9CAP)

WM9CAP, available as of this writing at http://www.microsoft.com/windows/windowsmedia/9series/encoder/utilities.aspx, carries the following description from Microsoft:

This tool enables video content authors to capture uncompressed AVI files with mono, stereo, 5.1, or 7.1 channels of audio, with up to 24 bit resolution and sampling rates up to 192KHz. Windows Media Capture 9 Series supports a broad range of video and audio capture cards, and includes the complete source code for developers who wish to build their own capture applications.

When I downloaded and ran it, WM9CAP felt a lot like the old Microsoft Video for Windows workhorse VIDCAP.EXE, a simple yet invaluable tool from the glory years of CD-ROM development circa 1995 (see Figure 16.11). Clearly this application (like the Premiere plug-in demonstrated previously) leverages the Microsoft VCM.

Figure 16.11: Main UI of WM9CAP.

Some additional explanatory text from the WM9CAP Help file:

Microsoft Windows Media 9 Capture is a sample application that you can use to capture audio and video content from devices connected to your computer. This sample application is built on the Microsoft DirectShow sample application, AMCap. In addition to the capturing capabilities of AMCap, Windows Media 9 Capture enables you to capture high-resolution audio and multichannel audio. Windows Media 9 Capture is intended for use as both a simple capture application and as a code foundation that you can use to develop custom applications that capture multichannel audio.

Figure 16.12 shows the advanced audio properties you can select with WM9CAP, including 5.1 Channels and a top sampling rate of 192KHz. If you're used to using VIDCAP and feel a bit intimidated by using the WM9 Encoder for raw AVI captures, WM9CAP may be just what you're looking for in certain cases (see "Making VCDs with WM9 Source Files" on page 329).

Figure 16.12: Setting WM9CAP high definition audio properties.

Enterprise Deployment Pack for WM9

On to late-breaking system administration news. If you go to the URL http://www.microsoft.com/windows/windowsmedia/enterprise/deploypack.aspx, you'll find yet another mother lode of WM9-related data, this time regarding how to efficiently deploy the WM9 Player in a large corporate enterprise. This used to be harder than most people think. You can download a Microsoft white paper from this address if you wish, but here is the overview (copied from the Microsoft site):

The Enterprise Deployment Pack (EDP) for Windows Media Player 9 Series is a downloadable packaging tool that makes it easy for network and desktop administrators to centrally configure, deploy, and manage Windows Media Player 9 Series enterprise-wide. The EDP is designed to meet the needs of IT staff in large organizations, who have been asking for a flexible tool to configure and distribute the latest Windows Media Player to the desktop.

The EDP offers many advantages to the Enterprise, including:

  • Giving IT pros the capability to deploy Windows Media Player 9 Series in conformance with their standard software deployment processes

  • Providing IT pros with the flexibility to configure various settings to support existing Enterprise standards and reduce Helpdesk support calls

  • Offering end-users the productivity benefits of Windows Media Player 9 Series.

Enterprise Deployment Pack Details

The EDP is a tool that presents the network administrator with a series of Yes/No questions from the command line. When the questions have been answered, the EDP will create a Microsoft Installer (.MSI) package that can be deployed throughout the organization. At its most basic level, the EDP:

  • Generates an MSI package—The basic purpose of the EDP is to create a MSI file that will wrap Windows Media Player 9 Series distribution package and run it in redistribution mode. This facilitates deployments that require an MSI package.

  • Creates a "silent install" of the .MSI package—The Windows Media Player 9 Series setup will be run in redistribution mode which has no setup UI or requirements for interaction with setup prompts. The end user will not be prompted with EULAs or configuration options during setup.

Through the EDP, network administrators and IT pros can:

  • Set Local Group Policy (Group Policy for Windows Media 9 Series can also be set at the domain level by companies running Active Directory)

  • Preset player preferences so the Player has custom default preferences

  • Add one or more Skin files to the installation. A custom skin can limit access to consumer-oriented features that are deemed unsuitable for enterprise usage.

  • Include any desired Windows Media Player 9 Series Language Packs

  • Deploy the customized .MSI file through Active Directory or through any software management system.

While the EDP itself is in English, any localized version of Windows Media Player 9 Series can be included in the .MSI file.


Making VCDs with WM9 Source Files

Until HighMAT DVD players are common and reliable for playing WM9 files burned to DVD-R, it would be nice if there was an uncomplicated way to burn such files on CD-ROM as VCD media (playable on current DVD players at somewhat lower quality). It would also be sweet if blank DVD-R discs cost a quarter, like blank CD-ROMs, but that may take another year or two.

As it turns out, this is the approach taken by most of the companies that send you spam about programs that copy DVDs, except that their software generally rips the source DVD, then converts it to a VCD image without involving WM9. What many of these ads don't tell you is how long this process takes—sometimes many hours, especially on slow, memory-starved computers.

My interest here is finding a cheap way to get video files off my hard drive and onto CD-ROMs that I can watch on a TV set. VCD (and SVCD) is the lowest common denominator for this task, assuming your living room DVD player can handle a VCD disc, which many can. I've had fewer problems with VCD playback (as opposed to SCVD), so I'll concentrate specifically on the former. Next are two recipes I now use on a regular basis.

Converting with Media Studio 7, Burning with DVD MovieFactory 2

This example makes use of two fine Ulead (http://www.ulead.com) products, MediaStudio 7 Pro and DVD MovieFactory 2 (even though it just scratches the surface of each one). Chapter 9 has a demo of another excellent Ulead solution, DVD Workshop, on page 189. Like Vegas 4, MediaStudio 7 Pro supports WM9 natively, without requiring a plug-in or the Microsoft Video Compression Manager. I have used Ulead products in the past to convert to and from MPEG-1 (with flawless results) and expect to start doing the same with MPEG-2 files going forward.

What we'll do here is first convert a standard WM9 file to an AVI file with a WM9 video track. (I stated earlier that MediaStudio 7 didn't require the Microsoft VCM, but the program uses it in this example.) Then we'll import the resulting AVI file into MovieFactory 2 for burning to a VCD. The downside of this process is that it can take a long time indeed if you want to convert feature length movies or hour-long TV shows.

The good news is that the process is almost all unattended, which means you can let it run overnight. If MovieFactory 2 supported input of standard WM9 files, we could dispense with the whole first part of this example. So far, I haven't found a reliable VCD writer that can import standard WM9 files. If you need a WMV file for this exercise, you could use a quality demo from the Jumpstart CD directory demos/wm9_video_quality/media.

  1. Launch MediaStudio 7 Pro (see Figure 16.13).

    Click To expand
    Figure 16.13: MediaStudio Pro's Main UI.

  2. From the File menu, click Convert, and then select Video File (see Figure 16.14).

    Click To expand
    Figure 16.14: MediaStudio's Converter UI.

  3. Select the source WM9 file; then key in or browse to the file name and folder for the AVI output file.

  4. Drop down the Save as type menu and select Microsoft AVI files (see Figure 16.15).

    Click To expand
    Figure 16.15: Select Microsoft AVI as the destination file format.

  5. Click the Options button and then the General tab in the Video Save Options pane (see Figure 16.16).

    Figure 16.16: Converter's Video Save Options.

  6. In the Data track dropdown, select Audio and Video.

  7. For Frame rate, select 30 frames per second.

  8. For Frame type, select Frame-based.

  9. For Frame size, select 320×240, depending on the frame size of your original.

    Traditional MPEG-1 (on which VCD is based) is 352×240, but if your source is 640×480 or 320×240, using 352×240 may distort the converted image.

  10. Now click the AVI tab (see Figure 16.17).

    Figure 16.17: Calibrate the AVI Settings.

  11. In the Compression dropdown, select Microsoft Windows Media Video 9.

  12. In the Data type dropdown, select 24-bit RGB.

  13. In the Audio Format dropdown, select PCM.

  14. In the Audio Attributes dropdown, select 44.1 KHz, 16 Bit, Stereo.

    Remember, we are not making a final output file for mass consumption. Rather, we are creating an interim media file to feed to the VCD burner.

  15. Now click the Configure button to invoke the Microsoft Windows Media Video V9 Properties pane (see Figure 16.18).

    Click To expand
    Figure 16.18: WM9 Video Properties, Compression pane.

  16. Under Compression Control, select One-pass Quality VBR.

  17. Move the Performance slider all the way to the right (better quality).

  18. For Quality level, key in 100.

  19. Leave the rest of the controls in this pane as is, including 8,000 ms for Key frame interval.

  20. Now click the Pre-processing tab (see Figure 16.19).

    Click To expand
    Figure 16.19: WM9 Video Properties, Pre-processing pane.

  21. Check the radio button to Encode progressive frames.

  22. Keep Frame rate downsampling at 1:1.

  23. Click OK (no need to take any action under the Save/Load tab at this point).

  24. Now click the Advanced button at the bottom left of the pane under the AVI tab (see Figure 16.20).

    Figure 16.20: Advanced options for AVI settings.

  25. Check the box for Interleave audio and video.

  26. In the Pack audio data for every X frames, select 1.

  27. Leave Custom selected in the Target playback drive drop down.

  28. Leave all the other boxes unchecked.

  29. Click OK.

  30. Click OK again in the Video Save Options window.

  31. Back in the main Converter window, review your Save options in the lower left corner, and then click Save to start the conversion.

You'll now see a progress window showing system resource consumption and estimated time for process completion (see Figure 16.21).

Click To expand
Figure 16.21: Movie conversion progress.

This is the tedious part I mentioned earlier. Even on my 2 GHz Pentium 4 reference machine, six minutes of processing time was required for each minute of content running time. In other words, a one-hour feature would take approximately six hours to convert—which is why I suggested earlier that you could let the process run overnight if you had enough patience.

Doing the rest of the math reveals that just over an hour of content will fit on one VCD and that the interim AVI file produced in the exercise above requires slightly over a gigabyte of temporary hard drive space. All this for a silver disc holding one episode of The West Wing but playable at VHS quality on your TV from a late-model DVD player with a 25-cent CD-ROM inside (not including the labor costs).

You may wish to bail at this point, which I can certainly understand. If you do, I still recommend that you review the next example, which does not have a lengthy conversion phase (but does require the same amount of interim hard disk storage). Because the VCD burning phase is the same for both of these examples, please now jump to step 1 on page 337 if you're still with me.

Capturing with WM9CAP, Burning with DVD MovieFactory 2

Unlike the prior example, our next recipe doesn't require hours of conversion time. Instead it is based on real-time capture using the WM9CAP program described earlier in this chapter. Once again the goal is to encode an AVI file suitable for burning to a VCD disk. I executed this example using a Hauppauge TV tuner card as the audio/video input source. You can use the AVI file we just created.

  1. Launch WM9CAP (see page 327 for the URL if you need to download it first). Figure 16.22 shows the main WM9CAP user interface with the TV tuner selected.

    Figure 16.22: WM9CAP's Main UI

  2. From the File menu, click Set Capture File then select a file name and path for the AVI file about to be captured.

  3. Still in the File menu, click Allocate File Space (see Figure 16.23) to invoke the Set File Size window.

    Figure 16.23: Set the initial capture file size.

    Like when using the old Windows VIDCAP program, it is okay to set Capture file size to 1 Mbyte. More megabytes will be allocated automatically as needed at capture time.

    Save Captured Video As in the File menu does the same thing as Set Capture File, but it can be used after capturing as opposed to before.

  4. In the Options menu, check Preview to monitor the incoming video signal.

  5. In the Options>Audio Format pane (see Figure 16.24), check the radio button Waveformatex (Traditional audio format).

    Figure 16.24: Set the audio capture properties.

  6. Set the Channels dropdown to Stereo.

  7. Set the Sampling Rate dropdown to 44.1 KHz.

  8. Set the Bit Depth dropdown to 16.

  9. Click OK.

  10. Leave Options>Audio Capture Filter as is.

  11. Make adjustments as you see fit in Options>Video Capture Filter (see Figure 16.25) under the Video Proc Amp tab. This is where you can set brightness, contrast, hue, and saturation.

    Click To expand
    Figure 16.25: Adjust Video Brightness, Contrast, Hue, and Saturation.

  12. In the Options>Video Capture Pin menu (see Figure 16.26), set Frame Rate to 30.

    Click To expand
    Figure 16.26: Set Video Frame Rate, Color Space, and Output Size.

  13. Set Color Space>Compression to RGB24.

  14. Set Output Size to 320×240.

  15. Click OK.

    In the Options>Video Preview Pin menu, you can use the same settings as in the Video Capture Pin menu, at least in this case (320×240 capture). If you were capturing at 640×480 or greater, you might want to set the preview to 320×240 just to keep your desktop organized.

  16. Leave the Options>Video Crossbar pane as is.

  17. In the Options>TV Tuner menu (see Figure 16.27), select the channel for the program you want to encode. Leave the other variables as is.

    Click To expand
    Figure 16.27: Change the channel if necessary.

  18. The Options>Video Input is where you can switch video input sources.

  19. In the Capture menu, check the Capture Audio item.

  20. Uncheck Closed Captioning.

  21. Keep Master Stream set to None.

  22. Set the Frame Rate to 30.

  23. Set the Time Limit to 3,600 (60 minutes).

  24. When you're ready to start the capture, click Capture>Start Capture.

  25. A tiny confirmation box will pop up. Click OK.

Capture will now commence. You can monitor the process in the WM9CAP main window, along with a frames-captured-and-dropped report at the bottom of the window. If you specified a time limit, you can do something else for a while. To stop the capture at any time, press the Escape key. When your capture is finished, always play back at least a little of it (if not the whole thing) in the WM9 Player as a basic reality check.

The Burn

  1. Launch Ulead DVD MovieFactory 2, assuming you have it installed. Figure 16.28 shows the startup pane.

    Click To expand
    Figure 16.28: MovieFactory Startup pane.

  2. Check New project and the VCD radio button, and then click Next.

    If you read Chapter 9 (the part about using Ulead's DVD Workshop on page 189), Figure 16.29 should look familiar.

    Click To expand
    Figure 16.29: MovieFactory Main UI.

  3. Click the Add Video icon in the upper left corner and browse to (and select) the AVI file just captured or converted.

    That AVI file should appear at the beginning of the timeline at the bottom of the window. You can play it in the big preview window (see Figure 16.30), if you wish.

    Click To expand
    Figure 16.30: The AVI movie added to the timeline.

  4. Check the box labeled First clip as first play video, and then click Next.

    Clearly there are many other things you can do in this UI, but all we need here is to make a VCD that autoplays one video clip.

  5. Click Next in the Menu Creation pane. You can explore this later at your leisure.

  6. Click Next in the final Preview pane.

  7. In the Finish pane (Figure 16.31), key in a Volume name and check the Record to disc box.

    Click To expand
    Figure 16.31: All set to do the burn.

  8. Click the Output icon at the bottom left of the window to start the VCD burn.

Even with a full hour of content (over 600 megs using the settings in this example), a fast CD writer should finish the process relatively quickly.

Again, not everyone will have the patience, motive, or discipline to make VCDs using these techniques, but they can be useful in many personal and professional cases. They also give you an idea of how third-party products are being developed and positioned to work with Windows Media 9 in general.


Chapter 17: How Movielink Uses Windows Media 9 Series

Overview

It is fair to say that Movielink, a privately held company in Santa Monica, launched the first successful download video store. You could also claim their success comes from backing by five major movie studios, but Movielink's technology is nevertheless top-notch and more power to them for enlisting such appropriate partners. While Windows Media is not Movielink's only delivery vehicle, it was selected for its combination of quality, ease of use, and secure DRM (Digital Rights Management). Figure 17.1 shows the main user interface at http://www.movielink.com. If you'd like to contact the company, please use the contact information available at their web site.

Click To expand
Figure 17.1: Movielink.com's home page.

My personal experience downloading and playing a MovieLink media file is described in detail at the end of this chapter.

The company let me interview Bryan Spaulding, VP of Engineering, about why Movielink uses Windows Media and how WM9 fits into its plans going forward. Remember, this is an online download model, not streaming media from the halcyon dot-com days. I registered with Movielink soon after the launch and found the user experience smooth and enjoyable. My questions are in italics.


Why Movielink Uses WindowsMedia

  • Q Please describe the process by which you determined Windows Media to be suitable for use by Movielink.

  • A At the time we were performing due diligence on DRM technologies, Windows Media was at Version 6.4. Our goal is to use IP as a platform for movie distribution, but for the time being the only IP compatible platform we found with enough security potential was the PC itself—as opposed to gaming machines and set-top boxes. On the PC, Windows Media was on the short list of candidates. When we factored in user experience and installed base, it came down to Microsoft and Real. We knew that some customers would need to download one or the other of the DRM components, but we were confident that most users would already have the player software properly installed. As it turns out, we now require at least Windows Media 7.1, specifically due to its improvements in DRM security. Because the DRM in Version 9 appears at least as good as in 7, we can pay even more attention to the video quality improvements in Version 9.

  • Q Did you consider DivX and MPEG-4 during the candidate evaluation process?

  • A We evaluated DivX at the outset but on the user experience front they would have required both the player and the DRM to be downloaded and installed by the user—not just the DRM. The same thing applies to MPEG-4. We just didn't consider it mature enough at the time we were evaluating. We're interested in it because it promotes open standards which are good for markets and competition, but some-times de facto standards are ubiquitous and provide a solid underlying technology.

  • Q Do you consider Windows Media a de facto standard?

  • A No, there are multiple formats in addition to Windows Media–Real, MP3, for example—which are in wide use on the Internet—and there really isn't a de facto standard at this time. This is why Movielink supports both Windows Media and Real, to provide its customers with a choice of formats.

  • Q What happens between a user's browser and your server when he or she goes to your site looking for movies to download?

  • A First, we do a configuration check to determine whether your system is DRM-capable. If it is, we present downloadable media in the format supported by your system's installed DRM software, either Windows Media, Real, or both. If you have, say, the Windows MediaPlayer 7 installed but not Real Player, you'll default to having Windows Media movies preselected for download. This is done for ease of use and to streamline the overall user experience once they've registered. If you don't have the minimum required version of either player, we show you an upgrade page with instructions on how to get and install the necessary software.


What's Good About WM9?

  • Q What do you feel are the strengths of Windows Media 9 over Version 7?

  • A We haven't yet completed a full investigation. That being said, we are very interested in the improved quality of the Version 9 codecs, which I feel is significant. We have a 42-inch plasma screen here in the office and simple VGA input from a computer playing a WM9 feature looks really good. We have also begun encoding for wide-screen display to provide a more cinematic experience for customers. On the audio side, we want to upgrade to 5.1-channel audio as opposed to basic stereo, and Windows Media 9 seems to support this very well.

    The trade-off is that we need to manage our file sizes. The average size we offer now is around half a gigabyte—500 megabytes. That's roughly 100 times the size of an MP3 track. Because we follow a download model, we need to consider how much hard drive space the average user has available to store video. Half a gig is the "happy medium" we arrived at for encoding standard feature-length movies.

    This brings up another compelling feature of Windows Media, especially in Version 9: variable bit rate encoding (VBR). Through VBR, the bit rate can "burst" for the heavy action scenes and use fewer bits per second for the "talking heads" while staying within the same files size parameters. This was definitely a motivating factor in getting us to move to Windows Media 9: we can keep to our half-a-gig file size but get major quality gains.

  • Q What's your position on the connection between Windows Media 9 and consumer electronics, specifically the HighMAT standard developed by Panasonic and Microsoft?

  • A When we look at things like that, DRM is always the key factor. Because of content security concerns, we need to carefully control the distribution of the movies we offer. Also, remember that we use a rental model, which means not only providing a viewing period for the user, but making sure we free up hard drive space for future rentals after their viewing rights for each movie expire. Burning movie files to CD or DVD is not part of this basic model.

    On the other hand, we need to be prepared for change in our markets. We are very interested in finding ways to get our movies on users' television sets as opposed to just their computer screens.Still, right now, it all comes back to the DRM. If a user tries to play one of our encrypted movies on a device which does not have a license, the device must be able to retrieve a license. This requires the device to support a back channel to the Internet, which at this time pretty much limits this scenario to networked PCs (see Figure 17.2).

    Click To expand
    Figure 17.2: License retrieval on a web-enabled device.

    When consumer electronics devices like CD and DVD players start shipping with Internet connections—and that day is probably coming sooner than later—then DRM as currently designed could be applied in this broader "home entertainment network" environment, utilizing various types of WiFi and wired networks.

    We'd like to offer customers ways to consume their media using devices beyond the PC, but all such devices would need to have solid integration with the DRM. Obviously one of our goals is to eliminate the video store trip for the customer but not confuse them with a complicated user experience.


Encoding Standards

  • Q Please describe your encoding facilities and quality criteria.

  • A Our studio partners do the encoding themselves, while Movielink applies the DRM encryption. We provide guidelines that we think are reasonable and appropriate, but nothing in the way of the art of encoding. This includes video frame size, bit rate, audio quality, and so forth. These guidelines are based on advice we get from Microsoft and some of the independent encoding shops we know. Now that we've moved to widescreen format, we provide the studios with the pixel dimensions most appropriate for that type of presentation.

    As you know, when you get below approximately 2 megabits per second, a lot more art goes into good-quality encoding than for higher bit rates where you can more reliably automate the process. So far the studios we work with are doing an excellent job and we haven't had to send anything back or bring any bad movie files to their attention. Not that we would expect to—they are highly motivated to do top-quality work to make their titles look and sound as good as possible.

  • Q Do you know whether the studios are outsourcing the work to specialty encoding shops such as LoudEye?

  • A I don't know any details, but I have heard that there is a mixture in terms of work-flow. Some studios do it all in-house, while others outsource some portion of the workload. I think it has a lot to do with volume and timing issues.

  • Q Do you have a sense of how far they go to get that last 5% of consistent quality when certain scenes or transitions look bad due to compression problems? This has always been potential quicksand for independent encoding shops who are on fixed budgets with limited resources.

  • A They seem to have set a pretty high bar for themselves. However, like any rational business, they likely have a cut-off point. I think right now they're making an impressive effort to make their movies look great within the bit-rates and file sizes we've specified.


Hosting and Delivery Issues

  • Q Who does your hosting? Are there separate hosts for ecommerce and movie delivery?

  • A Our ecommerce site is hosted by IBM, as is the main company web site. Our content delivery network is managed by Cable and Wireless. When you type in http://www.Movielink.com, the request goes to IBM who we chose for their high availability. Movielink performs the development of the code that runs on these servers and just uses IBM and Cable and Wireless for standard hosting duties.

  • Q Have you had any unusual or unpredictable experiences in the media delivery process, such as big spikes, DoS attacks, unauthorized access attempts, etc.? If so, how did you deal with them?

  • A We were very conscientious about scalability when designing the Movielink architecture, and we applied the usual gamut of best practices (i.e., three-tier architecture, caching, etc.) as well as ensuring that we had sufficient hardware. As everyone knows, DoS attacks are very difficult to defend completely against, but we have taken many precautions to protect against such malicious behavior.

    We also anticipated the need to have control over our distribution, and implemented some security measures to prevent DoS-like attacks against our CDN. We received validation that we'd done our jobs when on our first day of business the site was posted on the Slashdot discussion boards, and we were not "slashdotted."

    Slashdot is a highly trafficked site (dubbed "news for nerds") and is the news and discussion portal for techies. When a site gets "slashdotted," it receives so much traffic from click-throughs off the posting that it experiences a melt down and goes off the air. We successfully withstood the load without the slightest outage. That was a very satisfying moment for our technology team.


User Activity Tracking

  • Q I know this is sensitive, but what can you tell us about how Movielink engages in this?

  • A We do fairly standard usage tracking at the aggregate level. This helps us understand what's working and what's not in terms of merchandising our products, site navigation, etc. Movielink has a strict privacy policy that protects its users' personal information from being shared without their express consent.


Business Modeling

  • Q As you mentioned earlier, your basic business model follows that of the traditional neighborhood video store. Can you elaborate on that?

  • A The video store model is useful in understanding what we do. But in terms of industry "movie windows" we are, strictly speaking, a pay-per-view service, based on how we are defined by the studios. Because this is new territory for them, there has been a need to fit it into existing licensing and distribution rights.

    Like a video store and generic pay-per-view, we give you 24 hours to enjoy a movie. Movielink takes that a step further by letting you store a downloaded movie on your hard drive for up to 30 days (see Figure 17.3). All this is handled by our DRM system. This lets you download a number of movies at the same time but not feel pressured to watch them all in one day, which we think is a significant convenience.

    Click To expand
    Figure 17.3: User viewing windows for Movielink video files.

  • Q How do you think this compares to the NetFlix and DirecTV experience?

  • A NetFlix, like Movielink, is a personal viewing service. Consumers create a personal list of films they would like to see and three DVDs from that list are mailed to them on regular basis. Movielink's service is similar, in terms of being able to accumulate a queue of movies you can watch on a more relaxed schedule. With Movielink, however, there are no physical DVDs to mail back or keep track of, and a consumer can see any film on the service, not just the ones that appear in their mailbox. Net-Flix has a compelling offering, but we feel Movielink offers a lot more convenience for people with broadband. Furthermore, we believe that the future is in IP delivery of high quality video files, thus eliminating the trip to the video store—or the mailbox.

    DirecTV is near video-on-demand—in other words, a scheduled performance to which a user can get conditional access. True, you usually don't have to wait more than an hour or two on the day the movie you want is available, but the selection is inherently limited. Also it is not portable like Movielink since we actually download the video file to the users PC, which may be a laptop.

  • Q Since we're on the subject, can you describe where Movielink fits in the public release schedule compared to theatrical, cable, pay per view, home video, etc.?

  • A Movielink falls in the pay-per-video window. In the life cycle of a film, this is after theatrical and home video release but before pay television (HBO, Starz, Showtime, etc.) and broadcast television.

  • Q It is worth noting that most traditional video stores, including the big chains, make their margins on late charges. This concept doesn't seem to exist in the Movielink vision, which should please customers, at least in theory. Can you comment on this aspect of the business?

  • A This is another example of how Movielink provides convenience for its customers. With the traditional video store, you must watch and return your video within what is usually a 3–5 day period from the day you rented, or you start incurring penalties. With Movielink, you only pay once and get the movie within the time of a single trip to the video store. Furthermore, you can choose to watch your movie at any point during the 30-day storage period (the only exception being if the movie is leaving the PPV window within that 30-day period), and there are no late fees and nothing to return.

Note

Author's note: These various delivery systems are compared graphically in Figures 17.4 and 17.5.
Start Figure
 | Wide Selection Always Available | Instant Gratification | Extended Viewing Window | Portable
Movielink | Yes | Yes (broadband) | Yes | Yes
NetFlix | Yes | No | Yes | Limited
DirectTV PPV Movies | Limited | Limited | Yes | No
End Figure

Figure 17.4: Differences in movie delivery platforms.
Start Figure

Theatrical - Movie Theatres

Hotels and Airlines

Home Video

Pay-Per-View and Movielink

Cable TV

Broadcast TV

End Figure

Figure 17.5: Feature release food chain.


Movie Studio Relationships

  • Q Again, this is probably somewhat sensitive, but I think it would be useful to readers to hear your first-hand experience. What can you say about the politics involved here?

  • A I am one of the original members of the Movielink team, from back when it was a gleam in Sony Pictures' eye. The champion of this venture in the beginning was Yair Landau, who is now Vice Chairman of Sony Pictures. He recognized that for Movielink to be successful, we'd have to offer movies from studios other than Sony. Yair was able to shop the Movielink concept around to the other studios, and bring them to the negotiating table. Clearly the studios are fierce competitors, and the negotiations were challenging. It's truly a historic accomplishment to get five of the majors on the same page and invested in this joint venture.

    On an ongoing basis, these studios are our investors and owners. Not only do we have to provide value and service to Movielink customers, we also need to protect the studios' interests by providing a highly secure distribution platform.

  • Q Do the studios consider Movielink a viable long-term play, in your opinion, or more of an experiment?

    One of the reasons Movielink was started was because the studios are committed to developing the IP platform, and providing consumers with more options. Part of the motivation is to prevent piracy, but also to expand into new emerging markets.

    There has been other activity in our space, but not with the backing of multiple major movie studios coupled with a reliable DRM system such as the one built in Windows Media. While I can't give you subscriber or download numbers, I can say that a lot of thought went into our business plan, and to date we are happy with results.


Where Movielink is Headed

  • Q Will you offer more independent and original content going forward?

  • A We are absolutely interested in expanding our content to include other types of programming than what's available from our studio partners, including foreign, niche, and independent features.


The Author's MovieLink Experience

Below is a step-by-step account of my personal experience in using Movielink on a day-to-day basis. Follow along if you'd like to subscribe to Movielink and rent a movie.

  1. Go to http://www.movielink.com (see Figure 17.1).

  2. Click the Login link and fill in your customer credentials (see Figure 17.6).

    Click To expand
    Figure 17.6: Logging into Movielink.

  3. Click the New Release link in the left column to see the latest offerings (see Figure 17.7).

    Click To expand
    Figure 17.7: Movielink new releases.

  4. Click a desired title for details (see Figure 17.8).

    Click To expand
    Figure 17.8: Details of desired movie.

  5. Play the trailer, if you'd like (see Figure 17.9).

    Click To expand
    Figure 17.9: Viewing the desired movie trailer.

  6. Click the Rent button if you're ready to rent the movie.

  7. Click the Proceed to Checkout button (see Figure 17.10).

    Click To expand
    Figure 17.10: Movie selection confirmation.

  8. Fill in your personal data and credit card information (see Figure 17.11).

    Click To expand
    Figure 17.11: Billing information input.

  9. Confirm age and agree to terms of use (see Figure 17.12).

    Click To expand
    Figure 17.12: Confirm the usage agreement.

  10. Wait for the order to be processed, then click Download Movie (see Figure 17.13).

    Click To expand
    Figure 17.13: Prepare to download!

  11. Switch to the Movielink Manager and wait for download to finish (surf the Web to kill time, if you'd like).

  12. Look for email confirmation of the purchase (see Figure 17.14).

    Click To expand
    Figure 17.14: Waiting for the download to finish.

    When the movie download is done, its title and details will appear in the Movielink download queue as complete.

  13. Exit this window and return to the main Movielink UI, as shown in Figure 17.15.

    Click To expand
    Figure 17.15: Downloaded movie, ready for viewing with WM9.


Chapter 18: Standing in the Shadows of Motown - A WM9 Feature

Team LiB

Chapter 18: Standing in the Shadows of Motown—A WM9 Feature

Overview

I first got acquainted with Windows Media 9 Series at NAB (National Association of Broadcasters) 2002, in Las Vegas. At the Microsoft booth I saw what looked like a high-definition music video playing on a big plasma screen. Such presentations are common at NAB, but this was Microsoft—not yet a HD superpower.

After a WM9 update from a company spokesperson, I still couldn't stop watching (and listening to) the show on their home theatre. This was the documentary, long in production, about the musicians (the Funk Brothers) responsible for the sound of Motown Records in the 1960s and 70s. But what was Microsoft doing with it—aside from making it look and sound beautiful when played from a computer system?

Later that year Standing in the Shadows of Motown was released theatrically and is now out on home video. But when I started working on this book, I kept coming back to first impressions: not only was Microsoft encoding such features for high-definition playback, but they could also get the hi-def content into a format that the WM9 Encoder would accept as usable input. This process was clearly worth describing in the book. (see Figure 18.1).

Click To expand
Figure 18.1: Standing in the Shadows of Motown in the WM9 Player

I had to make a number of calls to find the right person, and finally I came full circle back to Microsoft. Along the way I spoke to very helpful people at Artisan Entertainment (http://www.artisanentertainment.com), the movie's distributor, and the PR firms Rogers & Cowan (http://www.rogersandcowan.com) and Weber Shandwick (http://ww.webershandwick.com). The movie has its own web site at http://www.standingintheshadowsofmotown.com.

The person at Microsoft I interviewed about the technical production of the movie, specifically the digitization and WM9 encoding, was Tim Harader, Business Development Manager, Digital Media Division. Also present was David Caulton of Microsoft, who has been instrumental in helping me keep this book on track. Thanks to both of them for taking the time to provide the crucial details. My questions are in italics.


Origin and Background

  • Q Tim, can you give me a short resume?

  • A I come from the postproduction world, where I was an Avid and ProTools editor in New York. I got involved with Microsoft thanks to the dot-com streaming phenomenon, but I'm glad to see that our technology finally works so well now in the pro video and audio space.

  • Q How did this venture come together, and who drove it—creative or technical or both? What made it right for Windows Media 9 outside of the excellent music?

  • A The overall project was driven from the business development side. The feature Standing in the Shadows of Motown was part of the BMW Films Digital Cinema Series, which is a co-marketing partnership between Microsoft and BMW. This included the three new short films starring Clive Owen as The Hire (see Figure 18.2) and provided a vehicle to get them exhibited in movie theaters in the hi-rez Windows Media format. In other words, if you went to a theater to see the WM9 version of Standing in the Shadows of Motown, you'd see one of the three shorts before the main feature.

    Click To expand
    Figure 18.2: BMW Films' The Hire

  • Microsoft got involved with the filmmakers and producers of Standing in the Shadows of Motown prior to it being acquired by Artisan Entertainment, but the film itself had been in production for close to 10 years. We were originally going to do just a 7-minute trailer for the film to demonstrate the new version of Windows Media, then code-named "Corona."

  • Microsoft had been working with Fallon International, BMW's creative agency who ran the BMW Films series, on the online use of Windows Media as a format for the films. Simultaneously, we were working on a project that became the first Windows Media format film to be shown in an early version of Windows Media 9 Series (before it was in beta) in commercial movie theaters. It was an independent film called Wendigo, and with our technical assistance it released in Seattle, Dallas, and Denver in our format.

  • I had been formulating the idea of a sponsored theatrical series of feature films and as an introduction to the idea brought the Fallon guys over to the cinema in Seattle that was playing Wendigo. When they saw the quality and bleeding-edge nature of what we were doing, they immediately saw it as relevant to the BMW Films series. After a long period of planning we launched the BMW Films Digital Cinema Series on November 15, 2002, with the release of Standing in the Shadows of Motown at the Apollo Theatre in New York.

  • Since we'd been working with the producers of the film for over a year, it was very satisfying to be able to convince Artisan, who had purchased the film for U.S. theatrical distribution, to make it part of the Digital Cinema Series. It is important to note that Microsoft is not getting into the movie distribution or exhibition businesses. The Microsoft/BMW Cinema series is purely a co-marketing venture to promote films from distributors who choose to use Windows Media as a theatrical format.

  • Q I've seen portions of the picture on big plasma screens at tradeshows and also the theatrical release, but never the Windows Media version end-to-end in a lavish home theatre. I assume there is at least one master copy in a secure location in Redmond. Is it all one file? What's the aggregate size of the richest digital version?

  • In terms of a WM9 master file for Standing in the Shadows of Motown, no, we do not have an archive because we do not own the film. However, on feature length projects like this, the typical process is to keep it archived in a digital "lock box." Anyone can use it, subject to the approval process set up by the content owner, but it is treated like a film in a secure film vault somewhere. There would be just one file, normally around 6–7 gigs in size for a feature. The data rate is normally between 8–10 megabits per second at a constant bit rate. Video frame size of such a master is 1,280×720 for a 16×9 aspect ratio.

  • Q Are archives stored on optical media of some type or an external hard drive?

  • A Actually, projects are currently backed up on DLT tape (see Figure 18.3). The file size is small enough that DLT isn't essential, but the format is standard for archiving digital media. If this file was played from a hard drive on a fast enough machine in your home theater, performance would be as smooth as in a big theatre. The difference in output quality depends, of course, on the size of the screen and the sophistication of your sound system.

    Figure 18.3: DLT tape cartridge.

  • Q What was the digital premaster from which this WM9 file was made?

  • A It was made from an uncompressed AVI file, but I expect this year we'll see DDR equipment for capturing and working with uncompressed Windows Media 9 files at 1,280×720 and 1,920×1,080 resolutions. This means that some Windows Media masters will be losslessly uncompressed and maybe not suitable for direct playback, but available for striking submasters for specific delivery platforms.

  • You should also know that uncompressed WM9 color space is 8-bit/4-2-0 while uncompressed AVI is 4-2-2 in either 8-bit or 10-bit format, which is technically better quality, but we believe WM9 is very acceptable for independent theatrical playback.


Copyright Issues

  • Q Were there any copyright issues based on digital technology worries?

  • A We certainly have the technology, Windows Digital Rights Management, that protects these digital files. In terms of how the independent film community has seemed to view copyright issues, there have been some vague concerns in this area. In the independent distribution and exhibition industry, things are fundamentally different than in Hollywood. The independents are less nervous for a number of reasons. For one thing, independent content tends to target niche audiences where appeal to the mass audience is less relevant. There are cases like My Big Fat Greek Wedding and Crouching Tiger, Hidden Dragon, where an independent feature has crossed over to the mainstream as a breakout hit, but generally independents don't expect this level of success.

  • Secondly, independent films tend to have far fewer major stars, which helps to bring down interest from content pirates. Lastly, the margins for independents are narrower, so the cost savings of going digital means more for their business than the remote possibility of losing value from widespread piracy.

  • In other words, independent film companies need to have enough money available to promote and advertise their theatrical releases. If they don't recoup that money, because their overall budgets are much smaller, it may directly affect future releases. Therefore, anything they can do to reduce their costs is proportionately more important to them.

  • If they don't have to make a film print for each copy of the digital features that goes out to theatres, they save between 1,000 and 2,000 dollars. That may not be a lot of money by Hollywood standards if the feature is only going to 50 theatres, but it's 50–100 grand they can spend to make the film perform significantly better in selected markets through advertising and promotion.

  • Q So it seems like the proverbial win-win situation: pirates aren't necessarily targeting these movies, and even if they are, there is technology, Windows DRM, to protect these files. Also, distributors are saving money on media reproduction costs—in spite of and because of the fact that it's digital. As long as they remain niche players.

  • Also, independent producers are more likely to shoot on video at this point, which can mean significant savings if they limit their theatrical release initially to digital only. If the film performs well, they can always decide to spend the money for a digital-to-film transfer, and at that point they can feel secure that they haven't wasted money on a film that won't catch on with the public.

  • Standing in the Shadows of Motown was shot on a combination of film and video over the years. All of that was transferred to film along the way. Despite the historical feel, a lot of the content was shot on standard-def video, although the more recent interviews with the musicians and the reenactments and concert footage were shot on 35mm film.

  • Q Did you need to do much work convincing people of the quality of Windows Media 9 Series?

  • A For this film, we worked with their postproduction supervisor, who approved the various film and audio masters. They were fairly neutral going in, but they liked it once they saw the encoding results.

  • Q Was anyone predisposed to go with another technology, such as QuickTime, Real, or something else?

  • A This is another thing that's specific to the independent film industry. Basically they're being passed over by the mainstream digital cinema business. In Hollywood, desktop cinema technology is still in a demonstration-and-trial phase. Windows Media 9 can render high-resolution video without the need for add-on hardware assistance on a 2.8 GHz machine and is suitable for theatrical exhibition. At this point, although QuickTime is certainly a format used for creation of entertainment content, its compression is not efficient enough for unassisted, cinema quality playback on a computer. From what I have seen, a G4 cannot do this.


Planning and Provisioning

  • Q How detailed was the planning for producing the final WM9 version of Standing in the Shadows of Motown that was shown in theaters?

  • A We didn't use Microsoft Project or Visio to schedule every step, but we did make good use of Excel for organizing the bulk of the project details. Although the actual final encoding of the film into WM9 occurred at the end of the overall production process, there was a lot of discussion and formal planning leading up to that important step. The overall process in feature productions such as this are typically very involved and getting to the final encoding process takes time.

  • In this case, the film first had to be telecined to HD on D5 tape. Microsoft was not directly involved with that part. When we did get the resulting D5 master, along with the film's mixed audio master on a multitrack tape, we then captured the video to a digital disk recorder. From this DDR we converted the video into uncompressed AVI with a synched 8-track WAV soundtrack recorded from the audio master (see Figure 18.4).

    Click To expand
    Figure 18.4: The media conversion process

  • Q Was this done at your studio at the main Microsoft campus?

  • A Yes—everything except transferring the film to the D5 tape. After that, we performed a suite of tests prior to encoding the whole feature. For example, we had to verify that the AV synch was happening correctly, so we sampled 10-second spots throughout the film based on different audio offsets. The overall process went relatively smoothly, mainly because it was based on previous features our team at Microsoft studios had encoded.

  • One movie in particular we learned from was the independent feature Wendigo (http://www.thewendigo.com), the first feature ever released commercially in a pre-beta version of Windows Media 9 Series.

  • We had to essentially invent the process of encoding high-resolution Windows Media 9 Series for this picture. We came up with a multipath production plan that included five or six different ways to accomplish the task. In the end, only the last one panned out. Because a lot of this was new territory, we worked with several non-Microsoft partners who provided custom hardware and software to solve some of the issues we ran into.

  • Q Can you mention any products or vendors here?

  • A Unfortunately not, but most of the hardware and software tools we started out using were either not meant for this type of production or were never really tested in serious production. What I am referring to are things such as timing and synch problems, frame rate issues and color-spaces not being calibrated correctly in software. After dealing with these integration variables we finally distilled a stable production recipe, which we then used for Standing in the Shadows of Motown.

    Note

    Author's Note: Additional information about Wendigo and other Windows Media film and video productions is available at http://www.microsoft.com/windows/windowsmedia/press/vip/film.aspx.

  • Q Do you plan to use that recipe for future Windows Media feature productions?

  • A Absolutely. The good news is that, because of all the hard work we did on those two films, we can now offer our expertise to other vendors who may be interested in this space. At NAB 2003 there were new products from Microsoft partners who have been developing hardware and software to fit into the overall Windows Media high-resolution production process for feature-length content.

  • Specifically, I think you'll see several DDRs that can capture uncompressed Windows Media 9 Series data in real time at 720p. Vendors that I know of so far in this area are Accom (http://www.accom.com), Drastic (http://www.drastictech.com), and Aja (http://www.aja.com). These products will be priced at various levels based on their target market—from professional postproduction to boutique desktop shops.

Production Plan Summary

  • Q Can you summarize this multifaceted production process, just so readers can walk down the street thinking about it?

  • A In general, I'd say a production plan for something like Standing in the Shadows of Motown, assuming you did it the way we did, would break down as follows:

    • Preparation of source

    • Processing of source

    • Final encoding into Windows Media 9 Series.

It's hard to say which of these areas will ultimately involve the most work, although the final encoding phase is mostly pure execution. Nothing in the pro space fits into a nice little container, so nothing runs exactly the same with every project. These projects are all different, and there are issues that arise that can't always be anticipated.

If the original source is film or an unfinished production shot on film, phase 1 involves transferring it to a master digital video format. Phase 2 involves processes such as color correction, audio synch and mixing, and perhaps actual editing.

  • Q Is phase 1 something you'll normally outsource to a specialist or buy the equipment and do it yourself?

  • A The first phase you'll have to outsource unless you happen to have a telecine machine (see Figure 18.5). This type of device scans 35MM film into high-quality digital video. Normally this is at 24 frames per second, although it can be anything you want—such as 1,080i 60 fps, 24p, 30p, etc.

    Click To expand
    Figure 18.5: State of the art telecine box

Telecine machines can output to tape or to computer files. Such files are likely be in a proprietary uncompressed RGB format (4-4-4 color space, 12-to 16-bit), which DDR manufacturers and server manufacturers create for their hardware. Or the files can be in a standard format like DPX. Either way, the files are then stored on RAIDed disk servers. The service bureau that performs phase 1 telecine services returns to you either a D5 tape or files in the format just described.

If the original content is video, you might also outsource for color correction and other types of media preprocessing that you would otherwise do yourself in phase 2 if you had your own equipment. This is what I meant earlier about things in this process not always fitting neatly into little containers. It takes a lot of experience to make efficient and cost-effective choices in this industry, and the technology keeps changing, which is why outsourcing is good as long as you know and trust the technicians involved. High-end equipment in this area is extremely expensive.

  • Q Did you personally oversee and coordinate this part of the production of Standing in the Shadows of Motown, and how long did phase 1 take to complete?

  • A Yes, I was the project director for the encoding process of this film to Windows Media 9 Series. Although I managed the project, the technical challenges were driven by our crack team of film/video engineers at Microsoft Studios. As I mentioned before, they basically had to invent new production processes for Windows Media 9 Series cinema mastering. Phase 1 as described took a week, maybe 10 days total. This can vary depending on how picky the film's producer and director are and on the number of versions that need to be produced.

  • Q So what happens next?

  • A Assuming you get either a tape or a file from the telecine house, there are two possible next steps at the start of phase 2. If you get a file and it's not in AVI format, you've got to convert it to AVI. If you get a tape you've got to capture it to a DDR and then convert that into an AVI file. Standard equipment exists for doing all this, most of which we have in our studios at Microsoft. For Standing in the Shadows of Motown we used the Accom WSHD (see Figure 18.6).

    Click To expand
    Figure 18.6: Accom WSHD Digital Disk Recorder.

  • Q How long does this process take? Is there much manual labor?

  • A The capture from tape to DDR is unattended and is real-time. The time-consuming part is the conversion to AVI. The process is unmanned after set up, but it does take a while. Accom just enabled the WSHD to capture directly into Windows Media 9, which will dramatically simplify this phase of the overall formula.

  • Q This means that the AVI step is now removed from the production process?

  • A Yes—it's finally gone. You can now capture from D5 tape into an uncompressed Windows Media 9 file and then encode that however you like for public distribution. Again, once this technology becomes commonplace, phase 2 of the model I mentioned earlier becomes much less time-consuming and labor-intensive, unless you still need to edit or color-correct the feature. So far, the assumption has been that we're starting with completely edited source content.

  • Q So on to phase 3. Were there any DRM issues going in?

  • A Phase 3 is basically as straightforward as this sounds, assuming you know the settings you want to use for a high-quality output—and you have a fast enough machine with enough hard drive space not to complicate or slow down the process unnecessarily.

  • As I mentioned earlier, the data rate on Motown was essentially 8 megabits per second, constant bit rate. Resolution was 1,280×720, all of which we set in the Windows Media encoder using the uncompressed AVI file from phase 2 as the image source file (see Figures 18.7 and 18.8). For the audio, we targeted a separate extensible WAV file that included six channels of surround plus two channels of LtRt (prologic) audio.

    Click To expand
    Figure 18.7: WM9 Encoder settings for Standing in the Shadows of Motown.

    Click To expand
    Figure 18.8: More WM9 Encoder settings for this movie (or one like it).

  • In terms of DRM, all of the files distributed of this film as part of the BMW Films Digital Cinema Series have been encrypted with DRM.


Digital Movie Distribution Details

  • Q Once you had a master encoded, how was it distributed to theaters? How many theaters are capable of receiving and presenting it that way?

  • A Standing in the Shadows of Motown was distributed theatrically through a combination of private networks and physical media such as external hard drives and DVD-ROM. We are working with Landmark Theatres and Digital Cinema Solutions (DCS) to equip all 177 Landmark screens in 53 locations with Cinema Systems from DCS for Windows Media 9 playback.

  • Q Have you done any trials using the DVD HighMAT technology?

  • A Not yet, but the movie plays back just fine from a DVD-ROM as a Windows Media 9 file on DVD-ROM from the Windows Media Player versus from a mastered DVD video disk.

  • Q I know that Standing in the Shadows of Motown was released prior to this year's Sundance Film Festival, but can you talk about the extent to which Windows Media technology played a role at that event in 2003?

  • A Four films were screened at Sundance 2003 in WM9 format. There were technical issues with one of the films that were caused by converting from a 480i source to a 720p target, which is a non-Windows Media problem. The film had gone from an interlaced to a progressive-scan format, which almost always introduces motion artifacts. The decision was made not to screen this film after we previewed it and brought the problem to the director's attention. Again, this is one of those challenging transcoding situations when doing scan conversions and image scaling and not a shortcoming of Windows Media 9 Series (see Figure 18.9).

    Click To expand
    Figure 18.9: New maps of transcoding hell.

The other three full-length films that we screened were all world premiers for those films and included Selma Hayek's The Maldonado Miracle and two HD originated features, A Foreign Affair directed by Helmut Schleppi and Larry Charles's Masked and Anonymous starring Bob Dylan, John Goodman, Jessica Lange, and Luke Wilson. Larry Charles was particularly pleased with the Windows Media 9 Series version of his film. In comparison to the 35mm print they had made, he believed the digital version in Windows Media to have superior color rendition.

Windows Media 9 was very well-received in general at Sundance and has actually been accepted by the festival as a screening format going forward.

Note

Author's note: Unfortunately, we may be headed into the golden age of transcoding problems as everyone tries to get their content looking as good as professionally produced HD—even if such content only exists in standard-def format, locked in a fuzzy older codec. But that's another chapter for a different book.

As noted in the Introduction, this book is about making, delivering, and playing back video on your PC. I believe Windows Media 9 Series now provides, the best overall platform for this activity, from playback of short clips on handheld devices to enjoying feature-length movies in high definition on a PC-based home theatre. I have personally experienced each of these extremes, as well as most of the scenarios in between, with great satisfaction (based on the known limits of the hardware involved). I now use the WM9 Player as my exclusive audio jukebox, and Snap-Stream as my trusty PVR. I hope you'll take the time to explore the production techniques presented in this book for both business and pleasure.


Index

Numerics

1394 188


Index_A

Team LiB

Index

A

Acrobat 137
ActiveX 138, 153-154
administration 10, 12, 17-18, 100
Adobe 73, 207, 224, 327
advertising 98
AMG (All Music Guide) 3
analog x, 42, 44, 48, 50, 65, 68
announce 98, 100
Apex Digital 304
API 5
Apple ix-x, 72-73, 153, 220, 268, 312
architecture 7-8, 17-18, 38, 182, 186, 204, 346
archive 31, 39, 47, 53, 56, 58, 60, 66, 68, 75, 82, 86, 92, 107, 111, 249, 281
Artisan Entertainment xii, 353, 355
ASF (Active Streaming Format) 9, 20, 74, 318, 323, 326
ASX 98, 106, 141-143, 154, 170-172, 269-270
Audio
5.1 314
audio
multichannel 10-11, 14, 79, 328
quality 31, 52, 56, 66-67, 76, 79, 87-88, 249
Audio 5.1 314-315
authoring 20, 90-91, 187-190, 195, 303, 319
AVI ix, xx, 9, 21, 42, 71-74, 86, 90-92, 190, 194-197, 242, 279-281, 288, 323, 326-328, 330, 334, 337


Index_B

Team LiB

Index

B

batch encoding 10, 16, 174, 177
bit rate 10, 12, 16, 20, 30, 48, 53-55, 58, 65, 68, 80, 224, 236, 239, 249, 326, 345
broadband 1, 9, 12, 17, 48, 53, 273, 313
broadcast ix, 11-13, 18, 28, 35, 37-38, 59, 62, 65, 101-103, 106-111, 185-186, 209, 226, 230, 239
burning 3-5, 201, 237, 271, 306, 311, 330, 334, 344


Index_C

Team LiB

Index

C

calibrate xxiii, 5, 44, 230, 324
camcorder 14, 31, 240
camera 31, 43-44, 65-66, 68, 88, 92, 106, 109-111, 188, 282
Camtasia 62, 280
capture 41, 65-69
Casio 258
catalog 153, 156
CBR (Constant Bit Rate) 48, 52-53, 57, 60, 107, 111, 249, 274
CDN (Constant Distribution Network) 96, 346
CD-ROM ix, 3-4, 42, 54, 58, 72, 80-81, 83, 85, 143, 149, 153, 156, 188-189, 222, 236-237, 259, 303, 307, 310-312, 327, 329, 334
certificate 117
Cinepak 5, 9, 72, 175
client 12, 18, 35-36, 38-39, 53-54, 102, 104, 116, 125, 182, 184-186
codec xii, xix, 8-11, 14, 16, 26, 63, 72, 90, 118, 133, 176, 220-221, 273, 275, 278-298, 326-327
COM object 116
command line 9-10, 16, 181
Compaq 258
compression 42, 71-92, 279-280, 282, 313, 323, 345, 358
consumer electronics ix, xii-xiii, 1, 20, 303-319, 344
content 48, 119-122
content ID 118-122
control panel 154, 197, 212
convert 65, 81
copy 2-4
copy from CD 2-3
copy to CD 3-4
copyright 19, 357-358
CPU 51, 53, 55, 58, 61, 68
Cringely, Robert X. 153
cropping 179-181


Index_D

Team LiB

Index

D

decoder complexity 57, 325
default 24, 29
delivery ix-x, xv, 5, 15, 47, 63, 93, 100, 105, 116, 125, 130, 132, 143, 188, 220-221, 224, 242, 264, 273, 279, 297, 341, 345-347, 357
Dell 245, 260
development 22, 37, 116, 137, 169-186
device 245-260
dial-up 11-12, 48, 278, 280
DirecTV 347
DivX 343
documents x download 5, 76-78
DRM (Digital Rights Management) 12-13, 16, 19, 113-133, 251, 341-346, 349, 358, 362
dropped frames 282
DV x, 14, 90
DVD 189
DVD Workshop 188-190, 195-196, 200


Index_E

Team LiB

Index

E

editing 82, 90-91, 187-205, 207-224
effects 202-203
embed 153, 170
eMotion studios 208, 220
encode 3, 117-118, 174, 240, 279-298
Encoder 101, 103
encoder pull 101-103
encoder push 101, 103-105, 111
encoding 274
encryption 345
enterprise 328-329
Equator 303
export 217-219


Index_F-G

Team LiB

Index

F-G

film 63, 65, 81-82
firewall 106, 110, 229
FireWire 26, 31
Flash 259
flash 245, 252, 259
format 20


Index_H

Team LiB

Index

H

handheld 245-260
Harader, Tim 354
Hauppauge 239, 334
HD (High-Definition) xiii, 1, 20, 220, 353
HDTV ix-x, 20
HighMAT 304-306, 308-311, 344, 363
hosting 345-346
HP (Hewlit Packard) xxiii
HTML 138, 153-154, 170, 243, 269, 273
HTTP 103-104, 106, 171


Index_I

Team LiB

Index

I

IEEE 188
illustrated audio 273-278
Indeo 9, 72
installation 21-39
instant-on 1, 20
Intel 72
interlace 60, 78, 222, 251, 363
Internet Information Server (IIS) 32, 93, 96
InterVideo 88, 262-265
inverse telecine See telecine
iRiver 4, 309, 311


Index_J

Team LiB

Index

J

JavaScript 138, 153, 156, 170
Jumpstart 24
JVC 14, 31, 43, 88, 304


Index_K

Team LiB

Index

K

key frame 52, 324, 332
key ID 116, 118-121, 123, 125


Index_L

Team LiB

Index

L

license 115-119, 121-125, 129-133
logging 185, 222
Logitech 106, 110, 315
lossless 1, 3-4, 20, 56, 63, 66, 87-88, 90, 220-221, 280
Lundahl, Paul 208, 220


Index_M

Team LiB

Index

M

Macintosh 65
mastering 92, 361
maximize 282
Media Center 303, 312-314, 316-319
Media Player 2, 7, 26, 37, 58, 60-61, 115, 141-143, 154, 236, 238, 246, 258, 266, 279, 281-283, 298, 313-314, 318, 363
media wrangling 14, 71, 82, 88, 90-92, 173
menu 4
Microsoft Office x, 281
Microsoft Plus! xix, 202, 262
Mini Player 7
minimize 154
monitor 286
Motion-JPEG 72
Movie Maker 71, 73, 82, 85, 90-92, 187, 189-205, 247, 252-253, 255, 257-258, 261-262, 288, 306, 311, 318
Movie Maker 2 82
MovieFactory 330, 334, 337
Movielink 341-352
MP3 3, 261-266, 270-272
MPEG 15, 73
MPEG-1 9, 41-42, 72-73, 86-88, 92, 189, 332
MPEG-2 11, 14-15, 42, 88-89, 226, 330
MPEG-4 x, 343
MSDN 37, 114, 154, 181, 326
multicast 39, 95, 101, 105-106
multimedia 72, 150
music x, 3-4, 6, 261, 271-278, 304-305, 314


Index_N

Team LiB

Index

N

NetFlix 347
Netscape 138, 153, 172
network 11-12, 17, 93-111, 227, 229, 243, 259, 344
NLE 187, 203, 207, 214, 219-224, 252, 327
NTFS 21


Index_O

Team LiB

Index

O

object 118-120, 122, 125-127, 132-133, 137-139, 141, 144, 146, 153-154, 166, 172, 182, 185-186, 203, 281, 298
offline 222-223
on-demand 12, 18, 35, 96-102, 105, 186
online 221-224
Osprey 43-44, 225, 229


Index_P

Team LiB

Index

P

Panasonic 4, 201, 303-304, 344
path 100, 118
PC 226, 259
PCI 42-43, 226, 229
PDF x
Pioneer 304
pixel 13, 280
playback 5, 7, 19, 24, 35, 41-42, 51-52, 54, 58-59, 64, 68, 73-76, 80-81, 84, 91, 129, 189
playlist
client side 17-18, 98
server side 17-18, 100-101
plug-in 3, 14, 18, 38-39, 184-186, 224, 321, 326
Pocket PC 47, 55, 58, 186, 227, 245-260
Polaroid 303-304
PowerPoint 138-149, 261, 273, 275, 297-298
Premiere 9, 11, 41, 60, 68, 73, 88, 91, 207, 321, 326
Producer 149-153, 261, 273, 275-278
profile 16, 27, 42, 47, 53-54, 58, 62, 75, 177-178, 230, 232, 234-239
programming 169-186, 326
progressive download 32, 47, 52, 93, 98, 274
prosumer 44
ProTools 354
publishing 97
publishing point 12, 34-35, 38, 96-98, 100-101, 103-106, 109-111
PVR (Personal Video Recorder) 225, 227-228, 239, 242-243, 312, 317


Index_Q

Team LiB

Index

Q

quality 20, 67, 234, 237
QuickTime ix, 1, 9-11, 42, 71-72, 86, 92, 189, 207, 220-221


Index_R

Team LiB

Index

R

RAID 72, 361
RAM ix, xxiii
Real 1, 73, 138, 207, 268, 273, 342-343
recording 3, 230, 235, 238-242, 317-319
Red Book 3, 271-272, 311
reference machine xxii-xxiii
refresh rate 98
render xvi, 20-21, 105, 143, 358
Rights Manager 113, 115-117
ripper 2-3
ripping 3, 262, 264-266
Rogers & Cowan 354
Roxio 4, 189, 237, 239, 271


Index_S

Team LiB

Index

S

San Francisco Canyon Company ix, 72
screen capture 16, 62-63, 279-288
script 137, 154, 173, 176, 186
SCSI 26, 72-73
SDK 16, 21-39, 114, 116-117, 153, 169-186
security 342, 344
Server 31, 93-94, 96, 101-103, 181
server 12, 35-36, 93-111
Service Pack xxiii, 153
services 4
session 14, 29, 31, 35-36
Smart Jukebox 1, 4, 6-7
SMIL 18, 39, 138, 143, 268, 270
SMPTE 10
SnapStream 225-244, 258-259
software development See development
Sonic Foundry xii, xvii, 73, 207-208, 219, 288, 291
Sony 10-11, 16, 41, 45, 220, 222, 348
Sorenson 1, 189
Sound Blaster 315
speakers 314-315
speech 249, 274
Standing in the Shadows of Motown 353-364
statistics 12, 24
streaming 35-36, 47-48, 52-53, 63, 74, 93-111, 128-130, 171, 181, 245, 249, 259
stress 51
Sundance 363-364
surround sound 1, 20, 314
SVCD 330 S-Video 42, 44, 240


Index_T

Team LiB

Index

T

target bit rate 57, 60, 68
taskbar 2
telecine 65, 81, 220, 235, 238, 360-362
template 293, 295
Terran 9
timeline 217-219
title 216-217
TiVo 225-227, 241-243, 258
tools 16, 189, 273, 321
Toshiba 201, 239, 245-246, 260, 304, 311
track
audio 170, 192, 255, 291
video 170, 330
transcoding 6, 42, 71-92
transition 192, 203-204, 212, 214, 216, 255, 290-291
TRMOOV 72
two-pass encoding 9, 77, 176, 251


Index_U

Team LiB

Index

U

Ulead xvii, 9, 72-73, 91, 188-190, 195, 200, 207, 288, 330, 337
uncompressed 42, 90, 92, 281, 327, 357, 359-362
unicast 39, 101
upgrade 8
URL 100, 118-119, 121, 123, 130, 141


Index_V

Team LiB

Index

V

variable 1
variable bit rate 3, 30, 65, 80, 251, 343
VBR
See variable bit rate
VBScript 117, 121-123, 125, 170
VCD 329-330, 332, 334, 337
VCR ix, 31, 67, 188, 240
Vegas 261
Vegas Video 73, 207-212, 214, 216, 219, 281, 288, 290, 295, 326-327
VHS 30, 79, 234, 236
VidEdit 9
Video for Windows ix, 72, 327
video smoothing 1, 5-6, 313
ViewCast x, 43
Vinguage 11
Visual Basic 117, 121, 139, 148, 182, 186
Visual Studio 37, 39, 169, 181, 204


Index_W

Team LiB

Index

W

Waggoner, Ben 71
web
browser 47, 273
page 100, 154, 172, 281-283
Windows 315
Windows 98 21
Windows ME 21
Windows Media 6 8, 26, 138
Windows Media 7 xix, 1-5, 8-9, 24-25, 29, 32, 49, 189, 246, 280
Windows Media 8 2, 8
Windows NT 8
Windows Update 319
Windows XP 187, 190, 228, 288, 303, 315-316
WinTV 225, 229, 240
wireless 18, 228, 304
wizard 14
WM7 1
WM9
encoder features 9-16
new features 2-8
Server Features 17-18
WM9CAP 327-328, 334, 337
workflow 189-205
WPL 268-271
wrapper 98, 185-186
WSX 100


Index_X-Y

Team LiB

Index

X-Y

XML 18, 124, 204-205, 269-270, 306, 309


Index_Z

Team LiB

Index

Z

Zenith 305


List of Figures

Introduction

Figure I.1: Encoding WM9 video for high-definition playback.
Figure I.2: Configuring a WM9 Server publishing point.
Figure I.3: Calibrating WM9 Encoder for full-screen capture.
Figure I.4: Converting from MPEG-1 to WM9.
Figure I.5: Calibrating the WM9 Server for Encoder Push.
Figure I.6: Overview of WM9 DRM
Figure I.7: WM9 Movie playing back from an MS Producer app.
Figure I.8: Command-line script for cropping a WM9 video clip.
Figure I.9: Movie Maker 2's user interface.
Figure I.10: Vegas 4 project including source WMV files.
Figure I.11: SnapStream User Interface.
Figure I.12: Windows Media Movie on a Pocket PC 2002 device.
Figure I.13: Microsoft Plus! DME User Interface.
Figure I.14: Setting up for a WM9 screen capture session.
Figure I.15: Root directory of a HighMAT disc.
Figure I.16: User interface of WM9CAP.
Figure I.17: Movielink's home page.
Figure I.18: WM9 in the movie theater.

Chapter 1: What's New in Windows Media 9 Series

Figure 1.1: Windows Media 9 Player running in Full mode.
Figure 1.2: Selecting a quality mode for audio ripping.
Figure 1.3: Choosing a Play Speed option.
Figure 1.4: How to enable video smoothing.
Figure 1.5: Mini Player in Video mode, distracting me from my deadline.
Figure 1.6: WM9 Player's role in the Windows Media 9 Series architecture.
Figure 1.7: Setting multichannel WAV source properties.
Figure 1.8: Monitoring server performance in a live event with the WM9 Encoder.
Figure 1.9: Post-encode editing with the WM9 Media File Editor.
Figure 1.10: WM9's new focus on media delivery methods.
Figure 1.11: WM9's server-side playlist administration UI.

Chapter 2: Setting up the WM9 Player, Encoder, Server, and SDK

Figure 2.1: Removing the WM7 Player in Windows 2000.
Figure 2.2: Choosing WM9 playback enhancement options.
Figure 2.3: Default filing system for WM files.
Figure 2.4: Default UI of the WM9 Encoder.
Figure 2.5: Device Control UI
Figure 2.6: End of WM9 Media Server installation.
Figure 2.7: Properties of a WM9 publishing point.
Figure 2.8: Playing a clip from a designated WM9 publishing point.

Chapter 3: Video Capture in WM9

Figure 3.1: WM9 Encoder New Session window.
Figure 3.2: Choosing a video input device.
Figure 3.3: Choosing an audio input device.
Figure 3.4: Selecting the video source.
Figure 3.5: Selecting the video format.
Figure 3.6: Calibrating the audio device properties.
Figure 3.7: Configuring audio settings in the Windows Control Panel.
Figure 3.8: Selecting the capture output file.
Figure 3.9: Default content distribution options.
Figure 3.10: Encoding options for media server distribution.
Figure 3.11: Providing caption data for a streaming video clip.
Figure 3.12: Settings Review window for a streaming video capture.
Figure 3.13: WM9 Encoder UI—open for business.
Figure 3.14: Real-time video and audio capture statistics.
Figure 3.15: Encoding results from a stopped capture session.
Figure 3.16: Encoding options for a progressive download clip.
Figure 3.17: Encoding options for a Windows Media hardware profiles clip.
Figure 3.18: Setting the WM9 Encoder session properties.
Figure 3.19: Selecting the file archive capture option.
Figure 3.20: Customized compression settings for file archive capture.
Figure 3.21: Edited Custom encoding settings, General tab.
Figure 3.22: Edited Custom encoding settings, Bit Rate tab.
Figure 3.23: Exporting a Custom Profile.
Figure 3.24: Setting the Custom Session Output Properties.
Figure 3.25: Setting the Custom session encoding properties.
Figure 3.26: More Custom session encoding properties.
Figure 3.27: initial screen capture setup.
Figure 3.28: Quality versus file size settings.
Figure 3.29: Ready to start the screen capture.
Figure 3.30: WM9 Encoder Quick Start templates.
Figure 3.31: XP's normal reaction to plugging in a DV camera.
Figure 3.32: Custom session wizard.
Figure 3.33: Compression settings for DV camera data acquisition.

Chapter 4: Compression and Transcoding with WM9

Figure 4.1: An early transcoding program: TRMOOV.
Figure 4.2: Trying to import a WM7 clip in Adobe Premiere.
Figure 4.3: WM9 Encoder New Session window.
Figure 4.4: Supply the Source and Output file names.
Figure 4.5: WM9 Encoder Content Distribution window.
Figure 4.6: Encoding Options for Compression.
Figure 4.7: WM9 Encoder in Conversion Mode.
Figure 4.8: Session Properties for Conversion.
Figure 4.9: Calibrations for Inverse telecine and Deinterlacing.
Figure 4.10: Encoding results from a typical conversion.
Figure 4.11: Content Distribution window with hardware device options.
Figure 4.12: Peak versus average video bit rates
Figure 4.13: Importing a video file in Movie Maker 2
Figure 4.14: Inserting an imported video file in the Movie Maker timeline
Figure 4.15: Splitting a big movie into smaller sections.
Figure 4.16: Starting the Save Movie wizard.
Figure 4.17: Setting the saved movie quality and file size.
Figure 4.18: Report of a successfully saved movie.
Figure 4.19: Retrieving our last-saved Movie Maker project.
Figure 4.20: Supply the source and output file names
Figure 4.21: Choose the highest quality video and audio
Figure 4.22: Reviewing the Custom Encoding Settings
Figure 4.23: Encoding Results from an MPEG-2 Conversion.
Figure 4.24: Selecting the DV-AVI file format.

Chapter 5: Network Streaming with WM9

Figure 5.1: Manage Your Server main menu.
Figure 5.2: Windows Media Services main menu
Figure 5.3: Windows Media Performance Monitor.
Figure 5.4: Top level publishing points list.
Figure 5.5: Adding an on-demand publishing point.
Figure 5.6: Newly created publishing point.
Figure 5.7: Publishing point Source tab.
Figure 5.8: Publishing point Advertising tab.
Figure 5.9: Create Wrapper wizard.
Figure 5.10: Publishing point Announce tab.
Figure 5.11: Publishing point Properties tab.
Figure 5.12: Top level publishing points list.
Figure 5.13: Adding a broadcast publishing point.
Figure 5.14: Newly created broadcast publishing point (Encoder Pull mode).
Figure 5.15: Top level publishing points list.
Figure 5.16: Adding a broadcast publishing point.
Figure 5.17: Enabling WMS HTTP server control protocol.
Figure 5.18: Newly created broadcast publishing point (Encoder Push Mode).
Figure 5.19: Newly created broadcast publishing point (Encoder Pull mode).
Figure 5.20: Launch the Encoder to broadcast a live event
Figure 5.21: Selecting device options.
Figure 5.22: Choosing the broadcast method.
Figure 5.23: Specifying the HTTP port.
Figure 5.24: Selecting encoding options.
Figure 5.25: Creating a broadcast archive.
Figure 5.26: Including other media files.
Figure 5.27: Supplying copyright data.
Figure 5.28: Review your settings.
Figure 5.29: Ready to start encoding.
Figure 5.30: Live encoding in progress.
Figure 5.31: The WM9 Player experience.
Figure 5.32: Choosing the broadcast method.
Figure 5.33: Specifying the server name and publishing point.
Figure 5.34: Logging on to the WM9 server.

Chapter 6: DRM, WM9 Style

Figure 6.1: Procuring the WM9 DRM SDK at the Microsoft web site.
Figure 6.2: Packaging and delivering WM9 Media files (from the Microsoft site).
Figure 6.3: Information flow in packaging a WM9 file (from the Microsoft site).
Figure 6.4: How a license is issued.

Chapter 7: Playing WM9 files in PowerPoint, Producer, and Internet Explorer

Figure 7.1: Create a test PPT document.
Figure 7.2: Display the Toolbars menu.
Figure 7.3: Invoke the Control toolbox.
Figure 7.4: Select the Windows Media Player object.
Figure 7.5: Create the WM9 movie window.
Figure 7.6: Display the WM9 object properties.
Figure 7.7: Supply the URL or file name.
Figure 7.8: Execute the PPT document.
Figure 7.9: Visual Basic editor.
Figure 7.10: MediaPlayer object context.
Figure 7.11: MediaPlayer Properties list.
Figure 7.12: More Media Player Properties.
Figure 7.13: Adding a Command Button.
Figure 7.14: Command Button Properties.
Figure 7.15: Ready to add Button code.
Figure 7.16: Finished Visual Basic code base.
Figure 7.17: The movie playing.
Figure 7.18: Select a project creation method.
Figure 7.19: Select a Presentation template.
Figure 7.20: Supply your presentation information.
Figure 7.21: Import your audio or video clip.
Figure 7.22: Select a playback site.
Figure 7.23: Select playback quality.
Figure 7.24: Simple player embedded in a simple page.
Figure 7.25: Home Theatre on a laptop.
Figure 7.26: Page 1: Criteria Selection (see Listing 7.5)
Figure 7.27: Page 2: The Sorted List (see Listing 7.6).
Figure 7.28: Page 3: The selected video clip (see Listing 7.7).

Chapter 8: Working with the WM9 Software Development Kit (SDK)

Figure 8.1: Web page with audio track presented in WM9 Player.
Figure 8.2: Ready to execute simple batch processing.
Figure 8.3: Interim and Final Encoding Statistics
Figure 8.4: Ready to execute profile batch processing.
Figure 8.5: Interim and final encoding statistics.
Figure 8.6: Ready to execute cropping/segmenting script.

Chapter 9: Making DVD Movies with WM9 and MS Movie Maker 2

Figure 9.1: Movie Maker's main user interface.
Figure 9.2: A simple collection ready for action.
Figure 9.3: Movie Maker in Storyboard mode.
Figure 9.4: The first video clip inserted in the timeline.
Figure 9.5: Adjusting volume of an audio track
Figure 9.6: Movie Maker Title menu.
Figure 9.7: Entering title and subtitle text.
Figure 9.8: Customizing title properties
Figure 9.9: Save Movie wizard.
Figure 9.10: Setting the movie output format.
Figure 9.11: DVD Workshop's main UI.
Figure 9.12: Initial project work area (Capture mode).
Figure 9.13: Edit work area.
Figure 9.14: Load Video File dialog.
Figure 9.15: Previewing the First Play clip
Figure 9.16: All clips inserted in the timeline.
Figure 9.17: Creating a new menu.
Figure 9.18: Selecting a menu template.
Figure 9.19: Project ready for rendering.
Figure 9.20: Preview and Burning area.
Figure 9.21: Presentation quality options.
Figure 9.22: Finally ready to burn.
Figure 9.23: Movie Maker's AutoMovie facility.
Figure 9.24: Saving a JPEG file from a video clip.

Chapter 10: WM9 with Third-Party Nonlinear Editors

Figure 10.1: A composite view of Vegas 4's user interface.
Figure 10.2: Starting a new Vegas project.
Figure 10.3: Importing media files into the project.
Figure 10.4: Clips ready for action in the Vegas Media Bin.
Figure 10.5: Clips ready for action in the Vegas Timeline.
Figure 10.6: Expanded track 1 view.
Figure 10.7: Creating a transition area.
Figure 10.8: Specifying a transition type.
Figure 10.9: Previewing a transition.
Figure 10.10: Invoking the Vegas title track editor.
Figure 10.11: Title track property controls.
Figure 10.12: Making the title background transparent.
Figure 10.13: The project ready for rendering.
Figure 10.14: Setting the Vegas render properties.
Figure 10.15: Making a custom template for rendering.
Figure 10.16: Possible HD/NLE production workflow.

Chapter 11: Using WM9 with SnapStream Personal Video Station

Figure 11.1: SnapStream's TiVo-esque User Interface.
Figure 11.2: SnapStream's on-line help system.
Figure 11.3: SnapStream's home page.
Figure 11.4: SnapStream's Main Configure menu.
Figure 11.5: Audio/Video settings for editing a recording profile.
Figure 11.6: Tuning settings, editing a recording profile
Figure 11.7: Creating a new video folder.
Figure 11.8: SnapStream Video Quality Profiles.
Figure 11.9: Editing the VHS Quality Profile.
Figure 11.10: Beginning SnapStream Diagnostics.
Figure 11.11: Test capture file ready for viewing.
Figure 11.12: Editing the Near DVD Quality Profile.
Figure 11.13: Burning a DVD-R with SnapStream-created WM9 files.
Figure 11.14: Using the Windows Media Encoder with Hauppauge's WinTV card.
Figure 11.15: Options available for manual recording.
Figure 11.16: Options available for a new scheduled recording.
Figure 11.17: SnapStream Program Guide.
Figure 11.18: SnapStream's Import Show Function.

Chapter 12: Producing WM9 Content for Handhelds

Figure 12.1: Reliable environments for WM9 Playback on Pocket PC 2002 devices.
Figure 12.2: WM9 Encoder New Session window.
Figure 12.3: Supply the Source and Output file names
Figure 12.4: WM9 Encoder Content Distribution window
Figure 12.5: Encoding Options for Pocket PC Compression.
Figure 12.6: Enter Caption Information for Display during Media Playback.
Figure 12.7: WM9 Encoder in Conversion Mode
Figure 12.8: Session Properties for Conversion to Pocket PC format.
Figure 12.9: Calibrations for Inverse telecine and Deinterlacing.
Figure 12.10: Encoding Results from a Conversion to Pocket PC format.
Figure 12.11: Movie Maker's main user interface.
Figure 12.12: Simple collection ready for action.
Figure 12.13: Movie Maker in Storyboard mode.
Figure 12.14: First video clip inserted in the timeline.
Figure 12.15: Adjusting the volume of an audio track.
Figure 12.16: Movie Maker Title menu.
Figure 12.17: Enter the title and subtitle text.
Figure 12.18: Customizing title properties.
Figure 12.19: Save Movie Wizard.
Figure 12.20: Setting the movie output format.
Figure 12.21: SnapStream PocketPVS content on a Pocket PC device.
Figure 12.22: Connecting a portable CD/ DVD ROM Player to a Handheld Device
Figure 12.23: High-end iPaq h5450 ($699)
Figure 12.24: Slightly less Toshiba e740 ($599)
Figure 12.25: Affordable Dell Axim X5 ($299)

Chapter 13: WM9 Audio Techniques

Figure 13.1: Folder versus single file conversion
Figure 13.2: Specify your search options
Figure 13.3: Removing unwanted conversions
Figure 13.4: Selecting conversion options
Figure 13.5: XPack MP3 configuration panel.
Figure 13.6: Last chance for conversion changes.
Figure 13.7: Conversion problem details.
Figure 13.8: Ripping to MP3 from the WM9 Player.
Figure 13.9: Setting the folder for new media files.
Figure 13.10: Creating a new playlist.
Figure 13.11: Naming the new playlist
Figure 13.12: Selecting the target CD type.
Figure 13.13: WM9 Encoder New Session pane.
Figure 13.14: Supply the source and output file names.
Figure 13.15: Content Distribution pane.
Figure 13.16: Encoding options for audio compression.
Figure 13.17: WM9 Encoder in Conversion mode.
Figure 13.18: Select a project creation method.
Figure 13.19: Select a Presentation Template.
Figure 13.20: Select a PowerPoint file.
Figure 13.21: Select the audio file.
Figure 13.22: MS Producer Timeline.
Figure 13.23: Select a location for local playback.
Figure 13.24: Select playback quality.

Chapter 14: Encoding with the WM9 Screen Codec

Figure 14.1: WM9 Encoder New Session window.
Figure 14.2: Choosing a screen capture region.
Figure 14.3: Specific window selection.
Figure 14.4: Screen region selection.
Figure 14.5: Select the screen capture output file.
Figure 14.6: Select a quality level.
Figure 14.7: Provide caption data for the clip.
Figure 14.8: Review your settings.
Figure 14.9: WM9 Encoder Main Control Panel.
Figure 14.10: It's show time… (above)
Figure 14.11: Screen capture encoding results.
Figure 14.12: Starting a new Vegas project.
Figure 14.13: Importing media files into the project.
Figure 14.14: Clips ready for action in the Vegas Media Bin.
Figure 14.15: Clips ready for action on the Vegas Timeline.
Figure 14.16: The expanded track 1 view.
Figure 14.17: Creating a transition area.
Figure 14.18: Specifying a transition type.
Figure 14.19: Previewing a transition.
Figure 14.20: Project ready for rendering.
Figure 14.21: Setting the Vegas render properties.
Figure 14.22: Making a custom template for rendering.
Figure 14.23: Create a PPT document.
Figure 14.24: Display the Toolbars menu.
Figure 14.25: Invoke the Control Toolbox.
Figure 14.26: Select the Windows Media Player object.
Figure 14.27: Create the WM9 movie window.
Figure 14.28: Display the WM9 object properties.
Figure 14.29: Supply the URL or file name.
Figure 14.30: Execute the PPT document.

Chapter 15: WM9 Integration in Consumer Electronics

Figure 15.1: Panasonic HighMAT-compatible DVD Player.
Figure 15.2: HIGHAT.COM web site.
Figure 15.3: Create a new playlist named HighMAT_Audio
Figure 15.4: Add some tracks to your HighMAT_Audio playlist
Figure 15.5: Select the HighMAT disc write format.
Figure 15.6: Choose the Play option.
Figure 15.7: Root of the HighMAT disc file system.
Figure 15.8: Root of the HIGHMAT folder.
Figure 15.9: Create a new playlist named HighMAT_Video.
Figure 15.10: Add some tracks to your HighMAT_Video playlist.
Figure 15.11: Select the HighMAT disc write format.
Figure 15.12: Choose the Play option.
Figure 15.13: Nice Try!
Figure 15.14: Alienware's Version of the Windows XP Media Center Edition
Figure 15.15: XP Sounds, Speech, and Audio Pane.
Figure 15.16: Advanced Audio Properties.
Figure 15.17: Advanced Speaker Settings
Figure 15.18: Select 5.1 Surround Sound Speakers

Chapter 16: Late-Breaking News & Production Tools

Figure 16.1: Import a WM9 file into a Premiere 6.5 project
Figure 16.2: Successful importation!
Figure 16.3: WM9 clip on the Premiere 6.5 Timeline.
Figure 16.4: Invoke the timeline export function.
Figure 16.5: Premiere's Export Movie Settings.
Figure 16.6: Select the Microsoft WM9 Video Compressor.
Figure 16.7: Audio settings for movie export.
Figure 16.8: Key frame and rendering settings.
Figure 16.9: Configure the WM9 Video Compressor.
Figure 16.10: Select detailed compression criteria.
Figure 16.11: Main UI of WM9CAP.
Figure 16.12: Setting WM9CAP high definition audio properties.
Figure 16.13: MediaStudio Pro's Main UI.
Figure 16.14: MediaStudio's Converter UI.
Figure 16.15: Select Microsoft AVI as the destination file format.
Figure 16.16: Converter's Video Save Options.
Figure 16.17: Calibrate the AVI Settings.
Figure 16.18: WM9 Video Properties, Compression pane.
Figure 16.19: WM9 Video Properties, Pre-processing pane.
Figure 16.20: Advanced options for AVI settings.
Figure 16.21: Movie conversion progress.
Figure 16.22: WM9CAP's Main UI
Figure 16.23: Set the initial capture file size.
Figure 16.24: Set the audio capture properties.
Figure 16.25: Adjust Video Brightness, Contrast, Hue, and Saturation.
Figure 16.26: Set Video Frame Rate, Color Space, and Output Size.
Figure 16.27: Change the channel if necessary.
Figure 16.28: MovieFactory Startup pane.
Figure 16.29: MovieFactory Main UI.
Figure 16.30: The AVI movie added to the timeline.
Figure 16.31: All set to do the burn.

Chapter 17: How Movielink Uses Windows Media 9 Series

Figure 17.1: Movielink.com's home page.
Figure 17.2: License retrieval on a web-enabled device.
Figure 17.3: User viewing windows for Movielink video files.
Figure 17.4: Differences in movie delivery platforms.
Figure 17.5: Feature release food chain.
Figure 17.6: Logging into Movielink.
Figure 17.7: Movielink new releases.
Figure 17.8: Details of desired movie.
Figure 17.9: Viewing the desired movie trailer.
Figure 17.10: Movie selection confirmation.
Figure 17.11: Billing information input.
Figure 17.12: Confirm the usage agreement.
Figure 17.13: Prepare to download!
Figure 17.14: Waiting for the download to finish.
Figure 17.15: Downloaded movie, ready for viewing with WM9.

Chapter 18: Standing in the Shadows of Motown—A WM9 Feature

Figure 18.1: Standing in the Shadows of Motown in the WM9 Player
Figure 18.2: BMW Films' The Hire
Figure 18.3: DLT tape cartridge.
Figure 18.4: The media conversion process
Figure 18.5: State of the art telecine box
Figure 18.6: Accom WSHD Digital Disk Recorder.
Figure 18.7: WM9 Encoder settings for Standing in the Shadows of Motown.
Figure 18.8: More WM9 Encoder settings for this movie (or one like it).
Figure 18.9: New maps of transcoding hell.


List of Tables

Chapter 2: Setting up the WM9 Player, Encoder, Server, and SDK

Table 2.1: Minimum and Recommended System Requirements for the Windows Media 9 Player
Table 2.2: Windows Media Encoder 9 Series System Requirements


List of Listings

Chapter 6: DRM, WM9 Style

Listing 6.1: VBScript Example for Key Generation
Listing 6.2: VBScript Example for Creating a WM9 Content Header
Listing 6.3: VBScript Example for Protecting a WM9 File
Listing 6.4: VBScript Example for Issuing a License for a WM9 File

Chapter 7: Playing WM9 files in PowerPoint, Producer, and Internet Explorer

Listing 7.1: Basic ASX syntax for a remote web video clip.
Listing 7.2: Basic ASX syntax for a local video file.
Listing 7.3: Minimal WM9 embedding code.
Listing 7.4: Suitable WM9 presentation code.
Listing 7.5: Page 1: Criteria Selection
Listing 7.6: Page 2: The Sorted List
Listing 7.7: Page 3: The Selected Video Clip

Chapter 8: Working with the WM9 Software Development Kit (SDK)

Example 8.1: Simple ASX file using the HTMLView PARAM
Example 8.2: More Complex Example of HTMLView
Example 8.3: Input, Output, and Statistical Parameters
Example 8.4: Profile parameters
Example 8.5: Input, Output, and Statistical Parameters
Example 8.6: Partial VB .NET Example for Controlling Client Connections

Chapter 9: Making DVD Movies with WM9 and MS Movie Maker 2

Listing 9.1: Listing XML code for one transition (Flip Right) and one effect (Sepia).

Chapter 13: WM9 Audio Techniques

Listing 13.1: Contents of a simple WPL file
Listing 13.2: Contents of a simple ASX file (for streaming audio)
Listing 13.3: A more advanced ASX file (from the WM9 SDK).
Listing 13.4: A hand-crafted WPL file

Chapter 14: Encoding with the WM9 Screen Codec

Listing 14.1: Web site delivery of a WM9 Screen clip.

Chapter 15: WM9 Integration in Consumer Electronics

Listing 15.1: Contents of the Playlist File HighMAT_Audio.wpl
Listing 15.2: Contents of the File AUTHOR.XML

Team LiB
Previous Section