Chapter 7

ENHANCED DVD AUTHORING

There is an interesting dichotomy in the DVD world today. With over 8,000 titles already on the market, and another 2,000 due out before the end of 2001, DVD-Video has become a very popular consumer home entertainment format. Market research companies predict an installed base of about 20 million consumer players by the end of 2001. Sales of personal computers with DVD-ROM drives are running about three times higher than the rate of DVD-Video players sold, with a projected installed base of over 60 million by the end of 2001. Perhaps the most interesting statistic is that there are fewer than 200 titles on the market that have been designed specifically for these DVD-ROM systems.

Companies are always looking for opportunities in a rapidly-growing market with little competition. We can calculate an “opportunity index” for DVD-Video and DVD-ROM by dividing the number of available titles by the installed base of playback devices. Thus, the opportunity index for DVD-Video is 2,500 while the opportunity index for DVD-ROM is 300,000. In other words, developers who publish DVD-ROM titles have a larger installed base and less competition than developers who publish DVD-Video titles.

This significant disparity between the consumer-preferred DVD playback platform (DVD-ROM) and the industry-preferred DVD publishing format (DVD-Video) creates a unique business opportunity for developers. DVD titles that offer features for both DVD-Video players and DVD-ROM enabled personal computers will attract a wider segment of consumers. In short, enhanced DVD titles will have significant market penetration over the next several years due to the disparity between the number of consumer DVD-ROM systems and the number of available DVD-ROM titles.

Hollywood studios have recognized this opportunity and are now adding DVD-ROM content, such as web links, screen savers, games, and other extras, to their DVD-Video titles. Some of the best selling DVD-Video titles to date have been hybrid titles that offer the consumer extra content when played back on their DVD-ROM PC.

In May of 2001 the DVD Forum Steering Committee unanimously approved the creation of a working group to study the creation of a DVD Interactive format. This new working group is under WG-1, the DVD-Video format working group, so at some point in the future we may see a revision to the DVD-Video specification that includes optional, recommended, and possibly even required support for enhanced DVD features.

Several different methods are used to add DVD-ROM content to a DVD-Video title.

PC Friendly DVD-ROM features can be added through the use of third-party tools, such as PC Friendly. These tools allow developers to wrap a DVD-ROM user interface around the DVD-Video content and offer new features, such as web links, games, screen savers, chat rooms, and on-line registration. Using PC Friendly to add DVD-ROM content is the most popular method in use today, since it offers fairly rapid development times at a moderate price tag.

Spinware DVD-ROM features can also be added through the use of third-party tools from Spinware. Spinware PortaNet allows the addition of Internet content as well as conditional access content to a standard DVD-Video title. Spinware’s iControl allows users to embed DVD-Video content for playback in standard web browsers or other ActiveX-compliant applications, such as PowerPoint.

WebDVD DVD-ROM features can be added through the use of Microsoft’s WebDVD software developers kit. Using WebDVD developers can access content stored on a DVD-Video title from standard web pages. Thus high quality (i.e., high bandwidth) video, audio, and graphics can be delivered from the DVD disc, while low bandwidth content such as time sensitive data is delivered from the Internet. Using WebDVD to add DVD-ROM content is still in the experimental stages, but since WebDVD is free it is likely that more title developers will embrace this method in the future.

DVD is the Key to Digital Convergence

Digital convergence is the integration of computers, communications, and consumer electronics. Data and text were converted into digital form for the computer years ago. With the advent of CD and DVD, all forms of information, both for business and entertainment, can be managed together. Music, movies, video games, and other interactive programs can be requested on demand using cable TV, satellite dish, optical fiber, or telephone, along with the Internet’s inexhaustible array of offerings.

image

Figure 7.1  Worldwide Markets For Home Video

DVD-Video is the fastest growing consumer electronics product ever. DVDROM is quickly becoming a standard item in personal computers for the consumer market. Enhanced DVD devices already exist, including products such as the Internet connected DVD-ROM computers, the Nuon set top DVD-Video player, the Sony PlayStation 2, and the Microsoft Xbox. Figure 7.1 summarizes the projected growth rate of worldwide households with DVD-Video playback devices compared with the growth of televisions and VCR players.

As you can see from Figure 7.1 more than 600 million households are expected to have DVD devices by the end of this decade. Is broadband Internet an alternative solution to delivering high quality digital video content? Internet bandwidth is constantly increasing; in the United States consumers are rapidly adopting cable and DSL modems. Outside the United States bandwidth capacity is also increasing rapidly. However, Internet bandwidth is not increasing fast enough to keep up with advances in multimedia formats. DVD-Video requires an average bandwidth of 4.5 Mbps, and a worst case burst rate of 10.08 Mbps. High definition DVD will require an average bandwidth of 16 Mbps and a worst case burst rate of 40 Mbps. By way of example, let’s see how long it would take for a consumer to download a popular movie using a variety of data rates available today. For this example lets assume that a consumer wants to download a copy of The Matrix, one of the most popular DVD-Video titles ever released. The Matrix is a dual layer DVD-Video disc with 8,393,390,060 bytes of data (67,147,120,640 bits). If the consumer had a standard dial-up modem that can deliver approximately 28,800 bits per second of data over the Internet, it will take about 28 days to download all the data required for The Matrix. An ISDN link to the Internet that can deliver 56,000 bits per second would required 14 days of download time. Even a high-speed DSL link at 960,000 bits per second would require a full day to download this two-hour movie. These times assume the communication line is running at full speed, and there are no dropped connections during the file transfer — a somewhat unlikely scenario when connecting to the Internet. Thus it is easy to see that for the vast majority of consumers in the world the Internet is just not fast enough to use as a reliable delivery mechanism for DVD quality multimedia content.

Many experts have argued that it will only be a matter of time before the Internet is improved enough to deliver high quality multimedia content into the home. While this argument seems plausible, there is a problem with one of its underlying assumptions. It is not fair to assume that technological advances will deliver new capabilities to the Internet, but at the same time assume that DVD, and other optical disc technologies will not benefit from advances in technology during the same period of time. So while it is true that new technology will deliver increasingly faster connections to the Internet, it is also true that new technology will result in removable storage media, such as DVD discs, having much higher data capacities in the future.

Let’s compare the growth of communications bandwidth to the growth of removable storage capacity over the past 30 years. This comparison, shown in Figure 7.2, indicates that both communications bandwidth and removable storage capacity have grown tremendously over the past 30 years. In growing from 300-baud modems to full T1 lines delivering 1,500,000 bits per second, we have seen a growth rate of more than 500,000 percent in communications bandwidth.

Over the same period of time removable media storage capacity has grown from 300,000 byte 8” floppy diskettes to 17 Gb dual-layer, dual-sided DVD discs, which translates into a growth rate of more than 5,000,000 percent. While it is reasonable to assume that communications bandwidth will increase over the next decade, we must also assume that the capacity of removable media will increase as well. If the rate of increase continues as shown in Figure 7.2, removable media capacity will increase as much as ten times faster than communications bandwidth.

