Chapter 20

Video Controls


CONTENTS

One of the most exciting possibilities for delivery of content over the Internet is the prospect of live video on demand. Not only are traditional broadcasters such as ABC and HBO salivating at the prospect of delivering targeted videos to consumers over the Internet, telecommunication companies and software companies are anxious to get into the content delivery market. With ActiveX controls (and other dynamic content rendering engines, such as Netscape Plug-Ins and Java applications), content providers are beginning to acquire the tools to deliver video over the Internet. In this chapter, you will review several of the leading ActiveX controls that are available for the delivery of video content.

For each control, you will follow the usual format. First, you will learn about the control and discover where you can get it. Then you will learn the properties, events, and methods available for use with the control.

The Surround Video Control

The Surround Video Control is a unique combination of virtual reality and full motion video. Imagine you are standing on top of the Sears Tower in Chicago and looking out over the city. Unless there are low-lying clouds or overcast skies (a sight seen all too often in the Windy City), you can spin 360 degrees and see all around the city. The Surround Video Control permits you to experience the same effect in a Web page over the Internet. The Surround Video Control allows you to add 360¡ panoramic images to your Web site. The images shown in a Surround Video Control are either taken by using a special rotating camera or generated by several 3-D software rendering tools.

Source

http://www.bdiamond.com-The Surround Video ActiveX Control is available for free download over the Internet from Black Diamond Consulting, Inc.

The control can easily be used in a Web page. Figure 20.1 shows what you see when you use the Surround Video Control.

Figure 20.1 : The Surround Video Control

Properties

Table 20.1  Properties of the Surround Video Control

PropertyDescription
CodeBaseDescribes the version of the ActiveX control to be used. An example entry would be svideo.cab#version=1,0,0,180 where svideo.cab is the installation cabinet file
DataSourceNameStores the file name of the panoramic photograph to be displayed by the control
DefaultLocationThe default location for the control
EnableHyperLinksDetermines whether the Surround Video being displayed contains hyperlinks that should be honored and acted on when clicked
HeightThe height of the space to be covered by the control
IDrefers to the current instance of the control
MouseManipulationDetermines whether the panoramic video can be navigated using the mouse
RotationFactorsDetermines the amount to rotate when the mouse is moved and MouseManipulation is turned on
ZoomFactorThe distance to zoom in and out when the zoom in and out key is pressed
ZoomKeySetkeys used for zooming in and out. By default the + and - keys are used for zooming

Method

Table 20.2  The Surround Video Control Method

MethodDescription
AboutBoxDisplays a dialog box that describes the Surround Video Control

Events

Table 20.3  Events of the Surround Video Control

EventDescription
OnProgresscontrol fires progress status events so that you can show a progress message
OnReadyStateChangeThrows an event when the control is about to change states so that you may notify the user as well

Example

Listing 20.1 shows how this control would be used in a typical Web page.


Listing 20.1  NONE-Surround Video Control

<OBJECT ID=SVideo

      CLASSID="clsid:7142BA01-8BDF-11CF-9E23-0000E8A37440"

      CODEBASE="svideo.cab#version=1,0,0,180"

      HEIGHT=190 WIDTH=320 HSPACE=5 VSPACE=0 ALIGN="right">

      <PARAM NAME="DataSourceName" VALUE="marin.svh">

      <PARAM NAME="MouseManipulation" VALUE="1">

      <PARAM NAME="DefaultLocation" VALUE="800000">

      <PARAM NAME="RotationFactors" VALUE="0">

      <PARAM NAME="ZoomKeySet" VALUE="0">

      <PARAM NAME="EnableHyperlinks" VALUE="1">

</OBJECT>


Toward World Wide Video on Demand

It's been said that computers, television, information, and entertainment are converging on a collision course. Computer networks such as the Internet, for instance, are rapidly adding a diverse set of content types for distribution, including the infancy of useful real-time video. The television industry, on the other hand, is experimenting heavily with so-called interactive television. Interactive television is intended to allow the user to play along with a game show or ask for additional information about an advertised product. In addition, cable television operators are selling movies on a pay-per-view basis. In the information age, users want to have their entertainment and information where they want it, when they want it, and how they want it. Video content will be a tremendously important part of information and entertainment products and services in the future. Video on-demand on your television and at your computer will be a part of many of these products and services. Unfortunately neither the television industry nor Internet content providers are yet ready to deliver video on-demand services over the net. Internet users, in general, connect to the Internet with too little bandwidth to do video really well. Many have attempted to solve this problem with video compression, which, while helpful, is no panacea and, unfortunately, makes significant picture quality compromises. The broadcast television industry, on the other hand, does not have the infrastructure in place to distribute true on-demand video on a wide-scale basis. While the ActiveX controls discussed in this chapter are by no means sufficient for the kind of real time video-on-demand services that will be available in the future, they provide an early glimpse of this future and can add pizzazz to your Web pages.

