Informix Video Foundation Interfaces Supplement

68
/local0/tp/docpr./title.fm November 12, 1998 3:57 pm Informix Video Foundation Interfaces Supplement Version 1.2 November 1998 Part No. 000-5198

Transcript of Informix Video Foundation Interfaces Supplement

Page 1: Informix Video Foundation Interfaces Supplement

/local0/tp/docpr./title.fmNovember 12, 1998 3:57 pm

Informix VideoFoundation InterfacesSupplement

Version 1.2November 1998Part No. 000-5198

Page 2: Informix Video Foundation Interfaces Supplement

ii Informix Video Found

/local0/tp/docpr./title.fmNovember 12, 1998 3:57 pm

Published by INFORMIX Press Informix Software, Inc.4100 Bohannon DriveMenlo Park, CA 94025-1032

Copyright 1981-1998 by Informix Software, Inc. or its subsidiaries, provided that portions may becopyrighted by third parties, as set forth in documentation. All rights reserved.

The following are worldwide trademarks of Informix Software, Inc., or its subsidiaries, registered in theUnited States of America as indicated by “,” and in numerous other countries worldwide:

INFORMIX; Illustra™; DataBlade

RealVideo is a trademark of RealNetworks, Inc.

All other marks or symbols are registered trademarks or trademarks of their respective owners.

ACKNOWLEDGMENTS

Documentation Team: Chris Scannell, Tony Corman, Oakland Editing and Production

Contributors: Steven Atkinson, Marian Gallagher, Albert Landeck, George Manning, Chris Okon

RESTRICTED RIGHTS/SPECIAL LICENSE RIGHTS

Software and documentation acquired with US Government funds are provided with rights as follows: (1) iffor civilian agency use, with Restricted Rights as defined in FAR 52.227-19; (2) if for Dept. of Defense use, withrights as restricted by vendor's standard license, unless superseded by negotiated vendor license as prescribedin DFAR 227.7202. Any whole or partial reproduction of software or documentation marked with this legendmust reproduce the legend.

ation Interfaces Supplement

Page 3: Informix Video Foundation Interfaces Supplement

Table of Contents

/localNovem

Table ofContents

IntroductionIn This Introduction . . . . . . . . . . . . . . . . . 3About This Manual . . . . . . . . . . . . . . . . . . 3

Organization of This Manual . . . . . . . . . . . . . 3Types of Users . . . . . . . . . . . . . . . . . . 4Software Dependencies . . . . . . . . . . . . . . . 4

Documentation Conventions . . . . . . . . . . . . . . 5Typographical Conventions . . . . . . . . . . . . . 6Icon Conventions . . . . . . . . . . . . . . . . . 7Syntax Conventions . . . . . . . . . . . . . . . . 7

Additional Documentation . . . . . . . . . . . . . . . 8Printed Documentation . . . . . . . . . . . . . . . 8Release Notes, Documentation Notes, and Machine Notes . . . 9Related Reading . . . . . . . . . . . . . . . . . 9

Informix Welcomes Your Comments . . . . . . . . . . . . 10

Chapter 1 Informix Video Foundation Interface to NetShowIn This Chapter . . . . . . . . . . . . . . . . . . . 1-3Overview of the Interface to NetShow . . . . . . . . . . . 1-3

NetShow Media Management Systems . . . . . . . . . 1-4Features of the Interface to NetShow . . . . . . . . . . 1-6

Interface to NetShow Data Type and Functions . . . . . . . . 1-6MedNSTC Data Type. . . . . . . . . . . . . . . . 1-7MedPtrFrom Function . . . . . . . . . . . . . . . 1-7MedNSTCFrom Function . . . . . . . . . . . . . . 1-8

Implementation . . . . . . . . . . . . . . . . . . . 1-9MedVSIRegister Table . . . . . . . . . . . . . . . 1-10MedVSI_NetShow Table . . . . . . . . . . . . . . 1-12MedLoc Data Type . . . . . . . . . . . . . . . . 1-13ClientAccess Function . . . . . . . . . . . . . . . 1-13

0/tp/docprod/ao2.1/vid_splm/vid_splm.toc (bookTOC.template)ber 12, 1998 3:57 pm

Page 4: Informix Video Foundation Interfaces Supplement

iv Inform

/local0/tp/docprod/ao2.1/vid_splm/vid_splm.toc (bookTOC.template)November 12, 1998 3:57 pm

Using the Interface . . . . . . . . . . . . . . . . . 1-15Setting Up Your Database to Use the Examples . . . . . . 1-16Requesting Storage Locations for Large Media Objects . . . . 1-17Uploading Large Media Objects to NetShow . . . . . . . 1-18Playing a NetShow Media Object . . . . . . . . . . . 1-19

Chapter 2 Informix Video Foundation Interface to RealVideoIn This Chapter . . . . . . . . . . . . . . . . . . . 2-3Overview of the Interface to RealVideo . . . . . . . . . . 2-3

RealVideo Media Management Systems . . . . . . . . . 2-4Features of the interface to RealVideo. . . . . . . . . . 2-6

Implementation . . . . . . . . . . . . . . . . . . 2-6MedVSIRegister Table . . . . . . . . . . . . . . . 2-6MedVSI_RealVideo Table . . . . . . . . . . . . . . 2-8MedLoc Data Type . . . . . . . . . . . . . . . . 2-9ClientAccess Function . . . . . . . . . . . . . . . 2-9

Using the Interface . . . . . . . . . . . . . . . . . 2-12Setting Up Your Database to Use the Examples . . . . . . 2-12Requesting Storage Locations for Large Media Objects . . . . 2-13Uploading Large Media Objects to the RealVideo Server . . . 2-14Playing a RealVideo Media Object . . . . . . . . . . . 2-15

Chapter 3 Informix Video Foundation Interface to EMCIn This Chapter . . . . . . . . . . . . . . . . . . . 3-3Overview of the interface to EMC SNMS . . . . . . . . . . 3-3

EMC Media Management Systems. . . . . . . . . . . 3-4Features of the interface to EMC SNMS . . . . . . . . . 3-5

Implementation . . . . . . . . . . . . . . . . . . 3-6MedVSIRegister Table . . . . . . . . . . . . . . . 3-6ClientAccess Function . . . . . . . . . . . . . . . 3-7

Using the Interface . . . . . . . . . . . . . . . . . 3-9Setting Up Your Database to Use the Examples . . . . . . 3-9Requesting Storage Locations for Large Media Objects . . . . 3-10Uploading Large Media Objects to EMC SNMS . . . . . . 3-11

Index

ix Video Foundation Interfaces Supplement

Page 5: Informix Video Foundation Interfaces Supplement

/local0/tp/dNovember 12

Introduction

Introduction

In This Introduction . . . . . . . . . . . . . . . . . . 3

About This Manual . . . . . . . . . . . . . . . . . . . 3Organization of This Manual . . . . . . . . . . . . . . 3Types of Users . . . . . . . . . . . . . . . . . . . 4Software Dependencies . . . . . . . . . . . . . . . . 4

Documentation Conventions . . . . . . . . . . . . . . . 5Typographical Conventions . . . . . . . . . . . . . . 6Icon Conventions . . . . . . . . . . . . . . . . . . 7Syntax Conventions . . . . . . . . . . . . . . . . . 7

Additional Documentation . . . . . . . . . . . . . . . . 8Printed Documentation . . . . . . . . . . . . . . . . 8Release Notes, Documentation Notes, and Machine Notes . . . . 9Related Reading . . . . . . . . . . . . . . . . . . 9

Informix Welcomes Your Comments . . . . . . . . . . . . . 10

ocpr./intr o.toc, 1998 3:57 pm

Page 6: Informix Video Foundation Interfaces Supplement

2 Inform

/local0/tp/docpr./intr o.tocNovember 12, 1998 3:57 pm

ix Video Foundation Interfaces Supplement

Page 7: Informix Video Foundation Interfaces Supplement

In This IntroductionThis chapter introduces the Informix Video Foundation Interfaces Supplement.Read this chapter for an overview of the information provided in this manualand for an understanding of the conventions used throughout.

About This ManualThe Informix Video Foundation Interfaces Supplement describes the device-specific interfaces between Informix Dynamic Server with Universal DataOption and the following media storage system formats:

■ Microsoft Windows NT NetShow Services

■ RealNetworks RealVideo

■ EMC Symmetrix Network Media Storage

These interfaces enable video application and DataBlade module developersto store and manage video data in a database.

This section discusses the organization of the manual, the intended audience,and the software products that you must have to use these Video Foundationinterfaces.

Organization of This ManualThis manual includes the following chapters:

■ This introduction provides an overview of the manual, describes thedocumentation conventions used, and explains the generic style ofthis documentation.

Introduction 3

Page 8: Informix Video Foundation Interfaces Supplement

Types of Users

■ Chapter 1, “Informix Video Foundation Interface to NetShow,” intro-duces the NetShow interface, describes a Microsoft mediamanagement system, lists what is provided by the interface,describes the data type and functions that this interface provides,and supplies NetShow-specific information you need to know to usethis Virtual Storage Interface (VSI) implementation.

■ Chapter 2, “Informix Video Foundation Interface to RealVideo,”introduces the RealVideo interface, describes a RealNetworks mediamanagement system, lists what is provided by the interface,describes the data type and functions that this interface provides,and supplies RealNetworks-specific information you need to knowto use this Virtual Storage Interface (VSI) implementation.

■ Chapter 3, “Informix Video Foundation Interface to EMC,” intro-duces the EMC SNMS interface, describes an EMC mediamanagement system, lists what is provided by the interface,describes the data type and functions that this interface provides,and supplies EMC-specific information you need to know to use thisVirtual Storage Interface (VSI) implementation.

Also included in this supplement is a comprehensive index.

Types of UsersThis manual is written for developers who need to integrate a media storagesystem into their media management system.

This manual is also a resource for database administrators who managesystems that use Informix Dynamic Server, the Informix Video FoundationDataBlade module and a Microsoft, RealNetworks, or EMC media storagesystem.

Software DependenciesThe video foundation interfaces described in this manual require thefollowing software:

■ Informix Dynamic Server with Universal Data Option

■ Informix Video Foundation DataBlade module

4 Informix Video Foundation Interfaces Supplement

Page 9: Informix Video Foundation Interfaces Supplement

Documentation Conventions

■ Informix Web DataBlade module. This is required only for Webaccess to the database and is not supported for EMC SNMS.

■ A media storage system that supports one of the following formats:

❑ Microsoft NetShow

❑ RealVideo

❑ EMC SNMS