image

Figure 7.2  Projected Increases in Bandwidth and Storage Capacity

Both DVD and the Internet have some pretty compelling attributes. How can we take advantage of both? The answer is called enhanced or WebDVD. Simply put, WebDVD is a process more than a product. High quality (i.e., high bandwidth) static multimedia content is stored on a DVD disc and accessed on a local PC. Low quality (i.e., low bandwidth) dynamic content is stored on a web server and accessed through an Internet connection. Both the DVD and Internet content are accessed through a standard web browser in a seamless fashion. WebDVD utilizes the strengths of both technologies, but is not limited by their weaknesses.

The primary strength of DVD is its ability to deliver high quality multimedia content and its large storage capacity, while its fundamental weakness is that content can not be updated once it has been published. The primary strength of the Internet is its ability to deliver real time updateable content over large distances and from a wide variety of sources, while its fundamental weakness is its moderate to low bandwidth makes it difficult to download high quality multimedia content. WebDVD has the best of both worlds — the capacity to deliver large amounts of high quality multimedia content as well as the ability to deliver real time updateable content from a wide variety of sources.

Interactual Technologies

Interactual Technologies has been a leader in the development of enhanced DVD titles over the past several years. InterActual’s PC Friendly software has helped a number of Hollywood studios create new home entertainment products in which the unprecedented quality of DVD-Video connects seamlessly to the World Wide Web. Interactual’s clients include Artisan, Columbia Tristar, DreamWorks, Elektra Records, HBO, MGM, Miramax, New Line Home Video, Paramount Pictures, 20th Century Fox, Universal, and Warner Home Video to name just a few.

PC Friendly

InterActual’s PCFriendly is an Enhanced DVD playback environment that enables users to control and display both traditional web pages and DVD Video. When played in a normal DVD-Video player, a PCFriendly DVD will act exactly like a normal DVD with video menus, multiple languages, subtitles, artist biographies, etc. When the same disc is placed in a PC, the PCFriendly video browser automatically launches to take advantage of the increased power and flexibility of the underlying computer platform. Games, interactive screenplays, and updateable biographies are some of the available enhancements on PCFriendly DVDs. All PCFriendly DVDs can also connect the audience in new ways, such as “virtual theater” events that combine real-time chat sessions while simultaneously watching a synchronized DVD Video presentation. Contact information for InterActual can be found in Chapter 10.

The primary features of PCFriendly include the following.

Enhanced Multimedia Features PCFriendly integrates graphics, animations, and videos with the latest information from the Internet. The content on a DVD-Video title can be used for wallpaper, screen savers, and sound bytes as well as custom application programs. Some PCFriendly titles include a copy of the original web site as it appeared when the title was released, ensuring that this content is always available to the viewer even if they are not connected to the Internet, or if the web site’s server is down.

Virtual Theaters, Games & Chat Rooms PCFriendly titles can include PC centric applications such as games, screenplays, online events, and chat-rooms. Some studios have arranged for actors, directors, and special effects artists to answer questions during an on-line event that includes unlocking bonus material from the DVD disc.

Hidden Video & Content PCFriendly titles can include keys to provide the viewer access to locked or special areas of a studios web site. Some discs also contain bonus video segments that can only be played from a specific web page or during a live event.

Secure Online Shopping PCFriendly titles can connect automatically to sites at which the viewer can purchase more titles and movie related merchandise in a secure area.

Automatic Updates PCFriendly checks for new or updated software releases and can download and install them automatically.

Free Technical Support Interactual provides free end-user technical support for titles that use the PCFriendly software. Support is provided via their web site, e-mail, or telephone. Most problems are resolved in one day or less.

Interactual Player 2.0

InterActual Player 2.0 is the latest enhanced DVD product from InterActual Technologies. Interactual Player 2.0 plays DVD-Video and CD-Audio titles integrated with HTML content stored on either the disc or the Internet. InterActual Player 2.0 is a media playback architecture that allows the content to be authored once and delivered across multiple platforms with a consistent user interface. It supports the vast majority of hardware and software DVD decoders available for the Windows PC, as well as the Apple Macintosh. InterActual Player 2.0 also supports a number of Internet connected set-top DVD players and video appliances. Figure 7.3 shows the InterActual Player 2.0 GUI with one of the standard player skins. Player skins can be customized by the title developer or by the viewer to provide a content specific look and feel for the Player 2.0 GUI.

image

Figure 7.3  Interactual Player 2.0 GUI (See color insert for color version of this figure.)

InterActual Player 2.0 allows the content owner to control the look and feel of the user’s experience, providing several methods to transparently connect to the Internet. Internet or web content can be authored directly onto the DVD-Video disc or embedded within HTML available on a live web server. These connections can be based on events that are user initiated or triggered by the content itself. The primary features of InterActual Player 2.0 include the following.

Cross Platform Support Microsoft Windows 95, 98, ME, NT, and 2000 based PCs, Macintosh, and Internet connected DVD set-top players are all supported.

DVD Decoder Support All leading hardware and software DVD decoders and navigator programs, including Microsoft DirectShow, are supported.

Use of Industry Standards XML, HTML & JavaScript InterActual, or an authorized development partner, provides development tools for each environment. Third-party tools can also be used for custom development.

Backward Compatibility InterActual Player 2.0 is backward compatible with all PCFriendly-enabled titles, ensuring smooth migration and retention of investment in PCFriendly title development.

Forward Compatibility InterActual Player 2.0 works with any DVD-Video or CD-Audio disc and can be the default player for all discs — not just enhanced DVD-Video titles.

Autorun & Autoplay InterActual Player 2.0 can be configured to automatically start up when a DVD or CD-Audio disc is inserted into the drive.

Scaleable Playback Content runs in a scaleable PC or Mac window or in full-screen mode. This option can be authored into the content by the developer. The user has total control of the media experience.

Customizable The content developer can “wrap” the experience in a customized look and feel using custom skins for the player GUI. The user can use the theme provided on the disc or select an alternative. The developer is able to add value to the user experience, providing an environment or theme that enhances the content.

WebDVD Integration Seamless playback of Internet links is authored into the content. InterActual Player 2.0 can launch HTML content based on “events” authored into the DVD video or embedded in the HTML. A rich variety of web content can be integrated with DVD-Video, combining the high quality media experience of DVD with the immediacy of the web.

DVD Authoring Tool Support DVD-Video title developers can incorporate InterActual Player 2.0 features with their titles using the Scenarist and DVD Creator authoring tools from Sonic Solutions.

image

Tips, Tricks & Techniques

If you are looking for a simple yet effective way to enhance a DVD-Video title by adding DVD-ROM content or Internet connectivity, consider using PC Friendly or Player 2.0 from InterActual. The vast majority of enhanced DVD titles released to date use one of these products. Perhaps one of the best services provided by InterActual is their end-user support for enhanced DVD titles. DVD title developers who don’t want to deal with providing technical support to consumers, but want to deliver advanced features like DVD-ROM content and Internet connectivity, will find Interactual’s support program invaluable.