The VDOLive Video Control

The VDOLive Video Control is a player for full motion video. Because video files are often quite large, the folks at VDOnet Corporation have done two things to make video easier to use over the Internet. First, they've provided some compression technology. Second, the VDOLive Video Control provides server based streaming of video content. Streaming generally implies a buffering process where the video data is downloaded just in time to be played. All tech talk aside, the best part of VDO is that you can actually use video in your Internet applications without requiring that your users buy an ISDN (integrated service digital network) line.

Source

http://www.vdo.net-The VDOLive Video ActiveX Control is available for free downloading over the Internet from VDOnet Corp. The control is a great tool for inserting video into a Web page. Figure 20.2 shows what you see when you use the VDOLive Control.

Figure 20.2 : The VDOLive Video Control

Properties

Table 20.4  Properties of the VDOLive Video Control

PropertyDescription
AutoStartDetermines whether the video starts up automatically or waits for the users to start it
CodeBaseDescribes the version of the ActiveX control to be used. An example entry would be =ftp://ftp.vdo.net/pub/vdoax20.exe
HeightThe height of the space to be covered by the control
IDrefers to the current instance of the control
LoopTells whether the video will loop or be played just once
SrcProvides the name of the video file to play
StretchSets whether the video display window can be stretched or not

Method

Table 20.5  The VDOLive Video Control Method

MethodDescription
AboutBoxDisplays a dialog box that describes the VDOLive Video Control

Events

The VDOLive Control does not contain any events.

Example

Listing 20.2 shows how this control would be used in a typical Web page.


Listing 20.2  NONE-VDOLive Control

<OBJECT

CLASSID="clsid:58A00AC3-777B-11CF-827D-0020AFf5Ff72"

CODEBASE="ftp://ftp.vdo.net/pub/vdoax20.exe"

WIDTH=160 HEIGHT=128 NAME="VDOOCX">

<PARAM NAME="SRC" VALUE="http://www.vdo.net/vdofiles/asafdemo.vdo">

<PARAM NAME="Autostart" VALUE="FALSE">

</OBJECT>


The VivoActive Video Control

Unlike the VDOLive Control which requires a special server, VivoActive from Vivo Software is a serverless streaming video product. Even without the server component, users can watch uninterrupted streaming audio/video content that starts to play when clicked. The VivoActive Control relies on special compression to speed the download process. This special compression tool is called VivoActive Producer. VivoActive Producer converts windows-based .AVI files and Mac-based QuickTime .MOV files into the compressed VIVO formatted (.VIV) file.

Source

http://www.vivo.com-The VivoActive ActiveX Control is available for free download over the Internet from Vivo Software, Inc.

Figure 20.3 : The VivoActive Video Control

Properties

Table 20.6  Properties of the VivoActive Video Control

PropertyDescription
CodeBaseDescribes the version of the ActiveX control to be used. An example entry would be http://www.vivo.com/ie/vvweb.cab where vvweb.cab is the installation cabinet file
HeightThe height of the space to be covered by the control
IDRefers to the current instance of the control
URLThe URL from which the Vivo video file can be downloaded
AutoStartDetermines whether the video starts playing automatically or not

Methods

Table 20.7  Methods of the Surround Video Control

MethodDescription
AboutBoxDisplays a dialog box that describes the Surround Video Control
PausePauses the video playback
PlayStarts the video playback

Event

Table 20.8  Event of the Surround Video Control

EventDescription
Click This event is triggered when the user clicks the control with the mouse

Example

Listing 20.3 shows how this control would be used in a typical Web page.


Listing 20.3  NONE-Vivo Active Control

<OBJECT CLASSID="clsid:02466323-75ed-11cf-a267-0020af2546ea#Version=1,0,0,0"

	WIDTH=176 HEIGHT=144

	CODEBASE="http://www.vivo.com/ie/vvweb.cab">

	<PARAM NAME="URL" VALUE="../videos/msoft.viv">

	<PARAM NAME="AUTOSTART" VALUE="TRUE">

	<PARAM NAME="VIDEOCONTROLS" VALUE="ON">

	<EMBED SRC="../videos/msoft.viv" width=176 height=144 autostart=true>

</OBJECT>


The MhAVI Video Control

Like the VivoActive Control which does not require a special server, MhAVI from MicroHelp is another serverless video control. The MhAVI Control plays .AVI video content. Unlike the other video controls discussed in this chapter, the MhAVI provides a very robust degree of control over the display of the video content.