■ A video client application compatible with the storage system

■ A Web browser: either Netscape Navigator or Microsoft InternetExplorer. This is required only for Web access to the database and isnot supported for EMC SNMS.

■ A Web server, such as Netscape Enterprise Server. This is requiredonly for Web access to the database and is not supported for EMCSNMS.

Documentation ConventionsThis section describes the conventions that this manual uses. These conven-tions make it easier to gather information from this and other Informixdocuments.

The following conventions are covered:

■ Typographical conventions

■ Icon conventions

■ Syntax conventions

Introduction 5

Page 10: Informix Video Foundation Interfaces Supplement

Typographical Conventions

Typographical ConventionsThis manual uses the following standard set of conventions to introduce newterms, describe command syntax, and so forth.

Convention Meaning

KEYWORD All keywords appear in uppercase letters in a serif font.

DataType User-defined data types appear in mixed case letters in a seriffont.

italics Within text, new terms and emphasized words appear in italics.Within syntax diagrams, values that you are to specify appearin italics.

Boldface Identifiers—such as function names, database names, tablenames, column names, command names, and environmentvariables—appear in a mixed-case, boldface font.

monospace Information that the product displays and information that youenter appears in a monospace typeface.

6 Informix Video Foundation Interfaces Supplement

Page 11: Informix Video Foundation Interfaces Supplement

Icon Conventions

Icon ConventionsThroughout the documentation, you will find text that is identified by iconsin the margin. These icons identify three types of information, as described inthe following table. This information is always displayed in italics.

Syntax ConventionsThis guide uses the following conventions to specify syntax:

■ Square brackets ( [ ] ) surround optional items.

■ Curly brackets ( { } ) surround items that can be repeated zero ormore times.

■ A vertical line ( | ) separates alternatives.

■ Comma-separated lists of values are indicated by a parameter valuewith a “_commalist” suffix. For example, colorlist=color_commalistmight indicate “colorlist=red, blue, green”.

■ Function parameters are italicized; arguments that must be specifiedas shown are not italicized.

Icon Description

Identifies paragraphs that contain vital instructions,cautions, or critical information.

Identifies paragraphs that contain significant informationabout the feature or operation that is being described.

Identifies paragraphs that offer additional details orshortcuts for the functionality that is being described.

Introduction 7

Page 12: Informix Video Foundation Interfaces Supplement

Additional Documentation

These function syntax conventions used in context look like this:

myfunction([optionalarg], {repeatablearg}, set | noset,myparam=my_commalist)

DataBlade functions are used in SQL statements to manipulate thespecialized data types defined by DataBlade modules. These syntax conven-tions are used in the function reference sections of this guide.

Additional DocumentationThis section describes the following parts of the documentation set:

■ Printed documentation

■ Release notes, documentation notes, and machine notes

■ Related reading

Printed DocumentationThe following Informix documents complement the information in thismanual:

■ INFORMIX-Universal Server Administrator’s Guide

■ Informix Video Foundation DataBlade Module User’s Guide

■ DataBlade Module Installation and Registration Guide

8 Informix Video Foundation Interfaces Supplement

Page 13: Informix Video Foundation Interfaces Supplement

Release Notes, Documentation Notes, and Machine Notes

Release Notes, Documentation Notes, and Machine NotesThe following on-line files, located in a version-based subdirectory of$INFORMIXDIR/extend, supplement the information in this manual.

Please examine these files; they contain vital information about applicationand performance issues.

Related ReadingFor information on object-relational database management systems, seeObject-Relational DBMSs: The Next Great Wave, by Michael Stonebraker withDorothy Moore (Morgan Kaufmann Publishers, 1996).

For technical information on database management, see An Introduction toDatabase Systems, by C. J. Date (Addison-Wesley Publishing, 1995).

To learn more about the SQL language, consider the following books:

■ A Guide to the SQL Standard, by C. J. Date with H. Darwen (Addison-Wesley Publishing, 1993)

■ Understanding the New SQL: A Complete Guide, by J. Melton andA. Simon (Morgan Kaufmann Publishers, 1993)

■ Using SQL, by J. Groff and P. Weinberg (Osborne McGraw-Hill, 1990)

For information on digital video, see A Technical Introduction to Digital Video,by Charles A. Poynton (John Wiley & Sons, 1996).

On-Line File Purpose

Documentationnotes

The documentation notes describe features that are notcovered in the manual or that have been modified sincepublication.

Machine notes The machine notes describe any special actions that arerequired to configure and use Informix products on yourcomputer.

Release notes The release notes contain installation information, and infor-mation about any known problems and their workarounds.

Introduction 9

Page 14: Informix Video Foundation Interfaces Supplement

Informix Welcomes Your Comments

Informix Welcomes Your CommentsPlease tell us what you like or dislike about our manuals. To help us withfuture versions of our manuals, we want to know about any corrections orclarifications that you would find useful. Please include the followinginformation:

■ The name and version of the manual that you are using

■ Any comments that you have about the manual

■ Your name, address, and phone number

Write to us at the following address:

Informix Software, Inc.Technical Publications300 Lakeside Dr., Suite 2700Oakland, CA 94612

If you prefer to send electronic mail, our address is:

[email protected]

We appreciate your suggestions.

10 Informix Video Foundation Interfaces Supplement

Page 15: Informix Video Foundation Interfaces Supplement

/localNovem

1Informix Video Foundation Interface to NetShow0

1Chapter

0/tp/dber 12

Informix Video FoundationInterface to NetShow

In This Chapter . . . . . . . . . . . . . . . . . . . . 1-3

Overview of the Interface to NetShow . . . . . . . . . . . . 1-3NetShow Media Management Systems . . . . . . . . . . 1-4Features of the Interface to NetShow . . . . . . . . . . . 1-6

Interface to NetShow Data Type and Functions . . . . . . . . . 1-6MedNSTC Data Type. . . . . . . . . . . . . . . . . 1-7MedPtrFrom Function . . . . . . . . . . . . . . . . 1-7MedNSTCFrom Function . . . . . . . . . . . . . . . 1-8

Implementation . . . . . . . . . . . . . . . . . . . . 1-9MedVSIRegister Table . . . . . . . . . . . . . . . . 1-10MedVSI_NetShow Table . . . . . . . . . . . . . . . 1-12MedLoc Data Type . . . . . . . . . . . . . . . . . 1-13ClientAccess Function . . . . . . . . . . . . . . . . 1-13

Using the Interface . . . . . . . . . . . . . . . . . . . 1-15Setting Up Your Database to Use the Examples . . . . . . . . 1-16Requesting Storage Locations for Large Media Objects . . . . . 1-17Uploading Large Media Objects to NetShow . . . . . . . . 1-18Playing a NetShow Media Object . . . . . . . . . . . . 1-19

ocpr./netshow .toc, 1998 3:57 pm Informix Video Foundation Interface to NetShow

Page 16: Informix Video Foundation Interfaces Supplement

1-2 Infor

/local0/tp/docpr./netshow .tocNovember 12, 1998 3:57 pm Informix Video Foundation Interface to NetShow

mix Video Foundation Interfaces Supplement

Page 17: Informix Video Foundation Interfaces Supplement

/local0/tp/docpr./netshow .fm

1Informix Video Foundation Interface to NetShow

0

In This ChapterThis chapter provides the following information about the interface toNetShow:

■ An overview of the interface

■ Details of the implementation

■ Instructions for using the interface

Overview of the Interface to NetShowThe interface to NetShow is an interface between Informix Dynamic Serverwith Universal Data Option and Microsoft NetShow for Windows NT.

A large mediaobject can be videodata, audio data,or other multi-media content.

This interface is an implementation of the Informix Video FoundationDataBlade module Virtual Storage Interface (VSI), which provides a device-specific interface between your Informix database server and large mediaobjects on a NetShow server. This interface enables video application andDataBlade module developers to store and manage NetShow video data in adatabase.

NetShow is a high-performance media storage service for Windows NT. Forinformation on this product, consult the NetShow documentation or theMicrosoft Web site at www.microsoft.com.

Informix Video Foundation Interface to NetShow 1-3

Page 18: Informix Video Foundation Interfaces Supplement

NetShow Media Management Systems

/local0/tp/docpr./netshow .fm11/12/98 Informix Video Foundation Interface to NetShow

NetShow Media Management SystemsMedia management systems that are based on NetShow include:

■ A client using Microsoft Media Player. The Media Player can be usedin one of the following ways:

❑ As a plug-in to a Web browser (Netscape Navigator or MicrosoftInternet Explorer). The user makes database queries with theWeb browser. A Web server receives requests from the Webbrowser, queries the database using the Informix Web DataBlademodule, and returns generated HTML pages to the browser.

❑ Embedded in a client application. The application uses ODBC toconnect directly to the Informix Dynamic Server database.

■ Informix Dynamic Server with Universal Data Option, extended tohandle media data types with the Informix Web and Informix VideoFoundation DataBlade modules and the interface to NetShow.

The database server receives requests from the Web server. When arequest refers to a NetShow media object (such as NetShow videodata), the database server communicates with the NetShow serverand returns access strings to the Web server.

To stream datameans to continu-ously transmitdata.

■ A Windows NT server with NetShow services, a storage server thatreceives requests from and responds to the database.

When Media Player contacts the NetShow server with a valid accessstring, NetShow server streams video, audio, and other multimediacontent directly to Media Player.

Important: The Informix Video Foundation interface to NetShow does not supportMicrosoft NetShow Theater Server.

Figure 1-1 on page 1-5 shows the basic elements of a NetShow mediamanagement system and the flow of data for video playback. The sequenceof events is as follows:

1. The client uses a Web browser to send a URL request (a request foraccess to a particular large media object) to the Web server.

2. The Web server uses the Web DataBlade module to issue SQLcommands to your Informix database.

3. The Informix database server requests access to the large mediaobject from the NetShow server.

1-4 Informix Video Foundation Interfaces Supplement

Page 19: Informix Video Foundation Interfaces Supplement

NetShow Media Management Systems

/local0/tp/docprod/ao2.1/vid_splm/v./netshow .fm

4. The NetShow server returns an access string to the Informixdatabase.

5. If the request was made by a Web browser, the Informix databasereturns the access string to the Web server. The Web server constructsan HTML document that includes the access string and returns it tothe client Web browser.

Otherwise, the Informix database returns the access string directly toMedia Player.

6. The Web browser displays the HTML document and invokes MediaPlayer to contact NetShow with the access string.

7. NetShow streams video data directly to Media Player.

Figure 1-1NetShow Media Management System

Web browserMicrosoft Media Player

Client Web server