Figure 7.4 shows a detailed block diagram of the InterActual Player 2.0 playback environment. As you can see from this diagram InterActual has included support for a wide variety of playback platforms and operating systems, as well as support for the majority of hardware and software DVD decoders in use today. InterActual Player 2.0 is designed to be cross-platform as well as decoder agnostic, and in my experience it does the best job of meeting these goals of any third-party enhanced DVD tool on the market today.

image

Figure 7.4  InterActual Player 2.0 Playback

SpinWare

SpinWare has two products that can be used to create enhanced DVD titles with integrated Internet support. SpinWare PortaNet is used to store additional or bonus content on a DVD disc with a conditional access file protocol. SpinWare iControl is a media playback technology that allows clients to play and control media elements, such as DVD movies, MP3 music, and video files in a variety of formats, such as PowerPoint slides and HTML documents served over the Internet. Contact information for SpinWare can be found in Chapter 10.

PortaNet

SpinWare PortaNet encrypted media files can be placed on the DVD-ROM portion of a DVD-Video disc. These encrypted files can be seamlessly unlocked in real time through the viewer’s Internet browser, by way of an authorization from a remote web server. PortaNet also contains an e-commerce engine that provides secure access to content on the DVD disc in exchange for revenue. PortaNet’s decryption engine is data agnostic — it can be used to lock and unlock any type of data, including MPEG-1 and MPEG-2 movies, executable files, or even entire Video_TS directories.

While there are several ways to use PortaNet to enhance a DVD-Video title, some of the most popular methods include the following.

•   PortaNet can provide ancillary content to the viewer in return for something of value. This can be as simple as letting the user see some behind-the-scenes footage after they complete a user registration form on your web site. Hidden content on the disc can also be unlocked when the viewer pays an additional fee, thus providing an after market revenue stream from an enhanced DVD title.

•   PortaNet can be used to build brand awareness and customer loyalty through a program of timed-release content stored on an enhanced DVD disc. Additional content can be stored on the disc and unlocked over a period of time, thus encouraging the viewer to visit a web site many times.

•   PortaNet can also be used to implement a pay-per-view business model. Entire DVDVideo titles can be encrypted and stored on an enhanced DVD title. Decryption and playback of this locked content can be done easily over the Internet after the viewer has paid a “rental fee”. Once the playback session has been completed the content on the disc will revert back to its locked condition.

iControl

SpinWare iControl is a media playback technology that allows viewers to play and control media elements, such as DVD-Video movies, MP3 music, and video files in a variety of PC applications. These applications include PowerPoint, Word, and HTML documents served over the Internet.

iControl is available in three formats:

•   iControl PE for controlling DVD Playback in PowerPoint,

•   iControl WE for creating WebDVD functionality over HTML, and

•   iControl MP for controlling encrypted music over the Internet.

iControl PE

SpinWare iControl Personal Edition (PE) provides control of DVD-Video content with PowerPoint presentations. iControl PE is a DirectShow-based ActiveX control that works with most major software DVD decoders. iControl PE offers a sophisticated set of features that allow the viewer to script the playback of DVD-Video content in several ways. The main features of iControl PE include the following.

Title and Chapter Stop Playback iControl PE can be scripted to play selected DVD-Video chapters from within a PowerPoint presentation.

Time Play iControl PE can be scripted to play select time sequences from within a DVDVideo disc.

Custom PlayLists iControl PE makes it easy to segment a DVD-Video title so the viewer can play just the scenes they want. Segments of a DVD-Video disc can be selected based on either the movie’s time code or its chapters.

PlayList Wizard iControl PE lets you playback your DVD-Video content while you are designing a PowerPoint presentation. The PlayList Wizard helps you set the scenes’ start and stop points in your custom playlist without using a separate application or knowing the correct in and out time codes in advance.

Window Control iControl PE allows the viewer to control the size of the DVD-Video playback window, so text and other graphics can be displayed on the same slide with DVD-Video content

Web-Based Transitions In either chapter or time play mode, iControl PE can insert custom transitions between chapters or time codes. These transitions can be either custom JPEGs or remote web pages.

iControl WE

SpinWare iControl Web Edition (WE) can also be used to create a WebDVD title. The iControl WE ActiveX controller can be embedded into an HTML page, and can then provide control of various aspects of DVD-Video playback from a remote server. iControl WE offers several levels of sophisticated interactivity without requiring knowledge of scripting languages, such as VB Script and JavaScript. Some of the major features of iControl WE are as follows.

Script Jumping As the user clicks on various sections of a script or other textual description, the web page will jump directly to that section of the DVD-Video title and display the multimedia content.

Keyword Jumping You can define and associate keywords with specific scenes or chapters in the DVD-Video title. When a viewer enters a keyword the program can jump directly to the location on the disc at which the relevant content is stored.

Web-Based Transitions iControl WE provides a scripting method to play selected time codes of a DVD-Video title and to use web pages as transitions between each scene and chapter.

DVD-Video Linking iControl WE provides control over most aspects of the DVD-Video playback, such as scene jumping, angle changes, and subtitle selection, with the click of a mouse.

iControl MP

SpinWare iControl MP is a full-featured MP3 player, which can be embedded into an HTML page and can be used to play encrypted disk-based music under web control. iControl MP provides synchronization of music playback with web-based URLs, such as advertisements, or additional information about the artist. iControl MP can be used to allow the viewer to enjoy high-quality music for free, in exchange for viewing ads. Figure 7.5 shows the graphical users interface for Spinware iControl ME.

image

Figure 7.5  Spinware iControl ME (See color insert for color version of this figure.)

image

Tips, Tricks & Techniques

Consumers with DVD-ROM enabled PCs are potential sources of after-market revenues for DVD title publishers. In appropriate situations, I recommend title developers include additional content on their DVD discs that can be used to generate additional revenues or to drive customers to their web sites. I have developed several titles that include SpinWare PortaNet encrypted files in the DVD-ROM portion of the disc. Consumers who register with us get some free additional screen saver images, and many of them will purchase even more images for a small fee. The benefits of using SpinWare PortaNet are an increased number of on-line customer registrations (great for direct sales of future titles) as well as an after-market revenue stream.

Microsoft WebDVD

In January 1999 Microsoft released an API called WebDVD that was designed to allow rapid development of enhanced DVD titles featuring playback of DVD content through standard web pages. Microsoft released an updated version of the WebDVD SDK (Software Developers Kit) in July of 1999, and then in November of 2000 Microsoft released a new version of DirectShow that included even more features for creating enhanced DVD titles. Essentially three different methods can be used to create enhanced DVD titles using Microsoft’s Direct-Show API. The first is the original method outlined in the Microsoft WebDVD SDK published in 1999, which uses an embedded version of the Windows Media Player. The second method, which is documented in the 2000 release of the DirectX 8.0 SDK, uses an embedded version of an MSWebDVD object. The third method is to develop custom Visual Basic or C++ programs making direct calls to individual DirectShow functions.