Source

http://www.microhelp.com-The MhAVI ActiveX Control is available for free download over the Internet from MicroHelp, Inc.

Notice the "Select File" command button, slider, and play button controls at the bottom of Figure 20.4. The MhAVI ActiveX Control pictured here reflects how the control looks before a video file is loaded. A file can be loaded using the Select File command button. The play of the video can be commenced by pressing the "Play" button. The slider will mark progress of play through the video or can be used to select a starting point within the video.

Figure 20.4 : The MhAVI Video Control

Properties

Table 20.9  Properties of the MhAVI Video Control

PropertyDescription
ActionStores the current action that is underway. Possible values include None, Stop, Play, and PlayReverse
AlignmentSets the alignment of the video inside the video frame
AutosizeTells whether the video frame will automatically be fit to the size of the video
BevelSizerepresents the video frame
BevelSizeInnerThe size of the inner edge of the bevel
BevelStyleSets the beveling style for the video frame. Possible values include Lowered, Raised, and Chiseled
BevelStyleInnerSets the inner beveling style for the video frame. Possible values include Raised and Lowered
BorderStyleSelects the type of border for the control
Captiondescribes the control when no video is present
CodeBaseDescribes the version of the ActiveX control to be used. An example entry would be http://www.vivo.com/ie/vvweb.cab where vvweb.cab is the installation cabinet file
ControlBoxIndicates whether the control box is displayed or not
FileNameStores the name of the .AVI file to be displayed by the control
FillColorcolor that fills the video screen when no video is playing
Fontdisplays the caption with the font indicated here
FontStyleModifies the font for shadowing and other treatments
Heightspace to be covered by the control
IDrefers to the current instance of the control
LightColorColor for highlights
MaxButtonIndicates whether there is a useful maximize button
MDIIndicates that the control can be displayed in an MDI window
MinButtonIndicates whether there is a useful minimize button
PlayBarDetermines whether there is a play bar present
ShadowColorColor for shadows
ShowTitleDetermines whether the title text will be displayed
SizeableTrue, when the control can be resized
TextColorThe color used when displaying text
TitleHeightHeight of the title to be displayed
TitleTextThe text used for the title
Valignment Describes how the video should be aligned inside the frame
VolumeSets the volume of the audio track

Methods

Table 20.10  Methods of the Surround Video Control

MethodDescription
AboutBoxDisplays a dialog box that describes the Surround Video Control
ClearClears the current status of the control
RefreshCauses a control Refresh

Events

Table 20.11  Events of the Surround Video Control

EventDescription
ClickTriggers when the user clicks the control with the mouse
PositionChangedfires when the position of the window is changed

Example

Listing 20.4 shows how this control would be used in a typical Web page.


Listing 20.4  NONE-MhAvi Control

<OBJECT ID="mhavi1" WIDTH=317 HEIGHT=292

 CLASSID="CLSID:D1BCA8E0-f392-11CE-8f33-00AA00B46FE8"

 CODEBASE="/devtools/samples/mhavi32inf.cab">

    <PARAM NAME="_Version" VALUE="65536">

    <PARAM NAME="_ExtentX" VALUE="6703">

    <PARAM NAME="_ExtentY" VALUE="6174">

    <PARAM NAME="_StockProps" VALUE="38">

    <PARAM NAME="Caption" VALUE="MhAVI1">

    <PARAM NAME="Filename" VALUE="">

    <PARAM NAME="Action" VALUE="0">

    <PARAM NAME="BevelSize" VALUE="1">

    <PARAM NAME="BevelSizeInner" VALUE="2">

    <PARAM NAME="BevelStyle" VALUE="1">

    <PARAM NAME="BevelStyleInner" VALUE="0">

    <PARAM NAME="MDI" VALUE="0">

    <PARAM NAME="Sizeable" VALUE="0">

    <PARAM NAME="ControlBox" VALUE="0">

    <PARAM NAME="MinButton" VALUE="0">

    <PARAM NAME="MaxButton" VALUE="0">

    <PARAM NAME="Autosize" VALUE="0">

    <PARAM NAME="Speed" VALUE="1000">

    <PARAM NAME="Volume" VALUE="1000">

    <PARAM NAME="Position" VALUE="0">

    <PARAM NAME="TitleHeight" VALUE="0">

    <PARAM NAME="ShowTitle" VALUE="0">

    <PARAM NAME="TextColor" VALUE="0">

    <PARAM NAME="ShadowColor" VALUE="11619930">

    <PARAM NAME="LightColor" VALUE="16777215">

    <PARAM NAME="FontStyle" VALUE="0">

    <PARAM NAME="Alignment" VALUE="0">

    <PARAM NAME="VAlignment" VALUE="0">

    <PARAM NAME="TitleText" VALUE="">