NetShow server

1. URL/access request

2. SQL commands

3. Request for access string4. Access string

5. Access string

5. HTML page with access string

6. Access string

7. Video

Informix Dynamic Server withUniversal Data Option

Interface to NetShowVideo Foundation DataBlade module

Web DataBlade module

Informix Video Foundation Interface to NetShow 1-5

Page 20: Informix Video Foundation Interfaces Supplement

Features of the Interface to NetShow

/local0/tp/docpr./netshow .fm11/12/98 Informix Video Foundation Interface to NetShow

Tip: Although all elements of a NetShow media management system can be hostedon a single computer, Informix recommends that the Web server, NetShow, andInformix Dynamic Server be hosted on three separate computers for bestperformance.

Features of the Interface to NetShowAs part of its device-specific VSI implementation, the interface to NetShowprovides:

■ functions to convert between the NetShow timestamp and theInformix Video Foundation MedPtr data type.

■ NetShow-specific values for the Informix Video Foundation MedLocdata type.

■ NetShow-specific values for the Informix Video FoundationMedVSIRegister database table.

■ NetShow implementations of the VSI functions.

The rest of this chapter describes these elements and provides information onhow a video application or DataBlade module developer can integrate theelements into a media management system.

Interface to NetShow Data Type and FunctionsThe interface to NetShow provides the following data type and functions:

■ The MedNSTC data type enables your video application orDataBlade module to reference, store, and manipulate precise pointsin time within a NetShow media object.

■ The MedPtrFrom and NetShowFrom functions enable yourInformix database—as well as your video application or DataBlademodule—to convert between the NetShow timestamp and theInformix Video Foundation DataBlade module MedPtr data type.

1-6 Informix Video Foundation Interfaces Supplement

Page 21: Informix Video Foundation Interfaces Supplement

MedNSTC Data Type

/local0/tp/docprod/ao2.1/vid_splm/v./netshow .fm

MedNSTC Data TypeMedNSTC is a distinct type; its source type is the INT8 data type. This datatype represents a specific point in time in a NetShow media object (such asNetShow video data). This data type is specified as hours, minutes, seconds,and milliseconds from the beginning of the media object, using the followingformat:

HH:MM:SS:MMM

The following example of a MedNSTC value indicates 2 minutes, 33 secondsfrom the beginning of the media object:

00:02:33:000