Perhaps the biggest advantage of Microsoft’s WebDVD approach to creating enhanced DVD titles is that it is free. Microsoft distributes the WebDVD and DirectX 8.0 SDK at no charge, and there are no licensing or royalty charges for using WebDVD or DirectX 8.0. Both the original WebDVD SDK and the latest DirectX SDK make it fairly easy to create interactive HTML pages that can play back content stored on a DVD-Video disc. In both cases the basic approach is to embed a media play-back object into an HTML page and then use a scripting language, such as JavaScript, to issue play-back commands to the media object, based on viewer interactivity.

The biggest disadvantage of Microsoft’s WebDVD approach is that it will only work on Windows 98, Windows 2000, and Windows ME systems that have Internet Explorer 5.0 or higher, as well as a hardware or software DVD decoder that supports DirectShow. While most new Windows systems support DirectShow, there are still many viewers who prefer to use Netscape instead of Internet Explorer as their default web browser. Microsoft’s WebDVD API will not work with any of Netscape’s browsers, and Netscape has not announced any plans to support WebDVD or any other embedded COM objects in the future.

image

Tips, Tricks & Techniques

The best way to determine if a PC is capable of playing back a Microsoft WebDVD title is to look for a “Designed for Microsoft Windows” sticker. If a PC has one of these stickers for Windows 98, Windows ME, or Windows 2000, the system must support DirectShow. A DVD-ROM PC with any of these stickers will most likely be fully compatible with a WebDVD title.

Windows Media Player Approach

The Microsoft Windows Media Player control provides a variety of methods and properties for controlling multimedia play-back from a web page or application. The main features of Windows Media Player include the following.

•   The ability to create custom user interfaces on top of the Windows Media Player control. Buttons, boxes, and menus can be incorporated into an HTML page for controlling playback.

•   The ability to include DVD-Video play-back functions, such as start, stop, pause, fast-forward, rewind, mute, volume adjustment, and menus.

•   The ability to retrieve information about the DVD-Video title, such as the number of titles, chapters, audio streams, camera angles and subpicture streams.

An HTML page can be designed to respond to event messages created by the Windows Media Player control. Events that cause the control to create an event message include:

•   warnings and errors encountered by Windows Media Player,

•   changes in the playback state, such as from a play state to a paused state, and

•   keyboard and mouse input.

The Windows Media Player is also provided as a stand-alone player application based on the same technology as the Windows Media Player control. However, the control enables you to create a user interface unique to your content, to process any type of script commands, and to integrate multimedia presentations into larger web applications. It also provides a large selection of DVD specific methods, properties, and events to allow precise playback control of content from a DVD-Video disc.

The OBJECT tag is used to embed the Windows Media Player control into an HTML page. The following code is an example of using the OBJECT tag to insert the Windows Media Player control.

image

The following OBJECT tag attributes are required.

•   ID is the name used to reference this instance of the control.

•   CLSID is the class identifier of the Windows Media Player control. A CLSID is a COM object identifier.

One option for setting the properties of a Media Player object is adding PARAM tags between the OBJECT tags. This is an ideal way to set design time properties. The following code is an example of the Media Player OBJECT tag with PARAM tags added.

image

The PARAM tags used in this example have two attributes; the first is the name of the property being set, and the second specifies the value of the property. In this example, the first PARAM tag sets the AUTOSTART property to false. The remaining PARAM tags change the default values of the FILENAME property to DVD: and the SHOWCONTROLS property to false. Note that DVD-Video specific properties can’t be set using a PARAM tag. It is critical to note that DVD-Video play back is triggered by setting the FILENAME property to DVD:, which instructs the Windows Media Player control to search for the DVD drive on the local system. In this case Windows Media Player will locate the first system drive with a VIDEO_TS directory located in the root of the drive. That drive is then assumed to be the DVD-ROM drive. Thus it is possible to fool Windows Media Player into thinking that a local hard drive, or even a network drive that has been assigned a local drive letter, is actually a DVD-ROM drive. This can be accomplished by simply copying a valid DVD-Video disc image consisting of all the files in the VIDEO_TS directory to a VIDEO_TS directory located on the desired hard drive. If the AUTOSTART property is set to true (the default value), the Windows Media Player control will then begin DVD play back; otherwise, an event must be associated with DVD play back, such as the selection of a button.

You can create a simple user interface by adding button controls to the body of an HTML page. The following code creates the button controls to handle the selection of menu items from the DVD menu screen.

image

The following code creates the button controls that will handle basic play back (play, pause, and stop), as well as chapter searching and scanning.

image

image

DVD-specific properties and methods are passed to the Microsoft Windows Media Player control, which is then directed to the appropriate MediaPlayer object. An event code is generated when an event occurs. An event is an action, recognized by the DVD object, for which you can write code to respond. Events can be generated by a user action, such as clicking the mouse or pressing a key on the keyboard. Events are also generated by the system itself, for example, in the case of timers. Table 7.1 lists DVD-Video specific properties, methods, and events for the Windows Media Player control.

Table 7.1 DVD-Video Specific Properties, Methods and Events