</OBJECT>


The ActiveMovie Video Control

The ActiveMovie Video Control by Microsoft provides services for the playback of MPEG movie files. With ActiveMovie, you can deliver active content with synchronized audio, video, and special effects. ActiveMovie includes state-of-the-art MPEG playback for full-screen, television-quality video. Over the Internet, the ActiveX control provides streaming so that the user does not have to wait for the entire file to download. ActiveMovie is capable of playing back MPEG movies at 24 frames-per-second with 11 KHz stereo. Best of all, ActiveMovie is integrated with and included in the Microsoft Internet Explorer, enabling Internet users to play back popular media formats on the Web efficiently, including MPEG Audio and Video, .AVI files, QuickTime, AU, .WAV, and AIFF.

Source

http://www.microsoft.com-The ActiveMovie ActiveX Control is available for free download over the Internet from Microsoft.

Figure 20.5 shows how the ActiveMovie Control appears in a Web page. The play of the video can be commenced by pressing the "Play" button. The slider will mark progress of play through the video or can be used to select a starting point within the video.

Figure 20.5 : The ActiveMovie Video Control

Properties

Table 20.12  Properties of the ActiveMovie Video Control

PropertyDescription
AllowHideControlsDetermines whether the user can hide the controls or not
AllowHideDisplayDetermines whether the user can hide the display or not
AppearanceSets the appearance of the display to be either 3-D or flat
AutoStartSet to true, if you want the video to start automatically
AutoRewindSet to true, if you want the video to rewind automatically when stopped
BalanceIndicates the balance for audio
BorderStyleStores the border type to surround the control with
CodeBaseDescribes the version of the ActiveX control to be used. An example entry would be http://www.vivo.com/ie/vvweb.cab where vvweb.cab is the installation cabinet file
DisplayBackColorColor to use for the background
DisplayForeColorColor to use for the foreground
DisplayModeIndicates whether the counter display will show the current position in time or in frame count
EnableContextMenuSet to true, to enable the context menu
EnablePositionControlsSet to true, to enable the controls that are used to manipulate position
EnableSelectionControlsSet to true, to enable the controls that are used to make a selection
EnableTrackerEnables the Tracker Control
FileNameStores the name of the MPEG file to be displayed by the control
FullScreenModeEqual to true, when the control is in full screen mode
Heightspace to be covered by the control
IDrefers to the current instance of the control
MovieWindowSizeThe size to which the original movie will be scaled
PlayCountNumber of times to play the movie
SelectionEndSet to the time or frame count of the end of the selection
SelectionStartSet to the time or frame count of the start of the selection
ShowControlsTrue, if the controls are shown
ShowDisplayTrue, if the display is shown
ShowPositionControlsTrue, if the position controls are shown
ShowSelectionControlsTrue, if the selection controls are shown
ShowTrackerTrue, if the Tracker Control is shown
VolumeSets the volume of the audio track

Methods

Table 20.13  Methods of the ActiveMovie Control

MethodDescription
AboutBoxDisplays a dialog box that describes the ActiveMovie Video Control
PausePauses the playback of the video
RunStarts the playback of the video
StopStops the video playback

Events

Table 20.14  Events of the ActiveMovie Video Control

EventDescription
ClickTriggers when the user clicks the control with the mouse
DblClickFires when the user double-clicks the control
ErrorThrown when the control encounters an error
KeyDownFires when a key is pressed down
KeyPressOccurs when a key is pressed
KeyUpFires when a key comes up after being pressed
MouseDownTriggered when the mouse button is pressed down
MouseMoveFires when the mouse is moved
MouseUpFires when the mouse button is released
OpenCompleteOccurs when the MPEG movie has been opened
PositionChangedfires when the position of the window is changed
StateChangeTriggers when the control changes state
TimerFires when the timer goes off

Example

Listing 20.5 shows how this control would be used in a typical Web page.


Listing 20.5  NONE-ActiveMovie Control

<OBJECT ID="ActiveMovie" WIDTH=200 HEIGHT=120 CLASSID=

        "CLSID:05589FA1-C356-11CE-BF01-00AA0055595A">

        <PARAM NAME="FileName" VALUE="/ie/media/movie/hunt15.mpg">

        <PARAM NAME="AutoStart" VALUE="1">

        <PARAM NAME="ShowControls" VALUE="1">

        <PARAM NAME="ShowDisplay" VALUE="0">

    </OBJECT>