The MedNSTC data type is used in the PLAY-SEGMENT attribute of theNetShow Active Movie Player tag to specify the starting and ending pointsof a segment. (For information on this tag and its attributes, see the NetShowproduct documentation. The following example specifies a segment thatstarts at the media object’s 60-second timestamp and ends at its 90-secondtimestamp:

<embed src=...PLAY-SEGMENT=00:01:00:000-00:01:30:000

>

If the PLAY-SEGMENT attribute is not included in the tag, the entire mediaobject is played.

Important: Do not create a database table column of type MedNSTC. Instead, definecolumns of type MedPtr and use the MedNSTCFrom and MedPtrFrom functionsto convert between the two types. For information on the MedPtr data type, consultthe “Informix Video Foundation DataBlade Module User’s Guide.”

For information on these conversion functions, see the next sections.

MedPtrFrom FunctionConverts a NetShow timestamp into a MedPtr value.

Informix Video Foundation Interface to NetShow 1-7

Page 22: Informix Video Foundation Interfaces Supplement

MedNSTCFrom Function

/local0/tp/docpr./netshow .fm11/12/98 Informix Video Foundation Interface to NetShow

Syntax

MedPtrFrom(ns_timestamp)

Returns

Returns a MedPtr value; for information on this data type, see the InformixVideo Foundation DataBlade Module User’s Guide.

Example

The following example shows how to select a MedPtr column value frommy_table, perhaps for use in an Informix Video Foundation DataBlademodule function such as MedTCFrom:

SELECT MedPtrFrom(‘00:00:33.000’::MedNSTC)FROM my_table;

First the integer 000033000 is cast to the MedNSTC data type, and then thatvalue is used as input to the MedPtrFrom function. The result is the MedPtrvalue 33000000000N-33000.

MedNSTCFrom FunctionConverts a MedPtr value into a MedNSTC timestamp.

Argument Purpose Restrictions

ns_timestamp Specifies the NetShowtimestamp value toconvert.

A MedNSTC data typevalue; see page 1-6.

1-8 Informix Video Foundation Interfaces Supplement

Page 23: Informix Video Foundation Interfaces Supplement

Implementation

/local0/tp/docprod/ao2.1/vid_splm/v./netshow .fm

Syntax

MedNSTCFrom('media_pointer')

Returns

Returns a MedNSTC value; for information on this data type, see page 1-6.

Example

The following example shows how to select a MedNSTC column value frommy_table, perhaps for use as the starting point in a PLAY-SEGMENT attributeof a NetShow tag:

SELECT MedNSTCFrom(‘33S’::MedPtr)FROM my_table;

First the string '33S' is cast to the MedPtr data type, and then that value isused as input to the MedNSTCFrom function. The result is the MedNSTCvalue 00:00:33.000.

ImplementationThis section provides information specific to NetShow that you need to knowbefore using this interface:

■ Values for the MedVSIRegister database table

■ Values for the MedLoc data type

Argument Purpose Restrictions

media_pointer Specifies the MedPtrvalue to convert.

MedPtr value must bespecified in singlequotes (for informationon this data type, see theInformix VideoFoundation DataBladeModule User’s Guide).

Informix Video Foundation Interface to NetShow 1-9

Page 24: Informix Video Foundation Interfaces Supplement

MedVSIRegister Table

/local0/tp/docpr./netshow .fm11/12/98 Informix Video Foundation Interface to NetShow

■ Support for the ClientAccess function

For information on the Informix Video Foundation DataBlade module and itsVSI, consult the Informix Video Foundation DataBlade Module User’s Guide.

MedVSIRegister TableThe Informix Video Foundation DataBlade module MedVSIRegister table isa registry for each location, or storage server, of large media objects stored inyour database. Each row of this table is an instance of the MedStorage namedrow data type, also supplied by the Video Foundation DataBlade module.

In a NetShow media management system, large media objects are stored onone or more NetShow servers, each hosted on a separate computer. Beforeyou can use the interface to NetShow, you must insert a MedStorage rowvalue into the MedVSIRegister table for each NetShow server in yoursystem.

The following table shows the column values for NetShow. Note that eachrow must have a value of 'VSI_NETSHOW' for the Type column and a uniquevalue for each StorageID column.

Column Name Type Data Explanation

Type CHAR (18) 'VSI_NETSHOW' NetShow is identified by the string'VSI_NETSHOW'.

StorageID INTEGER 7 Identification number of this server.Must be a unique number amongvideo servers in this system.

ConnectionName LVARCHAR 'NetShow' Device-specific identifier of thecomputer hosting this video server:for example, a network portaddress.

UserID LVARCHAR 'root' Login for Informix Dynamic Serveraccess to this video server.

Password LVARCHAR 'root1234' Password associated with UserIDfor this video server. You mightwant to encrypt this value.

(1 of 2)

1-10 Informix Video Foundation Interfaces Supplement

Page 25: Informix Video Foundation Interfaces Supplement

MedVSIRegister Table

/local0/tp/docprod/ao2.1/vid_splm/v./netshow .fm

The following example shows an insert into the MedVSIRegister table forthe Acme Company’s NetShow server #7:

INSERT into MedVSIRegister VALUES ( MedStorage( ‘VSI_NETSHOW’, -- type

7, -- StorageID‘Netshow main server’, -- ConnectionName‘nsadmin’, -- Username‘pass1234’, -- Password‘VSI_LOCAL:/tmp/’, -- ConnectionString‘Microsoft’, -- Vendor‘6.2’) ); -- Model

ConnectionString LVARCHAR 'VSI_LOCAL:/local2/videos/'

Additional information needed toconnect to the computer hostingthis NetShow server:‘VSI_LOCAL’,followed by the path name.

Vendor CHAR (30) 'Microsoft' Vendor name.

Model CHAR (30) '6.2' Model number for the NetShowsoftware.

Column Name Type Data Explanation

(2 of 2)

Informix Video Foundation Interface to NetShow 1-11

Page 26: Informix Video Foundation Interfaces Supplement

MedVSI_NetShow Table

/local0/tp/docpr./netshow .fm11/12/98 Informix Video Foundation Interface to NetShow

MedVSI_NetShow TableThe Informix Video Foundation DataBlade module MedVSI_NetShow tableis a registry for each NetShow server stored in your database. In a NetShowmedia management system, large media objects are stored on one or moreNetShow servers, each hosted on a separate computer. Before you can use theinterface to NetShow, you must insert values into each row of theMedVSI_NetShow table for each NetShow server in your system.

The following example shows an insert into the MedVSI_NetShow table forthe Acme Company’s NetShow server #7:

INSERT into MedVSI_Netshow VALUES ( ‘VSI_LOCAL:/tmp/’, 7, ‘mms://www.acme.com:9090/’, 0);

Column Name Type Data Explanation

Path LVARCHAR 'VSI_LOCAL:/local2/videos/'

Additional information needed toconnect to the computer hostingthis NetShow server:'VSI_LOCAL',followed by the path name.

Same as correspondingMedVSIRegister connection string.

StorageID INTEGER 7 Identification number of this server.Must be a unique number amongvideo servers in this system. Sameas corresponding MedVSIRegisterStorageID value.

URL LVARCHAR ‘mms://www.acme.com:9090/’

Root URL to present inClientAccess(‘WEB_VIEW’).

LastNum INTEGER 0 First number of file numbering(vid0.asf in this example).

1-12 Informix Video Foundation Interfaces Supplement

Page 27: Informix Video Foundation Interfaces Supplement

MedLoc Data Type

/local0/tp/docprod/ao2.1/vid_splm/v./netshow .fm

MedLoc Data TypeA large mediaobject can be videodata, audio data,or other multi-media content.

The MedLoc data type is provided by the Informix Video FoundationDataBlade module to uniquely represent the location of a large media object.

The following example shows the syntax of a NetShow MedLoc value:

VSI_NETSHOW[#server_id]:file_name

The following example shows a NetShow MedLoc value:

VSI_NETSHOW#3:vid12.asfVSI_NETSHOW:vid1372.asf

ClientAccess FunctionThe Informix Video Foundation DataBlade module ClientAccess functionreturns a string that is used by the client to access a NetShow media objectdirectly from NetShow. The client must request access operation permissionsusing the arguments to ClientAccess.

This section describes the NetShow VSI implementation of the ClientAccessfunction.

Syntax

ClientAccess(media_object, services, reserved, 'arguments')

Argument Purpose Restrictions

media_object Specifies the largemedia object to whichthe caller requestsaccess.

NetShow MedLoc value.See page 1-12 for moreinformation.

(1 of 2)

Informix Video Foundation Interface to NetShow 1-13

Page 28: Informix Video Foundation Interfaces Supplement

ClientAccess Function

/local0/tp/docpr./netshow .fm11/12/98 Informix Video Foundation Interface to NetShow

If services is 1 (playback), arguments must have one of the following values.

Returns

Returns a MedLoc value. The Location element of the value is the accessstring. If the services argument is 1 (playback), the access string can be usedto generate an HTML page that invokes Windows Media Player to play thelarge media object. If services is 8 (write to NetShow), the access string can beused to write a large media object to NetShow.

services Specifies the accessservice the caller isrequesting.

Must be 1 (for playback)or 8 (for writing toNetShow).

reserved Reserved for future use. Set to 0.

arguments Specifies additionalarguments to NetShowfor the large mediaobject.

Must be specified insingle quotes.

If services is 8, setarguments to the emptystring (' '). Otherwise,set it to one of the valuesin the next table.

Argument Meaning

SERVER_VIEW Get an access string containing the MedLoc value for the videofile from the Informix database.

FILE_VIEW Get an access string containing the full path name to the file.

WEB_VIEW Get a string that contains a URL usable directly by MediaPlayer.

Argument Purpose Restrictions

(2 of 2)

1-14 Informix Video Foundation Interfaces Supplement

Page 29: Informix Video Foundation Interfaces Supplement

Using the Interface

/local0/tp/docprod/ao2.1/vid_splm/v./netshow .fm

Examples

The following example shows the ClientAccess function used to retrieve theplayback access string for vid17.asf (a NetShow video object):

SELECT clientAccess(‘VSI_NETSHOW#7:vid1.asf’, 1, 0,‘FILE_VIEW’)FROM my_table;

SELECT clientAccess(‘VSI_NETSHOW#7:vid1.asf’, 1, 0,‘WEB_VIEW’)FROM my_table;

SELECT clientAccess(‘VSI_NETSHOW#7:vid1.asf’, 1, 0,‘SERVER_VIEW’)FROM my_table;

Example values returned by the invocations shown above are:

■ VSI_NETSHOW:mms://www.acme4.com/vid17.asf

■ VSI_NETSHOW:d:\Media\vid17.asf

You can use these values to insert tags in an HTML page constructed forMedia Player. See “Playing a NetShow Media Object” on page 1-18 for moreinformation. (For information on NetShow tags, see the NetShowdocumentation.)

Using the InterfaceThis section provides examples of how to use the interface to NetShow. First,it shows how to set up your database to use these examples. Then, it showshow to perform the following tasks:

■ Reserve storage locations on NetShow server for large media objectsand insert these locations into the database

■ Upload a large media object from the client computer to theNetShow server

■ Play the NetShow media object

Informix Video Foundation Interface to NetShow 1-15

Page 30: Informix Video Foundation Interfaces Supplement

Setting Up Your Database to Use the Examples

/local0/tp/docpr./netshow .fm11/12/98 Informix Video Foundation Interface to NetShow

This chapter refers to Informix Video Foundation DataBlade modulefunctions and schema tables. For details on these elements, see the InformixVideo Foundation DataBlade Module User’s Guide.

Setting Up Your Database to Use the ExamplesSet up your Informix database server before you use the examples in thischapter.

To use the examples in this chapter

1. Register the Video DataBlade Interface and NetShow server #1 withthe Informix Video Foundation DataBlade module by inserting a rowinto the MedVSIRegister table.

The following example of such an insert uses the Informix VideoFoundation DataBlade module MedStorage function to create theMedStorage row value:

INSERT into MedVSIRegister VALUES ( MedStorage( ‘VSI_NETSHOW’, -- type

7, -- StorageID‘Netshow main server’, -- ConnectionName‘nsadmin’, -- Username‘pass1234’, -- Password‘VSI_LOCAL:/tmp/’, -- ConnectionString‘Microsoft’, -- Vendor‘6.2’) ); -- Model

2. Register the NetShow server by inserting a row into theMedVSI_NetShow table, as follows:

INSERT into MedVSI_Netshow VALUES ( ‘VSI_LOCAL:/tmp/’, 7, ‘mms://www.acme.com:9090/’, 0);

1-16 Informix Video Foundation Interfaces Supplement

Page 31: Informix Video Foundation Interfaces Supplement

Requesting Storage Locations for Large Media Objects

/local0/tp/docprod/ao2.1/vid_splm/v./netshow .fm

3. Create a database table called my_table for use throughout thischapter, as follows:

CREATE table my_table (name char(250),video MedLoc);

The first column is the name of the NetShow media object, and thesecond column is the location (MedLoc value, see page 1-12) of thevideo data for the object.

Requesting Storage Locations for Large Media ObjectsAssume that you need to capture some video and audio data into a largemedia object and then store that object on the NetShow server and themetadata in your Informix database.

To start, you must have a NetShow media object and storage locations on theNetShow server for the media object video data.

To request a storage location for large media objects

1. Use Microsoft NetShow Encoder to capture and compress video andaudio data in a large media object you call Sample Clip.

This media object is in NetShow compression format and is locatedon the hard drive of your local, or client, computer. (For informationon this compression format, see your NetShow productdocumentation.)

2. Request a new storage location for the video data and insert thelocation into the database.

Use the Informix Video Foundation DataBlade module Newfunction to reserve MedLoc values for Sample Clip video data onNetShow server #7.

INSERT into my_tableSELECT ‘Sample Clip’, New(Storage)FROM MedVSIRegisterWHERE Storage.type = ‘VSI_NETSHOW’

and Storage.StorageID = 7;

The returned MedLoc value is inserted into my_table.

Informix Video Foundation Interface to NetShow 1-17

Page 32: Informix Video Foundation Interfaces Supplement

Uploading Large Media Objects to NetShow

/local0/tp/docpr./netshow .fm11/12/98 Informix Video Foundation Interface to NetShow

3. Request access to play back the video data.

Use the Informix Video Foundation DataBlade module ClientAccessfunction. Set the services arguments to 1 (playback) for WEB_VIEW,FILE_VIEW, and SERVER_VIEW. Because only the Location elements ofthe access strings are needed, the results of the ClientAccess functionare passed to the Informix Video Foundation DataBlade moduleLocation function.

SELECT Location(ClientAccess(video, 1, 0,‘WEB_VIEW’)),

Location(ClientAccess(video, 1, 0, ‘FILE_VIEW’)),Location(ClientAccess(video, 1, 0, ‘SERVER_VIEW’))

FROM my_tableWHERE name = ‘Sample Clip’;

The video and audio data locations have been reserved on NetShowserver, so meaningful access strings are returned. The followingexample values are returned by the preceding invocations:

■ mms://fred.acme4.com:3000\vid394.asf

■ //fred.acme4.com/d:/Media\vid394.asf

■ vid394.asf

Uploading Large Media Objects to NetShowTo upload the Sample Clip data from your local drive to NetShow server,you can either write the large media object directly to the server, or you canuse Microsoft NetShow Administrator to set up a file transfer stream usingFTP to upload it.

1-18 Informix Video Foundation Interfaces Supplement

Page 33: Informix Video Foundation Interfaces Supplement

Playing a NetShow Media Object

/local0/tp/docprod/ao2.1/vid_splm/v./netshow .fm

To write the large media object to the NetShow server

1. Request access to write the large media object to the NetShow server.

Use the Informix Video Foundation DataBlade module ClientAccessfunction. Set the services argument to 8 (write to NetShow). Becauseonly the location element of the access string is needed, the results ofthe ClientAccess function are passed to the Informix VideoFoundation DataBlade module Location function.

INSERT into my_tableSELECT ‘Uploaded Clip’, New(Storage)FROM MedVSIRegisterWHERE Storage.type = ‘VSI_NETSHOW’

and Storage.StorageID = 7;

SELECT Location(ClientAccess(video, 8, 0, ‘WEB_VIEW’))FROM my_tableWHERE name = ‘Uploaded Clip’;

2. Use the returned access string as a URL for your Web browser. Whenyou have connected to this destination, upload Sample Clip toNetShow using FTP.

Playing a NetShow Media ObjectAfter you have uploaded a large media object to NetShow server, you canrequest access to the video data location information and receive positivevalues, as follows:

SELECT Location(ClientAccess(video, 1, 0, ‘WEB_VIEW’))FROM my_tableWHERE name = ‘Uploaded Clip’;

Informix Video Foundation Interface to NetShow 1-19

Page 34: Informix Video Foundation Interfaces Supplement

Playing a NetShow Media Object

/local0/tp/docpr./netshow .fm11/12/98 Informix Video Foundation Interface to NetShow

Use the access strings returned in “Requesting Storage Locations for LargeMedia Objects” on page 1-16 to insert the following tags in an HTML pageconstructed for Microsoft DirectX Media Player in Microsoft InternetExplorer:

<HTML><TITLE>NetShow Test Page</TITLE><BODY><?MISQL SQL=”SELECT Location(ClientAccess(video, 1, 0,‘’WEB_VIEW’’)) FROM my_table WHERE name = ‘’Uploaded Clip’’;”>$(SETVAR,TheVideoURL,$1)<?/MISQL>

<?MIVAR><SCRIPT Language=VBScript><!--Sub Window_onload() NSPlay.FileName = “$TheVideoURL” NSPlay.SendStateChangeEvents = TRUEEnd Sub--></SCRIPT><?/MIVAR>

<?MIVAR><!-- Use ControlType=2 for full display (playbar

and statusbar are visible),use ControlType=1 to display just the playbar,

use ControlType=0 to makeboth toolbars invisible -->

<OBJECT ID=”NSPlay” WIDTH=160 HEIGHT=128 classid=”CLSID:2179C5D3-EBFF-11CF-B6FD-00AA00B4E220”

codebase=”http://www.microsoft.com/netshow/download/en/nsdsinf.cab#Version=5,1,51,115”

standby=”Loading NetShow Player components...” type=”application/x-oleobject”>

<PARAM NAME=”ControlType” VALUE=”1”><EMBED TYPE=”video/x-ms-asf-plugin”

pluginspage=”http://www.microsoft.com/netshow/download/player.htm”

ControlType=1width=290height=250>

1-20 Informix Video Foundation Interfaces Supplement

Page 35: Informix Video Foundation Interfaces Supplement

Playing a NetShow Media Object

/local0/tp/docprod/ao2.1/vid_splm/v./netshow .fm

</EMBED></OBJECT>

<?/MIVAR></BODY></HTML>

Informix Video Foundation Interface to NetShow 1-21

Page 36: Informix Video Foundation Interfaces Supplement
Page 37: Informix Video Foundation Interfaces Supplement

/localNovem

2Informix Video Foundation Interface to RealVideo0

2Chapter

0/tp/dber 12

Informix Video FoundationInterface to RealVideo

In This Chapter . . . . . . . . . . . . . . . . . . . . 2-3

Overview of the Interface to RealVideo . . . . . . . . . . . . 2-3RealVideo Media Management Systems . . . . . . . . . . 2-4Features of the interface to RealVideo . . . . . . . . . . . 2-6

Implementation . . . . . . . . . . . . . . . . . . . . 2-6MedVSIRegister Table . . . . . . . . . . . . . . . . 2-6MedVSI_RealVideo Table . . . . . . . . . . . . . . . 2-8MedLoc Data Type . . . . . . . . . . . . . . . . . 2-9ClientAccess Function . . . . . . . . . . . . . . . . 2-9

Using the Interface . . . . . . . . . . . . . . . . . . . 2-12Setting Up Your Database to Use the Examples . . . . . . . . 2-12Requesting Storage Locations for Large Media Objects . . . . . 2-13Uploading Large Media Objects to the RealVideo Server . . . . 2-14Playing a RealVideo Media Object . . . . . . . . . . . . 2-15

ocpr./r ealvid.toc, 1998 3:57 pm Informix Video Foundation Interface to RealVideo

Page 38: Informix Video Foundation Interfaces Supplement

2-2 Infor

/local0/tp/docpr./r ealvid.tocNovember 12, 1998 3:57 pm Informix Video Foundation Interface to RealVideo

mix Video Foundation Interfaces Supplement

Page 39: Informix Video Foundation Interfaces Supplement

/local0/tp/docpr./r ealvid.fmNovember 12, 1998 3:57 pm Informix Video Foundation

2Informix Video Foundation Interface to RealVideo

0

In This ChapterThis chapter provides the following information about the interface toRealVideo:

■ An overview of the interface

■ Details of the implementation

■ Instructions for using the interface

Overview of the Interface to RealVideoThe interface to RealVideo is an interface between Informix Dynamic Serverwith Universal Data Option and RealVideo servers.

A large mediaobject can be videodata, audio data,or other multi-media content.

This interface is an implementation of the Informix Video FoundationDataBlade module Virtual Storage Interface (VSI), which provides a device-specific interface between your Informix database server and large mediaobjects on RealVideo servers. This interface enables video application andDataBlade module developers to store and manage RealVideo data in adatabase.

RealVideo is a high-performance media storage technology that is part of theRealNetworks suite of applications. For information on this suite, consult theRealNetworks documentation or the RealNetworks Web site atwww.real.com.

Informix Video Foundation Interface to RealVideo 2-3

Page 40: Informix Video Foundation Interfaces Supplement

RealVideo Media Management Systems

/local0/tp/docpr./r ealvid.fm11/12/98 Informix Video Foundation Interface to RealVideo

RealVideo Media Management SystemsMedia management systems based on RealVideo include:

■ A client using RealPlayer. RealPlayer may be used in one of thefollowing ways:

❑ As a plug-in to a Web browser (Netscape Navigator or MicrosoftInternet Explorer). The user makes database queries with theWeb browser. A Web server receives requests from the Webbrowser, queries the database using the Informix Web DataBlademodule, and returns generated HTML pages to the browser.

❑ Embedded in a client application. The application uses ODBC toconnect directly to the Informix Dynamic Server database.

■ Informix Dynamic Server with Universal Data Option, extended tohandle media data types with the Informix Web DataBlade module,Informix Video Foundation DataBlade module, and the interface toRealVideo.

The database server receives requests from the Web server. When arequest refers to a RealVideo media object (such as RealVideo videodata), the database server communicates with the RealVideo serverand returns access strings and other information to the Web server.

A RealVideo server that receives requests from and responds to thedatabase. When RealPlayer contacts the RealVideo server with avalid access string, the RealVideo server streams video, audio, andother multimedia content directly to RealPlayer.

To stream datameans to continu-ously transmitdata.

Figure 2-1 on page 2-5 shows the basic elements of a RealVideo mediamanagement system and the flow of data for video playback. The followinglist summarizes the sequence of events:

1. The client uses a Web browser to send a URL request (a request foraccess to a particular large media object) to the Web server.

2. The Web server uses the Web DataBlade module to issue SQLcommands to the Informix database server.

3. The Informix database server requests access to the large mediaobject from the RealVideo server.

4. The RealVideo server returns an access string to the Informixdatabase server.

2-4 Informix Video Foundation Interfaces Supplement

Page 41: Informix Video Foundation Interfaces Supplement

RealVideo Media Management Systems

/local0/tp/docprod/ao2.1/vid_splm/v./r ealvid.fm

5. If the request was made by a Web browser, the Informix databaseserver returns the access string to the Web server. The Web serverconstructs an HTML document that includes the access string andreturns it to the client Web browser.

Otherwise, the Informix database server returns the access stringdirectly to RealPlayer.

6. The Web browser displays the HTML document and invokesRealPlayer, which contacts the RealVideo server with the accessstring.

7. The RealVideo server streams video data directly to RealPlayer.

Tip: Although all elements of a RealNetworks media management system can behosted on a single computer, Informix recommends that the Web server, theRealVideo server, and Informix Dynamic Server be hosted on three separatecomputers for best performance.

Figure 2-1RealVideo Media Management System

Web browserRealPlayer

Client Web server

RealVideo server

1. URL/access request

2. SQL commands

3. Request for access string4. Access string

5. Access string

5. HTML page with access string

6. Access string

7. Video

Informix Dynamic Server withUniversal Data Option

Interface to RealVideoVideo Foundation DataBlade module

Web DataBlade module

Informix Video Foundation Interface to RealVideo 2-5

Page 42: Informix Video Foundation Interfaces Supplement

Features of the interface to RealVideo

/local0/tp/docpr./r ealvid.fm11/12/98 Informix Video Foundation Interface to RealVideo

Features of the interface to RealVideoAs part of its device-specific VSI implementation, the interface to RealVideoprovides:

■ RealVideo-specific values for the Informix Video FoundationMedLoc data type.

■ RealVideo-specific values for the Informix Video FoundationMedVSIRegister database table.

■ RealVideo implementations of the VSI functions.

The rest of this chapter describes these elements and provides information onhow a video application or DataBlade module developer can integrate theminto a media management system.

ImplementationThis section provides information specific to RealVideo that you need toknow before using this interface:

■ Values for the MedVSIRegister database table

■ Values for the MedLoc data type

■ Support for the ClientAccess function

For information on the Informix Video Foundation DataBlade module and itsVSI, consult the Informix Video Foundation DataBlade Module User’s Guide.

MedVSIRegister TableThe Informix Video Foundation DataBlade module MedVSIRegister table isa registry for each location, or storage server, of large media objects stored inyour database. Each row of this table is an instance of the MedStorage namedrow data type, also supplied by the Video Foundation DataBlade module.

2-6 Informix Video Foundation Interfaces Supplement

Page 43: Informix Video Foundation Interfaces Supplement

MedVSIRegister Table

/local0/tp/docprod/ao2.1/vid_splm/v./r ealvid.fm

In a RealVideo media management system, large media objects are stored onone or more RealVideo servers, each hosted on a separate computer. Beforeyou can use the interface to RealVideo, you must insert a MedStorage rowvalue into the MedVSIRegister table for each RealVideo server in yoursystem.

The following table shows the column values for RealVideo. Note that eachrow must have a value of 'VSI_REALVIDEO' for the Type column and aunique value for each StorageID column.

Column Name Type Data Explanation

Type CHAR (18) 'VSI_REALVIDEO' RealVideo server is identified by thestring 'VS_REALVIDEO'.

StorageID INTEGER 1 Identification number of this server.Must be a unique number amongvideo servers in this system.

ConnectionName LVARCHAR 'RealVideo Server' Device-specific identifier of thecomputer hosting this video server:for example, a network portaddress.

UserID LVARCHAR 'root' Login for Informix access to thisvideo server.

Password LVARCHAR 'root1234' Password associated with UserIDfor this video server. You mightwant to encrypt this value.

ConnectionString LVARCHAR 'VSI_LOCAL:/local3/realvideos'

Additional information needed toconnect to the computer hostingthis RealVideo server:‘VSI_LOCAL’, followed by the pathname.

Vendor CHAR (30) 'RealNetworks' Vendor name.

Model CHAR (30) '5.0' The model number is 5.0.

Informix Video Foundation Interface to RealVideo 2-7

Page 44: Informix Video Foundation Interfaces Supplement

MedVSI_RealVideo Table

/local0/tp/docpr./r ealvid.fm11/12/98 Informix Video Foundation Interface to RealVideo

The following example shows an insert into the MedVSIRegister table forthe Acme4 Company’s RealVideo server #1:

INSERT into MedVSIRegister VALUES ( MedStorage(‘VSI_REALVIDEO’,1,’RealVideo mainserver’,NULL,NULL,

‘VSI_LOCAL:/tmp/’,’RealNetworks’,’G2’) );

MedVSI_RealVideo TableThe Informix Video Foundation DataBlade module MedVSI_RealVideotable is a registry for each RealVideo server stored in your database. In aRealVideo media management system, large media objects are stored on oneor more RealVideo servers, each hosted on a separate computer. Before youcan use the interface to RealVideo, you must insert values into each row ofthe MedVSI_RealVideo table for each RealVideo server in your system, asfollows:

Column Name Type Data Explanation

Path LVARCHAR 'VSI_LOCAL:/local2/videos/'

Additional information needed toconnect to the computer hostingthis NetShow server: ‘VSI_LOCAL’,followed by the path name.

Same as correspondingMedVSIRegister connection string.

StorageID INTEGER 7 Identification number of this server.Must be a unique number amongvideo servers in this system. Sameas corresponding MedVSIRegisterStorageID value.

URL LVARCHAR ‘mms://www.acme.com:9090/’

Root URL to present inClientAccess(‘WEB_VIEW’).

LastNum INTEGER 0 First number of file numbering(vid0.asf in this example).

2-8 Informix Video Foundation Interfaces Supplement

Page 45: Informix Video Foundation Interfaces Supplement

MedLoc Data Type

/local0/tp/docprod/ao2.1/vid_splm/v./r ealvid.fm

The following example shows an insert into the MedVSI_NetShow table forthe Acme Company’s NetShow server #7:

INSERT into MedVSI_RealVideo VALUES ( ‘VSI_LOCAL:/tmp/’, 1, ‘rtsp://www.acme.com:7070/’, 0);

MedLoc Data TypeA large mediaobject can be videodata, audio data,or other multi-media content.

The MedLoc data type is provided by the Informix Video FoundationDataBlade module to uniquely represent the location of a large media object.

The following example shows the syntax of a RealVideo MedLoc value:

VSI_REALVIDEO[#server_id]:file_name

The following example shows two RealVideo MedLoc values:

VSI_REALVIDEO#3:vid12.rmVSI_REALVIDEO:vid1372.rm

ClientAccess FunctionThe Informix Video Foundation DataBlade module ClientAccess functionreturns a string used by the client to access a RealVideo media object directlyfrom the RealVideo server. The client must request access operation permis-sions using the arguments to ClientAccess.

This section describes the RealVideo VSI implementation of the ClientAccessfunction.

Informix Video Foundation Interface to RealVideo 2-9

Page 46: Informix Video Foundation Interfaces Supplement

ClientAccess Function

/local0/tp/docpr./r ealvid.fm11/12/98 Informix Video Foundation Interface to RealVideo

Syntax

ClientAccess(media_object, services, reserved, 'arguments')

If services is 1 (playback), arguments must have one of the following values.

Returns

Returns a MedLoc value. The Location element of the value is the accessstring. If the services argument is 1 (playback), the access string can be usedto generate an HTML page that invokes RealPlayer to play the large mediaobject. If services is 8 (write to RealVideo server), the access string can be usedto write a large media object to the RealVideo server.

Argument Purpose Restrictions

media_object Specifies the largemedia object to whichthe caller requestsaccess.

RealVideo MedLocvalue. See page 2-9 formore information.

services Specifies the accessservice the caller isrequesting.

Must be 1 (for playback)or 8 (for writing toRealVideo server).

reserved Reserved for future use. Set to 0.

arguments Specifies additionalarguments to RealVideofor the large mediaobject.

Must be specified insingle quotes: if servicesis 8, set arguments to theempty string (' ').Otherwise, set it to oneof the values in the nexttable.

Argument Meaning

SERVER_VIEW Get an access string containing the name of the video file fromthe Informix database server.

FILE_VIEW Get an access string containing the full pathname to the file.

WEB_VIEW Get a string that contains a URL usable directly by RealPlayer.

2-10 Informix Video Foundation Interfaces Supplement

Page 47: Informix Video Foundation Interfaces Supplement

ClientAccess Function

/local0/tp/docprod/ao2.1/vid_splm/v./r ealvid.fm

Examples

The following example shows the ClientAccess function used to retrieve theplayback access string for vid17.rm (a RealVideo video object):

SELECT clientAccess(‘VSI_REALVIDEO#1:vid1.rm’, 1, 0,‘FILE_VIEW’)FROM my_table;

SELECT clientAccess(‘VSI_REALVIDEO:vid1.rm’, 1, 0,‘WEB_VIEW’)FROM my_table;

SELECT clientAccess(‘VSI_REALVIDEO:vid1.rm’, 1, 0,‘SERVER_VIEW’)FROM my_table;

Example values returned by the invocations shown above are:

■ VSI_REALVIDEO:rtsp://www.acme4.com/vid17.rm

■ VSI_REALVIDEO:d:\Media\vid17.rm

You can use these values to insert tags in an HTML page constructed forRealPlayer. See “Playing a RealVideo Media Object” on page 2-15 for moreinformation. (For information on RealVideo tags, see the RealVideo Videoproduct documentation, or the RealNetworks Web site at www.real.com.)

The following example shows the ClientAccess and Location functions usedto retrieve a location on the RealVideo server to which a local, large mediaobject (vid7839) can be written:

<?MiVar>$(HTTPHEADER, content_type, audio/x_pn_realaudio)<?/MiVar)<?MiSQL SQL = "select Location (ClientAccess (pvid.Location,1, 0, 'WEB_VIEW))

from VidMDGeneral md, VidMedia vid, VidPVideo pvidwhere vid.videoID = md.VideoID andpvid.MediaFD = vid.MediaID and md.Title = 'News58372';">$1 <?/MiSQL>

An example return is:

rtsp://fred.acme4.com:9090/vid7839.rm

Informix Video Foundation Interface to RealVideo 2-11

Page 48: Informix Video Foundation Interfaces Supplement

Using the Interface

/local0/tp/docpr./r ealvid.fm11/12/98 Informix Video Foundation Interface to RealVideo

Using the InterfaceThis section provides examples of how to use the interface to RealVideo.First, it shows how to set up your database to use these examples. Then, itshows how to perform the following tasks:

■ Reserve storage locations on the RealVideo server for large mediaobjects and insert these locations into the database

■ Upload a large media object from the client computer to theRealVideo server

■ Play the RealVideo media object

This chapter refers to Informix Video Foundation DataBlade modulefunctions and schema tables. For details on these elements, see the InformixVideo Foundation DataBlade Module User’s Guide.

Setting Up Your Database to Use the ExamplesSet up your Informix database server before you use the examples in thischapter.

To use the examples in this chapter

1. Register the interface to RealVideo and the RealVideo server #1 withthe Informix Video Foundation DataBlade module by inserting a rowinto the MedVSIRegister table.

The following example of such an insert uses the Informix VideoFoundation DataBlade module MedStorage function to create theMedStorage row value:

INSERT into MedVSIRegister VALUES ( MedStorage(‘VSI_REALVIDEO’,1,’RealVideo mainserver’,NULL,NULL,

‘VSI_LOCAL:/tmp/’,’RealNetworks’,’G2’) );

2-12 Informix Video Foundation Interfaces Supplement

Page 49: Informix Video Foundation Interfaces Supplement

Requesting Storage Locations for Large Media Objects

/local0/tp/docprod/ao2.1/vid_splm/v./r ealvid.fm

2. Register the RealVideo server by inserting a row into theMedVSI_RealVideo table, as follows:

INSERT into MedVSI_RealVideo VALUES ( ‘VSI_LOCAL:/tmp/’, 1, ‘rtsp://www.acme.com:7070/’, 0);

3. Create a database table called my_table for use throughout thischapter, as follows:

CREATE table my_table (name char(250),video MedLoc);

The first column is the name of the RealVideo media object, and thesecond column is the location of the video data for the object(MedLoc value, see page 2-9) .

Requesting Storage Locations for Large Media ObjectsAssume that you need to capture some video and audio data into a largemedia object and then store that object on the RealVideo server and themetadata in your Informix database server.

To start, you must have a RealVideo media object and storage locations on theRealVideo server for the media object video data.

To request a storage location for large media objects

1. Use RealPlayer to capture and compress video and audio data in alarge media object you call Sample Clip.

This media object is in RealVideo compression format and is locatedon the hard drive of your local, or client, computer. (For informationon this compression format, see your RealVideo product documen-tation or the RealNetworks Web site at www.real.com.)

Informix Video Foundation Interface to RealVideo 2-13

Page 50: Informix Video Foundation Interfaces Supplement

Uploading Large Media Objects to the RealVideo Server

/local0/tp/docpr./r ealvid.fm11/12/98 Informix Video Foundation Interface to RealVideo

2. Request new storage locations for the video data and insert thoselocations into the database.

Use the Informix Video Foundation DataBlade module Newfunction to reserve MedLoc values for Sample Clip video data onRealVideo server #1.

INSERT into my_tableSELECT ‘Sample Clip’, New(Storage)FROM MedVSIRegisterWHERE Storage.type = ‘VSI_REALVIDEO’

and Storage.StorageID = 1;

The returned MedLoc values are inserted into my_table.

3. Request access to play back the video and audio data.

Use the Informix Video Foundation DataBlade module ClientAccessfunction, setting the services arguments to 1 (playback) forWEB_VIEW, FILE_VIEW, and SERVER_VIEW, as follows:

SELECT Location(ClientAccess(video, 1, 0,‘WEB_VIEW’)),

Location(ClientAccess(video, 1, 0, ‘FILE_VIEW’)),Location(ClientAccess(video, 1, 0, ‘SERVER_VIEW’))

FROM my_tableWHERE name = ‘Sample Clip’;

The video and audio data locations have been reserved on theRealVideo server, so meaningful access strings are returned. Thefollowing example values are returned by the preceding invocations:

■ rstp://fred.acme4.com:3000\vid394.rm

■ //fred.acme4.com/d:/Media\vid394.rm

■ vid394.rm

Uploading Large Media Objects to the RealVideo ServerTo upload the Sample Clip data from your local drive to the RealVideoserver, you write the large media object directly to the server.

2-14 Informix Video Foundation Interfaces Supplement

Page 51: Informix Video Foundation Interfaces Supplement

Playing a RealVideo Media Object

/local0/tp/docprod/ao2.1/vid_splm/v./r ealvid.fm

To write the large media object to the RealVideo server

1. Request access to write the large media object to the RealVideoserver.

Use the Informix Video Foundation DataBlade module ClientAccessfunction. Set the services argument to 8 (write to the RealVideoserver). Because only the Location element of the access string isneeded, the results of the ClientAccess function are passed to theInformix Video Foundation DataBlade module Location function.

INSERT into my_tableSELECT ‘Uploaded Clip’, New(Storage)FROM MedVSIRegisterWHERE Storage.type = ‘VSI_REALVIDEO’

and Storage.StorageID = 1;

SELECT Location(ClientAccess(video, 8, 0,‘FILE_VIEW’))FROM my_tableWHERE name = ‘Uploaded Clip’;

2. Use the returned access string as a URL for your Web browser. Whenyou have connected to this destination, upload Sample Clip toRealVideo using FTP.

Playing a RealVideo Media ObjectAfter you have uploaded a large media object to the RealVideo server, youcan request access to the video data frame width and height information andreceive positive values, as follows:

SELECT Location(ClientAccess(video, 1, 0, ‘WEB_VIEW’))FROM my_tableWHERE name = ‘Uploaded Clip’;

Example returns are 120 and 90.

Informix Video Foundation Interface to RealVideo 2-15

Page 52: Informix Video Foundation Interfaces Supplement

Playing a RealVideo Media Object

/local0/tp/docpr./r ealvid.fm11/12/98 Informix Video Foundation Interface to RealVideo

Use the width and height information and the access strings returned in“Requesting Storage Locations for Large Media Objects” on page 2-13 toinsert the following tags in an HTML page constructed for the RealPlayer (forinformation on this tag, see the RealVideo product documentation):

<?MiVar>$(HTTPHEADER, content-type, audio/x-pn-realaudio)<?/MiVar><?MISQL SQL=”SELECT Location(video) FROM my_table

WHERE name = ‘Uploaded Clip’;”>$1?start=”60”&end=”90”<?/MISQL>

The optional start and end tags specify that the RealVideo media object is tobe played only from its 60-second timestamp to its 90-second timestamp.

2-16 Informix Video Foundation Interfaces Supplement

Page 53: Informix Video Foundation Interfaces Supplement

/localNovem

3Informix Video Foundation Interface to EMC0

3Chapter

0/tp/dber 12

Informix Video FoundationInterface to EMC

In This Chapter . . . . . . . . . . . . . . . . . . . . 3-3

Overview of the interface to EMC SNMS . . . . . . . . . . . 3-3EMC Media Management Systems . . . . . . . . . . . . 3-4Features of the interface to EMC SNMS . . . . . . . . . . 3-5

Implementation . . . . . . . . . . . . . . . . . . . . 3-6MedVSIRegister Table . . . . . . . . . . . . . . . . 3-6ClientAccess Function . . . . . . . . . . . . . . . . 3-7

Using the Interface . . . . . . . . . . . . . . . . . . . 3-9Setting Up Your Database to Use the Examples . . . . . . . . 3-9Requesting Storage Locations for Large Media Objects . . . . . 3-10Uploading Large Media Objects to EMC SNMS. . . . . . . . 3-11

ocpr./emc.toc, 1998 3:57 pm Informix Video Foundation Interface to EMC

Page 54: Informix Video Foundation Interfaces Supplement

3-2 Infor

/local0/tp/docpr./emc.tocNovember 12, 1998 3:57 pm Informix Video Foundation Interface to EMC

mix Video Foundation Interfaces Supplement

Page 55: Informix Video Foundation Interfaces Supplement

/local0/tp/docpr./emc.fmNovember 12, 1998 3:57 pm Informix Video Foundation

3Informix Video Foundation interface to EMC SNMS

0

In This ChapterThis chapter provides the following information about the interface to EMCSymmetrix Network Media Storage (SNMS):

■ An overview of the interface

■ Details of the implementation

■ Instructions for using the interface

Overview of the interface to EMC SNMSThe interface to EMC SNMS is an interface between Informix DynamicServer with Universal Data Option and EMC Symmetrix Network MediaStorage.

A large mediaobject can be videodata, audio data,or other multi-media content.

This interface is an implementation of the Informix Video FoundationDataBlade module Virtual Storage Interface (VSI), which provides a device-specific interface between your Informix database server and large mediaobjects on EMC SNMS servers. This interface enables video application andDataBlade module developers to store and manage EMC video data in adatabase.

EMC SNMS is a high-performance media storage system that is part of theEMC suite of enterprise storage products. For information on this suite,consult the EMC documentation or the EMC Web site at www.emc.com.

Informix Video Foundation interface to EMC SNMS 3-3

Page 56: Informix Video Foundation Interfaces Supplement

EMC Media Management Systems

/local0/tp/docpr./emc.fm11/12/98 Informix Video Foundation interface to EMC SNMS

EMC Media Management SystemsMedia management systems based on EMC SNMS include:

■ Video client application configured to handle the type of video datastored on the EMC SNMS server. The application uses ODBC toconnect directly to the Informix Dynamic Server database.

■ Informix Dynamic Server with Universal Data Option, extended tohandle media data types with the Informix Video FoundationDataBlade module and the interface to EMC SNMS.

The database server receives requests from the client application.When a request refers to a EMC media object (such as EMC videodata), the database server returns access strings to the clientapplication.

■ EMC SNMS, which, when contacted with a valid access string,streams video, audio, and other multimedia content directly to thevideo client application.

To stream datameans to continu-ously transmitdata.

Figure 3-1 on page 3-5 shows the basic elements of a EMC mediamanagement system and the flow of data for video playback. The sequenceof events is as follows:

1. The video client application sends a request for access to a particularlarge media object to the Informix database server.

2. The Informix database server returns the access string directly to thevideo client application.

3. The video client application contacts EMC SNMS with the accessstring.

4. EMC SNMS streams video data directly to the video clientapplication.

3-4 Informix Video Foundation Interfaces Supplement

Page 57: Informix Video Foundation Interfaces Supplement

Features of the interface to EMC SNMS

/local0/tp/docprod/ao2.1/vid_splm/v./emc.fm

Features of the interface to EMC SNMSAs part of its device-specific VSI implementation, the interface to EMC SNMSprovides the following elements:

■ EMC-specific values for the Informix Video FoundationMedVSIRegister database table

■ EMC implementations of the VSI functions

The rest of this chapter describes these elements and provides information onhow a video application or DataBlade module developer can integrate theminto a media management system.

Figure 3-1EMC Media Management System

Video client application

Client

EMC SNMS server

1. Access request

2. Access string

3. Access string

4. Video

Informix Dynamic Server withUniversal Data Option

Interface to EMC SNMSVideo Foundation DataBlade module

Informix Video Foundation interface to EMC SNMS 3-5

Page 58: Informix Video Foundation Interfaces Supplement

Implementation

/local0/tp/docpr./emc.fm11/12/98 Informix Video Foundation interface to EMC SNMS

ImplementationThis section provides information specific to EMC that you need to knowbefore using this interface:

■ Values for the MedVSIRegister database table

■ Support for the ClientAccess function

For information on the Informix Video Foundation DataBlade module and itsVSI, consult the Informix Video Foundation DataBlade Module User’s Guide.

MedVSIRegister TableThe Informix Video Foundation DataBlade module MedVSIRegister table isa registry for each location, or storage server, of large media objects stored inyour database. Each row of this table is an instance of the MedStorage namedrow data type, also supplied by the Video Foundation DataBlade module.

In a EMC media management system, large media objects are stored on oneor more EMC SNMS servers, each hosted on a separate computer. Before youcan use the interface to EMC SNMS, you must insert a MedStorage row valueinto the MedVSIRegister table for each EMC SNMS server in your system.

The following table shows the column values for EMC SNMS. Note that eachrow must have a value of 'VSI_EMC' for the Type column and a unique valuefor each StorageID column.

Column Name Type Data Explanation

Type CHAR (18) 'VSI_EMC' EMC SNMS is identified by thestring 'VS_EMC'.

StorageID INTEGER 1 Identification number of this server.Must be a unique number amongvideo servers in this system.

ConnectionName LVARCHAR 'EMC Server' Device-specific identifier of thecomputer hosting this video server:for example, a network portaddress.

(1 of 2)

3-6 Informix Video Foundation Interfaces Supplement

Page 59: Informix Video Foundation Interfaces Supplement

ClientAccess Function

/local0/tp/docprod/ao2.1/vid_splm/v./emc.fm

The following example shows an insert into the MedVSIRegister table forthe Acme4 Company’s EMC SNMS server #1:

INSERT INTO MedVSIRegisterVALUES (MedStorage(‘VSI_EMC’, 2, ‘pc263dl’, ‘informix’, ‘1rds1rds’, ‘/nas/assets’, ‘EMC Corporation’, ‘SNMS’));

ClientAccess FunctionThe Informix Video Foundation DataBlade module ClientAccess functionreturns a string that is used by the client to access a EMC media objectdirectly from EMC SNMS. The client must request access operation permis-sions using the arguments to ClientAccess.

This section describes the EMC VSI implementation of the ClientAccessfunction.

UserID LVARCHAR 'root' Login for Informix FTP access tothis EMC server.

Password LVARCHAR 'root1234' Password associated with Login forthis EMC server. You might want toencrypt this value.

ConnectionString LVARCHAR '/nas/assets' Path name for location of EMCserver.

Vendor CHAR (30) 'EMC Corporation' Vendor name.

Model CHAR (30) 'SNMS' The model is SNMS (SymmetrixNetwork Media Storage).

Column Name Type Data Explanation

(2 of 2)

Informix Video Foundation interface to EMC SNMS 3-7

Page 60: Informix Video Foundation Interfaces Supplement

ClientAccess Function

/local0/tp/docpr./emc.fm11/12/98 Informix Video Foundation interface to EMC SNMS

Syntax

ClientAccess(media_object, services, reserved, 'arguments')

If services is 1 (playback), arguments must have one of the following values.

Returns

Returns a MedLoc value. The Location element of the value is the accessstring. If the services argument is 1 (playback), the access string can be usedto generate an HTML page that invokes EMC SNMS to play the large mediaobject. If services is 8 (write to EMC SNMS), the access string can be used towrite a large media object to EMC SNMS.

Argument Purpose Restrictions

media_object Specifies the largemedia object to whichthe caller requestsaccess.

EMC MedLoc value. Seepage 3-7 for moreinformation.

services Specifies the accessservice the caller isrequesting.

Must be 1 (for playback)or 8 (for writing to EMCSNMS).

reserved Reserved for future use Set to 0.

arguments Specifies additionalarguments to EMCSNMS for the largemedia object.

Must be specified insingle quotes:

If services is 8, setarguments to the emptystring (' '). Otherwise,set it to one of the valuesin the next table.

Argument Meaning

SERVER_VIEW Get an access string containing the name of the video file fromthe Informix database server.

FILE_VIEW Get an access string containing the full path name to the file.

3-8 Informix Video Foundation Interfaces Supplement

Page 61: Informix Video Foundation Interfaces Supplement

Using the Interface

/local0/tp/docprod/ao2.1/vid_splm/v./emc.fm

Examples

The following example shows the ClientAccess function being used toretrieve the playback access string for vid17.mpg (an EMC video object):

ClientAccess ('VSI_EMC:vid17.mpg', 1, 0, 'FILE_VIEW');

The following value is returned:

VSI_EMC:d:\Media\vid17.mpg

Using the InterfaceThis section provides examples of how to use the interface to EMC SNMS.First, it shows how to set up your database to use these examples. Then, itshows how to perform the following tasks:

■ Reserve storage locations on EMC SNMS server for large mediaobjects and insert these locations into the database

■ Upload a large media object from the client computer to EMC SNMSserver

This chapter refers to Informix Video Foundation DataBlade modulefunctions and schema tables. For details on these elements, see the InformixVideo Foundation DataBlade Module User’s Guide.

Setting Up Your Database to Use the ExamplesSet up your Informix database server before you use the examples in thischapter.

Informix Video Foundation interface to EMC SNMS 3-9

Page 62: Informix Video Foundation Interfaces Supplement

Requesting Storage Locations for Large Media Objects

/local0/tp/docpr./emc.fm11/12/98 Informix Video Foundation interface to EMC SNMS

To use the examples in this chapter

1. Register the interface to EMC SNMS and EMC SNMS server #1 withthe Informix Video Foundation DataBlade module by inserting a rowinto the MedVSIRegister table.

The following example of such an insert uses the Informix VideoFoundation DataBlade module MedStorage function to create theMedStorage row value:

INSERT INTO MedVSIRegisterVALUES (MedStorage(‘VSI_EMC’, 2, ‘pc263dl’, ‘informix’, ‘1rds1rds’, ‘/nas/assets’, ‘EMC Corporation’, ‘SNMS’));

2. Create a database table called my_table for use throughout thischapter, as follows:

CREATE TABLE my_table (name char(250), video MedLoc);

The first column is the name of the EMC media object, and thesecond column is the location of the video data for the object.

Requesting Storage Locations for Large Media ObjectsAssume that you need to capture some video and audio data into a largemedia object and then store that object on EMC SNMS and the metadata inyour Informix database server.

To start, you must have a EMC media object and storage locations on theEMC SNMS server for the media object video data.

To request a storage location for large media objects

1. Use your video client application to capture and compress video andaudio data in a large media object you call Test Clip.

This media object is located on the hard drive of your local, or client,computer.

3-10 Informix Video Foundation Interfaces Supplement

Page 63: Informix Video Foundation Interfaces Supplement

Uploading Large Media Objects to EMC SNMS

/local0/tp/docprod/ao2.1/vid_splm/v./emc.fm

2. Request new storage locations for the video data and insert thoselocations into the database.

Use the Informix Video Foundation DataBlade module Newfunction to reserve MedLoc values for Test Clip video data on EMCSNMS server #1.

SELECT VSI_EMCStartup(storage)FROM MedVSIRegisterWHERE storage.storageID = 2;

INSERT INTO my_tableVALUES (‘Test Clip’, Copy(‘VSI_CLIENT:/tmp/video/test’, Storage(‘VSI_EMC#2:’)));

The returned MedLoc values are inserted into my_table.

Uploading Large Media Objects to EMC SNMSTo upload the my_clip data from your local drive to EMC SNMS, you writethe large media object directly to the server.

To write the large media object to EMC SNMS

1. Request access to write the large media object to EMC SNMS.

Use the Informix Video Foundation DataBlade module ClientAccessfunction. Set the services argument to 8 (write to EMC SNMS).Because only the Location element of the access string is needed, theresults of the ClientAccess function are passed to the Informix VideoFoundation DataBlade module Location function.

SELECT clientaccess(video, 0, 0, ‘’)FROM my_tableWHERE name = ‘Test Clip’;

2. Use the returned access string with your client application. Whenyou have connected to this location, upload Test Clip to the EMCSNMS server.

Informix Video Foundation interface to EMC SNMS 3-11

Page 64: Informix Video Foundation Interfaces Supplement
Page 65: Informix Video Foundation Interfaces Supplement

@

/local0/tp/docprod/ao2.1November 12, 1998 3:57 pm

Index

O QCA B D E F G H I J K L M N P R S T U V W X Y Z

Index

AAccess to data, requesting

from EMC SNMS 3-7from NetShow 1-13, 1-18from RealVideo 2-9, 2-14

Additional documentationIntro-8 to Intro-9

CClientAccess function

EMC SNMS 3-7NetShow 1-13, 1-18, 1-19RealVideo 2-9, 2-11, 2-14, 2-15

Client, EMC-compatible 3-10Client, Media Player 1-4, 1-17

See also Media Player.Client, RealPlayer 2-4, 2-13

See also RealPlayer.Conventions, documentation

Intro-5 to Intro-8

DData types

EMC SNMSMedLoc 3-11MedStorage 3-6, 3-10

NetShowMedLoc 1-13, 1-17MedPtr 1-7, 1-8MedStorage 1-10, 1-16

RealVideoMedLoc 2-9, 2-14MedStorage 2-6, 2-12

Database 1-4, 2-4, 3-4Dependencies, software Intro-4Documentation

additional Intro-8 to Intro-9conventions Intro-5 to Intro-8notes Intro-9

EEmbed tag, RealVideo 2-16EMC media management

system 3-4EMC SNMS 3-6

examples 3-7, 3-9MedLoc data type 3-11overview of Video Foundation

interface 3-3Video Foundation interface 3-3

ExamplesEMC SNMS 3-7, 3-9NetShow 1-8, 1-9, 1-11, 1-15RealVideo 2-8, 2-11

FFunctions, EMC SNMS

ClientAccess 3-7MedStorage 3-10New 3-11

Functions, NetShowClientAccess 1-13, 1-19Location 1-18, 1-19MedNSTCFrom 1-8MedPtrFrom 1-7MedStorage 1-16New 1-17

/vid_splm/vid_splm.ix

Page 66: Informix Video Foundation Interfaces Supplement

@

/local0/tp/docprod/ao2.1/vid_splm/vid_splm.ixNovember 12, 1998 3:57 pm

O QCA B D E F G H I J K L M N P R S T U V W X Y Z

Functions, RealVideoClientAccess 2-9, 2-11, 2-15Location 2-11, 2-15MedStorage 2-12New 2-14

IIcon conventions Intro-7Informix Dynamic Server 1-3, 1-4,

2-3, 2-4, 3-3, 3-4Informix Video Foundation

DataBlade module 1-3, 1-4,1-10, 1-16, 2-3, 2-4, 2-6, 2-12, 3-3,3-4, 3-6, 3-9

LLarge media object

EMC 3-3, 3-7, 3-10NetShow 1-3, 1-7, 1-13, 1-17RealVideo 2-3, 2-9, 2-11, 2-13,

2-16Location function

NetShow 1-18, 1-19RealVideo 2-11, 2-15

MMachine notes Intro-9Media management system

EMC SNMS 3-4NetShow 1-4RealVideo 2-4

Media objectEMC, large 3-3, 3-7, 3-10NetShow, large 1-3, 1-7, 1-13, 1-17RealVideo, large 2-3, 2-9, 2-11,

2-13, 2-16Media Player 1-20MedLoc data type

EMC SNMS 3-11NetShow 1-13, 1-17RealVideo 2-9, 2-14

MedNSTCFrom function,NetShow 1-8

MedPtr data type, NetShow 1-7,1-8

MedPtrFrom function,NetShow 1-7

MedStorage data typeEMC SNMS 3-6, 3-10NetShow 1-10, 1-16RealVideo 2-6, 2-12

MedStorage functionEMC SNMS 3-10NetShow 1-16RealVideo 2-12

MedVSIRealVideo table 2-8MedVSIRegister table

EMC SNMS 3-6, 3-10NetShow 1-10, 1-12, 1-16RealVideo 2-6, 2-12

NNetShow 1-3, 1-10, 1-12, 1-16

ClientAccess function 1-18examples 1-8, 1-9, 1-11, 1-15media management system 1-4Media Player 1-20MedLoc data type 1-17MedLoc value 1-13Video Foundation interface 1-3,

1-4New function

EMC SNMS 3-11NetShow 1-17RealVideo 2-14

Notes, documentation Intro-9

OObject, large media, EMC 3-3, 3-7,

3-10Object, large media, NetShow 1-3,

1-7, 1-13, 1-17Object, large media, RealVideo 2-3,

2-9, 2-11, 2-13, 2-16On-line files Intro-9

PPlay video, requesting

from EMC SNMS 3-8from NetShow 1-14, 1-18, 1-19from RealVideo 2-10, 2-14, 2-15

RRealNetworks

media management system 2-4RealVideo 2-3, 2-6, 2-7, 2-12

RealPlayer 2-16RealVideo 2-3, 2-6, 2-7, 2-8, 2-12

ClientAccess function 2-14data. See Large media object.embed tag 2-16examples 2-8, 2-11Location function 2-11MedLoc data type 2-14MedLoc value 2-9RealPlayer 2-16Video Foundation interface 2-3,

2-4Release notes Intro-9Requesting write video

from RealVideo 2-15Requesting, access to data

from EMC SNMS 3-7from NetShow 1-13, 1-18from RealVideo 2-9, 2-14

Requesting, play videofrom EMC SNMS 3-8from NetShow 1-14, 1-18, 1-19from RealVideo 2-10, 2-14, 2-15

Requesting, write videofrom EMC SNMS 3-8, 3-11from NetShow 1-14, 1-19from RealVideo 2-10

SService requests

EMC SNMS 3-8NetShow 1-14RealVideo 2-10

Software dependencies Intro-4

2 Informix Video Foundation Interfaces Supplement

Page 67: Informix Video Foundation Interfaces Supplement

/local0/tp/docprod/ao2.1/vid_splm/vid_splm.ixNovember 12, 1998 3:57 pm

O QCA B D E F G H I J K L M N P R S T U V W X Y Z @

Storage server, EMC. See EMCSNMS.

Storage server, NetShow. SeeNetShow.

Storage server, RealNetworks. SeeRealVideo.

Syntax conventions Intro-7

TTables

EMC SNMSMedVSIRegister 3-6, 3-10

MedVSIRealVideo 2-8NetShow

MedVSIRegister 1-10, 1-12, 1-16RealVideo

MedVSIRegister 2-6, 2-12Types of users Intro-4Typographical conventions Intro-6

UUniversal Data Option 1-3, 1-4, 2-3,

2-4, 3-3, 3-4Users, types Intro-4

VVideo data, RealVideo. See Large

media objectRealVideo.

Video Foundation DataBlademodule 1-3, 1-10, 1-16, 2-3, 2-6,2-12, 3-3, 3-6, 3-9

Video Foundation interfaceto EMC SNMS 3-4to Microsoft NetShow 1-4to RealNetworks RealVideo 2-4

Virtual Storage Interface (VSI)EMC SNMS 3-3, 3-6NetShow 1-3, 1-9RealVideo 2-3, 2-6

VSI functions, EMC SNMSClientAccess 3-7New 3-11

VSI functions, NetShow

ClientAccess 1-13, 1-18, 1-19New 1-17

VSI functions, RealVideoClientAccess 2-9, 2-11, 2-14, 2-15New 2-14

VSI. See Virtual Storage Interface.

WWeb browser 1-4, 2-4Write video, requesting

from EMC SNMS 3-8, 3-11from NetShow 1-14, 1-19from RealVideo 2-10, 2-15

Index 3

Page 68: Informix Video Foundation Interfaces Supplement