AnglesAvailable Retrieves a value specifying the number of available angles.
AudioStreamsAvailable Retrieves a value specifying the number of available audio streams.
BackwardScan Searches backward through the current disc at the specified speed.
ButtonActivate Activates the selected button.
ButtonSelectAndActivate Selects and activates the specified button.
ButtonsAvailable Retrieves a value specifying the number of available buttons.
CCActive Sets or retrieves a Boolean value specifying the closed captioning service state (on or off).
ChapterPlay Plays the media file with the specified title index and chapter value.
ChapterPlayAutoStop Instructs the DVD player to start playing at the specified chapter within the specified title and to play the number of chapters specified.
ChapterSearch Halts playback of the current chapter and starts playback from the specified chapter within the same title.
ColorKey Sets or retrieves the color key being used by the DVD playback.
CurrentAngle Sets or retrieves a value specifying the current angle.
CurrentAudioStream Sets or retrieves a value specifying the current audio stream.
CurrentButton Retrieves a value specifying the number of the currently selected button.
CurrentCCService Sets or retrieves a value specifying the current closed captioning service.
CurrentChapter Retrieves a value specifying the chapter number currently being played.
CurrentDiscSide Retrieves a value specifying the current disc side.
CurrentDomain Retrieves a value specifying the current DVD domain of the DVD player.
CurrentSubpictureStream Sets or retrieves a value specifying the current subpicture stream.
CurrentTime Retrieves a value specifying the current playback time.
CurrentTitle Retrieves a value specifying the title number currently being played.
CurrentVolume Retrieves a value specifying the volume number for the current root directory.
EC_DVD_ANGLE_CHANGE Signals that either the number of available angles has changed, or the current user angle number has changed.
EC_DVD_ANGLES_AVAILABLE Occurs when an angle block is being played and angle changes can be performed.
EC_DVD_AUDIO_STREAM_CHANGE Signals that the current user audio stream number has changed for the main title.
EC_DVD_BUTTON_CHANGE Signals that either the number of available buttons has changed, or the currently selected button number has changed.
EC_DVD_CHAPTER_AUTOSTOP Indicates that playback has stopped as the result of a call to the ChapterPlayAutoStop method.
EC_DVD_CHAPTER_START Signals that the DVD player has started playback of a new program in the TT_DOM domain.
EC_DVD_CURRENT_TIME Signals the beginning of each VOBU, which occurs every 0.4 to 1.0 second.
EC_DVD_DOMAIN_CHANGE Indicates the DVD-Video player’s new domain.
EC_DVD_ERROR Signals a DVD-Video error condition.
EC_DVD_NO_FP_PGC Signals that the DVD-Video disc does not have a First Play Program Chain (FP_PGC) and that the DVD Navigator will not automatically load any program chain (PGC) or start playback.
EC_DVD_PLAYBACK_RATE_CHANGE Signals that a rate change in the playback has been initiated.
EC_DVD_PLAYBACK_STOPPED Indicates that playback has been stopped. The DVD Navigator has completed playback of the PGC and did not find any other branching instruction for subsequent playback.
EC_DVD_STILL_OFF Signals the end of any still (PGC, Cell, or VOBU).
EC_DVD_STILL_ON Signals the beginning of any still (PGC, Cell, or VOBU).
EC_DVD_SUBPICTURE_STREAM_CHANGE Signals that the current user subpicture stream number has changed for the main title.
EC_DVD_TITLE_CHANGE Occurs when the current title number changes.
EC_DVD_VALID_UOPS_CHANGE Signals that the available set of DVD methods has changed.
EC_DVD_WARNING Signals a DVD-Video disc warning condition.
FramesPerSecond Retrieves a value specifying the number of frames per second used by the DVD title.
ForwardScan Searches forward through the current disc at the specified speed.
GetAllGPRMs Retrieves the current contents of all GPRMs.
GetAllSPRMs Retrieves the current contents of all SPRMs.
GetAudioLanguage Retrieves a value specifying the language of the specified audio stream within the current title.
GetNumberOfChapters Retrieves the number of chapters defined for the specified title.
GetSubpictureLanguage Retrieves a value specifying the language for the specified subpicture stream.
GoUp Halts playback of the current media file and starts playback of the designated previous PGC.
LeftButtonSelect Selects the left directional button from the displayed menu.
LowerButtonSelect Selects the lower directional button from the displayed menu.
MenuCall Displays the specified menu on the screen.
NextPGSearch Halts playback of the current program and starts playback from the next program within the PGC.
PrevPGSearch Halts playback of the current program and starts playback from the previous program within the PGC.
ResumeFromMenu Returns to playing back a title from a menu.
RightButtonSelect Selects the right directional button from the displayed menu.
Root Sets or retrieves a value specifying the directory that contains the DVD volume.
StillOff Resumes playback, canceling still mode.
SubpictureOn Sets or retrieves a value specifying whether the subpicture is displayed.
SubpictureStreamsAvailable Retrieves a value specifying the number of available subpicture streams.
TimePlay Plays the media file with the specified title index, starting at the specified time.
TimeSearch Halts playback of the current chapter and starts playback from the specified time in the same media file.
TitlePlay Finds the media file with the specified title index and plays it back.
TitlesAvailable Retrieves a value specifying the number of titles available in the current volume.
TopPGSearch Halts playback of the current program and restarts playback of the current program within the PGC.
TotalTitleTime Retrieves a value specifying the total playback time for the current title.
UniquelD Retrieves a value specifying the unique identifier associated with the DVD volume.
UOPValid Retrieves a value indicating whether the specified user operation is currently valid.s
UpperButtonSelect Selects the upper directional button from the displayed menu.
VolumesAvailable Retrieves a value specifying the number of volumes in the volume set.

Enhanced DVD applications, including web pages that control DVD play back, can be created in HTML using the Windows Media Player ActiveX control. This is simpler and faster than using C++, which is only required for more specialized applications, such as games, programs that overlay graphics on video, custom ActiveX controls or DLLs, and so on. DirectShow provides all the filters necessary to navigate and play DVD-Video except the MPEG-2 and Dolby Digital decoders. To play DVD-Video content using an HTML application based on DirectShow, users must have installed on their system a third-party hardware or software DVD decoder that is DirectShow-compatible.

Additional details on how to use the Windows Media Player Active X control to create enhanced DVD titles can be found in the Microsoft Interactive DVD Toolkit SDK, which can be obtained from Microsoft. You can get a copy of the Microsoft DVD SDK disc by sending an e-mail request to [email protected].

image

Tips, Tricks & Techniques

A good way to tell if a system supports DirectShow is to look for the “Designed for Microsoft 98, 2000 or Me” logo on the computer. Computers that have this logo have been tested by Microsoft to ensure compatibility with DirectShow. There is no easy way to determine DirectShow compatibility for after-market products, such as DVD-ROM upgrade kits. You should check out the manufacturers web site to determine if their product supports DirectShow.

MSWebDVD Object Approach

The MSWebDVD object is an ActiveX control that handles all DVD-Video navigation commands as well as the display of DVD-Video content in an embedded window. The MSWeb-DVD control can be embedded within an HTML document’s BODY element, as shown in the following script.

image

To enable viewers to control the play back of content stored in the DVD-video zone of the disc, an HTML user interface is created with buttons for issuing specific DVD commands, such as stop and play. The following HTML code and JavaScript shows how to hook up basic buttons to the MSWebDVD object methods.

image

MSWebDVD automatically handles DVD menu commands when the user clicks on the on-screen buttons with the mouse. The HTML application does not need to do anything to implement basic mouse support. The application can override automatic mouse handling at any time to cause additional actions when a user clicks on a menu button.

The MSWebDVD object sends notifications when certain events take place, such as when the DVD domain changes, when a new parental management level is encountered, when it is about to enter an angle block, etc. The event parameters can contain additional information related to the event. Error messages and warnings are also generated in this matter.

The MSWebDVD object sends notifications when a specific UOP has been enabled or disabled by the disc. Each user operation has its own event, with a single Boolean parameter indicating whether that operation is enabled or disabled. By handling time code events from the disc, a web application can synchronize HTML content to the video. For example, you can cause images or text on the page to change at specified points in the video. (Text continues on page 261.)

image

Tips, Tricks & Techniques

Synchronizing the display of text, graphics, animations, or even video play back within a WebDVD page will require that the DVD-Video title be authored as a one-sequential-PGC title. Only one-sequential-PGC titles include time table data in the DVD-Video IFO file that is required for frame accurate access to content on the disc, as well as status information on what frame is currently being displayed. Some DVD-Video authoring tools are not capable of creating one-sequential-PGC titles, so make sure your authoring tool can do this if you want to make a WebDVD title with synchronization.

The MSWebDVD methods and properties act on the current state of the DVD Navigator, the information on a disc, or both. To store and retrieve various types of application-specific information in the registry, such as user preferences for parental levels and default language, use the methods of the MSDVDADM object. Table 7.2 describes the MSWebDVD properties, methods, and events.

Table 7.2 MSWebDVD Properties, Methods and Events

AcceptParentalLevelChange Instructs the DVD Navigator to accept or reject the new temporary parental management level.
ActivateAtPosition Activates the menu button at the specified position.
ActivateButton Activates the selected menu button.
AnglesAvailable Retrieves the number of angles available.
AspectRatio Retrieves the aspect ratio of the current video stream as authored on the disc.
AudioStreamsAvailable Retrieves the number of audio streams available in the current title.
BackColor Sets or retrieves the color of the bars that appear around the edges of the video rectangle when the aspect ratio of the native video is not the same as that of the object’s display area.
Balance Sets or retrieves the speaker balance for the audio stream output.
ButtonsAvailable Retrieves the total number of buttons on the current menu.
CanStep Determines whether the MPEG-2 decoder on the local system can perform frame stepping.
Capture Captures a still image from the video frame when the MSWebDVD object is in windowless mode.
CCActive Sets or retrieves the current status of closed captioning.
ChangeCurrentAngle Sent when the disc enables or disables changing the angle.
ChangeCurrentAudioStream Sent when the disc enables or disables changing the audio stream.
ChangeCurrentSubpictureStream Sent when the ChangeCurrentSubpictureStream command has been enabled or disabled.
ColorKey Sets or retrieves the color key used in closed captioning.
CurrentAngle Sets or retrieves the current angle in an angle block.
CurrentAudioStream Sets or retrieves the number of the enabled audio stream.
CurrentButton Retrieves the number of the selected button.
CurrentCCService Sets or retrieves the current closed-captioned service.
CurrentChapter Retrieves the number of the chapter currently playing.
CurrentDiscSide Retrieves the current side of the DVD.
CurrentDomain Retrieves the DVD domain that the DVD Navigator is in.
CurrentSubpictureStream Retrieves the selected subpicture stream.
CurrentTime Retrieves the current playback time.
CurrentTitle Retrieves the number of the title currently playing.
CurrentVolume Retrieves the volume number for the current root directory.
CursorType Sets or retrieves the current cursor type.
DefaultAudioLanguage Retrieves the default audio language from the disc.
DefaultAudioLanguageExt Retrieves the default audio language extension from the disc.
DefaultMenuLanguage Retrieves the default menu language from the disc.
DefaultSubpictureLanguage Retrieves the default subpicture language from the disc.
DefaultSubpictureLanguageExt Retrieves the default subpicture language extension from the disc.
DeleteBookmark Deletes the current bookmark.
DisableAutoMouseProcessing Enables or disables the object’s mouse-processing functionality.
DVDAdm Provides access to the MSDVDAdm object containing methods and properties for saving application and user information.
DVDDirectory Retrieves or sets the root directory of the current DVD volume.
DVDNotify Notifies an application of many different DVD events and disc instructions.
DVDTimeCode2bstr Retrieves a String indicating the current time on the disc.
DVDUniquelD Retrieves a system-generated number that uniquely identifies the current DVD.
Eject Ejects or inserts a disc from or into the drive.
EnableResetOnStop Sets or retrieves a value that determines how play will resume when the filter graph transitions out of a stopped state.
FramesPerSecond Retrieves the video frame rate for the current DVD title.
FullScreenMode Sets or retrieves a value indicating whether the display is in full-screen mode.
GetAudioLanguage Retrieves a string indicating which language is available on the specified audio stream.
GetButtonAtPosition Retrieves the number of the button at the specified coordinates without selecting or activating it.
GetButtonRect Retrieves the rectangle for the specified button, in window coordinates.
GetClipVideoRect Retrieves the clipping rectangle defined for the video display.
GetDelayTime Retrieves the delay time for the ToolTip associated with the MSWeb-DVD object.
GetDVDTextLanguageLCID Retrieves the locale identifier (LCID) for the specified text string block.
GetDVDTextNumberOflanguages Retrieves the number of text languages available in the current DVD directory.
GetDVDTextNumberOfStrings Retrieves the number of text strings available for the specified language.
GetDVDTextString Retrieves the specified text string from the disc.
GetDVDTextStringType Retrieves a value that indicates the type of information contained in the specified DVD text string.
GetGPRM Retrieves the specified general parameter register.
GetKaraokeChannelAssignment Retrieves a value that indicates how the karaoke channels are assigned to the left and right speakers.
GetKaraokeChannelContent Retrieves a value that indicates the type of content in the specified karaoke channel in the specified stream.
GetLangFromLangID Retrieves a human-readable string when given a primary language identifier (ID).
GetNumberOfChapters Retrieves the number of chapters in the specified title.
GetPlayerParentalCountry Retrieves the current country as set in the DVD Navigator.
GetPlayerParentalLevel Retrieves the parental management level set in the DVD Navigator.
GetSPRM Retrieves the specified system parameter register.
GetSubpictureLanguage Retrieves the language for the specified subpicture stream.
GetTitleParentalLevels Retrieves the parental management levels for the specified title.
GetVideoSize Retrieves the native video dimensions.
IsAudioStreamEnabled Retrieves a value indicating whether the specified audio stream is enabled in the current title.
IsSubpictureStreamEnabled Retrieves a value indicating whether the specified subpicture stream is enabled in the current title.
KaraokeAudioPresentationMode Sets or retrieves the right-left speaker mix for the auxiliary karaoke channels.
Mute Turns the audio stream output on or off.
NotifyParentalLevelChange Enables or disables the event handling for temporary parental management level commands.
Pause Pauses playback at the current location.
PauseOn Sent when the Pause command has been enabled or disabled.
Play Plays the current DVD title.
PlayAtTime Starts playback in the current title at the specified time.
PlayAtTimeInTitle Starts playback at the specified time within the specified title.
PlayBackwards Starts backward playback from the current location at the specified speed.
PlayChapter Starts playback from the specified chapter in the current title.
PlayChapterlnTitle Plays the specified chapter in the specified title.
PlayChaptersAutoStop Starts playback at the specified chapter in the specified title, for the number of chapters specified.
PlayForwards Starts forward playback from the current location at the specified speed.
PlayNextChapter Starts playback from the next chapter in the current title.
PlayPeriodInTitleAutoStop Starts playback at the specified time in the specified title until the specified stop time.
PlayPrevChapter Starts playback from the previous chapter in the current title.
PlayState Retrieves the current play state.
PlayTitle Starts playback at the beginning of the specified title.
PreferredSubpictureStream Sets or retrieves the user’s preferred subpicture stream for the current viewing session.
ReadyState Retrieves the ReadyState of the MSWebDVD object.
ReadyStateChange Sent when the ReadyState property of the MSWebDVD control has changed.
RegionChange Displays a system dialog box that enables the user to change the region associated with the DVD drive.
Render Initializes the DVD filter graph.
ReplayChapter Starts playback at the beginning of the current chapter.
RestoreBookmark Moves the DVD Navigator to the point on the DVD as specified in the current bookmark, with all audio, video and subpicture settings restored.
Resume Resumes playback after a menu has been displayed.
ReturnFromSubmenu Returns display from a submenu to its parent menu, or to the current title if the menu is a top-level menu.
SaveBookmark Saves the current disc position and state of the DVD Navigator to disc so that the user can return to the same place later.
SelectAndActivateButton Selects and activates the specified button.
SelectAtPosition Selects the menu button at the specified position.
SelectDefaultAudioLanguage Sets the current default audio language in the DVD Navigator.
SelectDefaultSubpictureLanguage Sets the current default subpicture language in the DVD Navigator.
SelectLeftButton Selects the left directional button from the displayed menu.
SelectLowerButton Selects the lower directional button from the displayed menu.
SelectParentalCountry Sets the specified parental country for subsequent playback.
SelectParentalLevel Sets the specified parental level for subsequent playback.
SelectRightButton Selects the right directional button from the displayed menu.
SelectUpperButton Selects the upper directional button from the displayed menu.
SetClipVideoRect Sets the clipping rectangle occupied by the video display.
SetDelayTime Sets the delay time for the ToolTip associated with the MSWebDVD object.
SetGPRM Sets the specified general parameter register to the specified value.
ShowCursor Makes the mouse pointer visible when the DVD Navigator is in fullscreen mode.
ShowMenu Displays the specified menu on the screen.
Step Advances the DVD-Video stream by the specified number of frames.
StillOff Resumes playback, canceling still mode.
Stop Stops playback.
SubpictureOn Sets or retrieves the current subpicture state (on or off).
SubpictureStreamsAvailable Retrieves the number of subpicture streams available in the current title.
TitlesAvailable Retrieves the number of titles available on the DVD.
ToolTip Sets the text for the ToolTip that will appear when the mouse pointer is over the MSWebDVD video rectangle.
ToolTipMaxWidth Sets or retrieves the maximum width for the ToolTip associated with the MSWebDVD object.
TotalTitleTime Retrieves the total playback time for the current title.
UOPValid Retrieves a value that indicates whether the specified user operation is currently valid.
UpdateOverlay Sent when the overlay surface has been moved or resized or its color key has changed.
Volume Sets or retrieves the audio volume level.
VolumesAvailable Retrieves a value specifying the number of volumes in the disc set.
WindowlessActivation Initializes the MSWebDVD object at design time for either windowed or windowless mode.
Zoom Zooms the video display in or out, centered on a given set of screen coordinates.

Additional details on how to use the MSWebDVD Active X control to create enhanced DVD titles can be found in the Microsoft DirectX 8.0 SDK, which can be obtained directly from Microsoft.

image

Real World Example

www.StarGazeDVD.com is an online web site that allows viewers to interact with the content on the StarGaze DVD using a WebDVD-based interface. I have found the best way to understand how to develop a WebDVD title is to review an existing WebDVD title to see how it was done. Thus the remainder of this chapter will review how the StarGaze WebDVD site was developed, and how you can learn from it to develop your own WebDVD titles.

StarGaze WebDVD — A Practical Example

One of the requirements defined at the start of the StarGaze project was that it would include an on-line WebDVD-enabled web site to allow consumers to interact with the video and still image content on the disc through a standard web browser. There were four major efforts needed to meet this requirement. First, the StarGaze DVD-Video title had to be designed and developed in a manner that would allow all the content on the disc to be accessed from a WebDVD-enabled web site. Second, an on-line web site needed to be developed with a unique GUI that would allow the integration of multimedia content stored on the StarGaze DVDVideo disc with traditional text and graphic data stored on various other web sites on the Internet. Next, a series of Java scripts had to be developed to link buttons on the HTML-based GUI with the content stored on the StarGaze DVD-Video disc. Finally, the StarGaze web site needed to be hosted on a live web server, and maintained and updated for as long as the StarGaze DVD-Video title is available to consumers.

StarGaze DVD-Video Development Issues

StarGaze includes video and still images from over 200 celestial objects. There is a wealth of textual and graphic data available on the Internet describing each celestial object in detail. Since much of this data is changing as astronomers learn more about the heavens, it did not make sense to include it on the StarGaze DVD disc, as it would most likely become out of date within a few months after the disc was released. Once the design decision was made to keep time-sensitive information off the DVD-Video portion of the disc, it was relatively easy to implement StarGaze. All of the video and still image content on StarGaze were placed in one-sequential-PGC titles to allow synchronous access to the content from a WebDVD page, or from educational DVD-Video players like the Pioneer V7400 using a bar code reader. Menu graphics were designed, and DVD-Video menus were created (see Figure 7.6) to tell consumers that StarGaze was designed to support WebDVD, and how they could access those features.

image

Figure 7.6  StarGaze WebDVD Menu (See color insert for color version of this figure.)

Finally, the packaging for StarGaze was designed to include a description of the minimum system requirements necessary to take advantage of the WebDVD features of the title.

StarGaze Web Site Development Issues

The StarGaze web site (http://www.StarGazeDVD.com) is designed to provide a variety of information and services to our customers. First it needs to provide sales and marketing information for prospective customers who are interested, but not ready to buy the product. Next it needs to provide an e-commerce solution so that customers can order the product on-line. The StarGaze web site also serves as the first line of technical support for the product, so when customers have a problem they need to be able to jump directly to the support pages to find an answer to their problem, or to request individual technical support. Last, but by no means least, the StarGaze web site should provide an integrated multimedia display incorporating high quality multimedia content from the DVD disc with traditional text and graphics from a variety of Internet sites.

Figure 7.7 show the default home page for the StarGaze web site. The site has a standard set of navigation buttons on the left side of the page providing direct links to all major areas of the web site. These buttons provide links to individual pages on the web site for on-line sales, customer registration, technical support, WebDVD features, links to other web sites, articles and product reviews, and a free download area.

Since WebDVD support requires a specific set of hardware and software, we created an entry page to the WebDVD section of the StarGaze web site. This entry page displayed the minimum hardware and software requirements for using the WebDVD features of StarGaze, and provided links for viewers to download the latest Microsoft Windows Media Player and DirectShow drivers. This entry page provided the following information to the viewer.

image

Figure 7.7  StarGaze Home Page (See color insert for color version of this figure.)

•   WebDVD is a new technology developed by Microsoft Corporation. With WebDVD we can combine TV quality video, audio, and still image content delivered from a DVD disc, with rapidly changing graphic and text content delivered from the Internet.

•   StarGazeDVD.com is one of the first operational WebDVD sites in the world. To use the WebDVD features of StarGaze you will need the following.

1.   A copy of the StarGaze DVD disc in your DVD-ROM drive.

2.   Internet Explorer 5.0 or higher — click here to get IE 5.0.

3.   A Pentium II (or better) PC with the Microsoft “Designed for Windows 98” logo.

4.   WebDVD works best with Windows Media Player 6.4 or later. If you don’t have it, you can download it by clicking on the Media Player logo or here.

5.   Please note that Netscape browsers currently do not support WebDVD!

WebDVD specific features are only included on one HTML page of the StarGaze web site. We designed this page to work best with a display resolution of 1024· 768 pixels or higher. Since the video content on StarGaze is wide screen (16:9) we needed to dedicate a fairly large section of the screen area to the Windows Media Player object display. The basic layout of the StarGaze WebDVD page is shown in Figure 7.8. It includes navigation buttons on the left side to allow viewers to jump directly to any section of the StarGaze web site, a multimedia display area in the center in which video and still images from the StarGaze DVD disc are shown, a link area on the right of the screen for jumping directly to specific chapters or items of interest, and a control area along the bottom that allows the viewer to select specific playback features such as music format, audio language, narration subtitles, and nomenclature subtitles. The media display area can also be expanded to full screen. A synchronized link button is just below the media display area. This button and its associated hyperlinks are synchronized to the content in the media display area, and allow the viewer to surf the Internet for more information on the celestial body being shown in the media display window.

As you can see from Figure 7.8 there are well over 40 unique buttons defined on the StarGaze WebDVD page and the GUI is significantly different from the menu and navigation structure implemented on the StarGaze DVD-Video disc. Simply put, it would be impossible to implement a GUI with this level of complexity in the DVD-Video portion of the disc. Too many buttons are required, the video is displayed in a window or in full screen mode, and many of the buttons are associated with context-sensitive hyperlinks to live web sites. Clearly the only way this type of user interface could have been implemented for StarGaze is as a WebDVD page.

All of the web pages in the StarGaze web site were developed using Microsoft FrontPage 2000. Graphics for each page were created by James Cave, the same artist who created all the graphics and menus for the StarGaze DVD-Video title, as well as the artwork for the product package. Using the same graphic artist on all aspects of the project enabled us to develop a consistent look and feel that we could use on both the DVD-Video and the WebDVD user interfaces.

image

Figure 7.8  StarGaze WebDVD Page (See color insert for color version of this figure.)

StarGaze WebDVD Java Script Development

Once the basic HTML page development was completed for the StarGaze WebDVD page, the next step was to write the Java scripts for each unique DVD play-back function that a user could invoke by pressing any of the buttons on the page. First the Windows Media Player Control was embedded into the page, configured to fit into the correct position with the page, and initialized to start playing a specific video sequence from the StarGaze DVD disc as soon as the page was launched. All of the scripts discussed in the following text are contained in a single JavaScript declaration of the StarGaze WebDVD page. It is possible to break each script up into its own unique declaration, but that makes it harder to read the code, and thus harder to maintain.

image

Tips, Tricks & Techniques

The best way to write your own WebDVD JavaScript is to not write them at all. Wherever possible you should “borrow” WebDVD scripts from public pages on the Internet, and modify them to do what you want. Please feel free to “borrow” any of the Web-DVD JavaScript on the StarGaze web site located at http://www.StarGazeDVD.com/webdvd_Java.htm.

The following code is used to embed the Media Player control into the HTML page, and to configure it correctly.

image

image

To automatically start the Media Player control playing a specific item of content from the DVD-Video disc, the following Java script was inserted in the HTML page immediately after the object declarations. This script tells Media Player to open the DVD-Video title and play chapter number 1 from title 10. Once chapter number 10 has finished Media Player will simply wait for further instructions from the viewer.

image

Individual Java scripts were written for each HTML button that had a specific function related to DVD-Video play back. The following script is used to support the context-sensitive button that allows the user to search the Internet for additional content related to the content currently being displayed in the Media Player window. These scripts define the text that is displayed in the button, the size, shape, and position of a new instance of a web browser that is created when the button is pressed, and the full URL pathname of the a web page on the Internet that the new browser window should display.

image

image

image

The following script is a general-purpose subroutine to play a chapter from the StarGaze DVD. If the chapter is in the same DVD-Video domain as the current chapter being played, a ChapterSearch command is issued. If we are changing domains, a ChapterPlay command is issued. We need to keep track of the DVD-Video domain to make sure user selections of audio format, subtitle language, and audio language are retained when the user selects a new chapter within the same domain. The ChapterSearch command does not reset any of these playback parameters. The ChapterPlay command resets the default audio and subtitle tracks selections since it forces the DVD-Video player on the PC to go back through the Video Manager domain to find the correct title and chapter to be played.

image

The following scripts define the title and chapter number of the StarGaze media element to be played, and the index for the synchronized link button.

image

image

image

The following script allows the user to turn on the subtitles within the DVD-Video display window, and to select the language (English, French, German, or Spanish) they want.

image

image

The following script allows the user to select the audio track. The first three audio tracks are music only (Dolby Digital 5.1, DTS, and Dolby Digital 2.0) and the last four tracks are narration (English, French, German, and Spanish).

image

image

The following script tells Media Player to make the display window go to full screen. Media Player has been configured so that pressing the Esc key will return the display window to its original size.

image

StarGaze Web Site Hosting, Maintenance & Upgrades

The StarGaze web site is hosted on a 300 Mhz Pentium II Windows NT 4.0 server, which is connected to the Internet via a dedicated T1 (1.544 Mbps) line. This same system also hosts another dozen or so web and FTP sites, as well as my e-mail server. Even though the server hardware is a few years old it is more than powerful enough to handle all the traffic demands of these web and FTP sites, and the dedicated T1 connection to the Internet usually runs at about two percent of capacity. Since all of the high bandwidth content delivered by the StarGaze WebDVD site is actually coming from the local DVD disc, and not my server, I could probably use a 56 Kbps dedicated modem line instead of the T1 connection to the Internet. WebDVD pages are very easy to serve since the majority of the communications and processing requirements are handled in the viewers PC rather than over the Internet.

The StarGaze web site is updated on a regular basis. Most of the updates are related to new data related to the celestial objects included on the StarGaze DVD-Video disc. Another common maintenance function is to update the links to other web sites since these tend to change frequently.

image

Tips, Tricks & Techniques

Developing an enhanced or WebDVD enabled DVD-Video title includes ongoing web efforts, such as site maintenance, upgrades, and viewer technical support. Make sure you have adequate facilities, staff members, and budget to cover these efforts since you will need to have the web site hosted and maintained as long as the title is available to the public.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset