1 Introduction to Oracle Multimedia

Oracle Multimedia (formerly Oracle interMedia) enables Oracle Database to store, manage, and retrieve images, DICOM format medical images and other objects, audio, video, or other heterogeneous media data in an integrated fashion with other enterprise information.

Oracle Multimedia extends Oracle Database reliability, availability, and data management to multimedia content in traditional, medical, Internet, electronic commerce, and media-rich applications. Oracle Multimedia does not control media capture or output devices; this function is left to application software.

Oracle Multimedia provides these services and support:

  • Image services for the storage, retrieval, metadata extraction, and processing of two-dimensional, static, bit-mapped images. Images are stored efficiently using popular compression schemes in industry-standard image formats for desktop publishing.

  • Digital Imaging and Communications in Medicine (DICOM) support for the storage, retrieval, metadata extraction, processing, writing, conformance validation, and making anonymous of medical images and other DICOM content.

  • Audio and video services for the storage, retrieval, and metadata extraction of popular audio and video file formats.

  • Media content services to Oracle JDeveloper and Oracle partners.

This chapter includes these sections:

See Also:

1.1 Oracle Multimedia Architecture

Oracle Multimedia is a single, integrated feature that extends the database by storing, managing, and retrieving image, audio, and video data, and by supporting Web technologies for multimedia data.

The Oracle Multimedia architecture defines the framework (see Figure 1-1) through which media-rich content is supported in the database, along with traditional data. This content can then be securely shared across multiple applications written with popular languages and tools, easily managed and administered by relational database management and administration technologies, and offered on a scalable database that supports thousands of users.

Figure 1-1 illustrates the Oracle Multimedia architecture from a three-tier perspective:

  1. Database tier (Oracle Database)

  2. Middle tier (Oracle Fusion Middleware)

  3. Client tier (Thin Client and Thick Clients)

In the database tier, using Oracle Multimedia, Oracle Database holds rich content in tables along with traditional data. Through a database-embedded JVM, a server-side media parser and an image processor are supported. The media parser has object-oriented and relational interfaces, supports format and application metadata parsing, and can be extended to support additional formats. The image processor includes JAI. It also provides image processing for operations such as producing thumbnail-size images, converting image formats, and image watermarking.

Using Oracle Multimedia methods, import and export operations between the database and operating system files (external file storage) are possible. Oracle Multimedia also supports special delivery types of servers, such as streaming content from a database. Using the Oracle Multimedia Plug-ins for RealNetworks or Windows Media Services, the Helix Universal Server or Windows Media Streaming Server can stream multimedia data to a client directly out of the database using Real-Time Streaming Protocol (RTSP). In addition, third-party media processors such as speech recognition engines can run external to the database to process media stored in the database and return results to the database.

Using Oracle Multimedia in the database tier enables Oracle Database to store, manage, process, and retrieve DICOM content in database tables. DICOM content includes single-frame and multiframe images, waveforms, slices of 3-D volumes, video segments, and structured reports.

In the middle tier, Oracle Fusion Middleware provides access to Oracle Multimedia through Oracle Multimedia Java classes, which enable Java applications on any tier (client, application server, or database) to access, manipulate, and modify audio, image, and video data stored in a database. In addition, Oracle Multimedia Java classes facilitate the upload and retrieval of multimedia data stored in a database using the Oracle Multimedia OrdAudio, OrdDoc, OrdImage, and OrdVideo object types. And, Oracle Multimedia Java classes can access data stored in the Oracle Multimedia objects or BLOBs or BFILEs directly.

Developers can also use Oracle JDeveloper and Oracle Multimedia to build media-rich Java applications quickly and easily using the Oracle Multimedia/ADF Business Components integration package.

SQL developers familiar with the database can develop Web applications that use Oracle Fusion Middleware exclusively, and Oracle Database using the PL/SQL development environment. The steps include using the PL/SQL Gateway (mod_plsql) feature of the Oracle HTTP Server and the PL/SQL Web Toolkit. Web application developers can write PL/SQL servlets and PL/SQL server pages (PSP) that invoke PL/SQL procedures stored in the database through an Oracle Net connection and OCI.

In the client tier, the ability to perform local processing is supported through Oracle Multimedia Java classes and Java Advanced Imaging (JAI). Oracle Multimedia Java classes supply direct access to all media types from the client. JAI provides a set of APIs for media processing on the client.

Figure 1-1 Oracle Multimedia Architecture

Description of Figure 1-1 follows
Description of "Figure 1-1 Oracle Multimedia Architecture"

See Also:

Oracle Multimedia features available only on Oracle Technology Network (OTN) include the following:

  • Oracle Multimedia Plug-in for RealNetworks Streaming Servers (see Section 1.10.2)

  • Oracle Multimedia Plug-in for Microsoft Windows Media Services (see Section 1.10.2)

1.2 Object Relational Technology

Oracle Database is an object relational database management system. Thus, in addition to its traditional role in the safe and efficient management of relational data, Oracle Database provides support for the definition of object types, including the data associated with objects and the operations (methods) that can be performed on them.

Object relational technology includes integral support for BLOBs to provide the basis for adding complex objects to databases. Complex objects include: digitized audio, image, video, and Digital Imaging and Communications in Medicine (DICOM) format medical images and other data.

Oracle Multimedia provides four object relational types, which store data source information in an object relational type known as ORDSource:

  • ORDAudio for audio data characteristics

  • ORDDoc for heterogeneous data characteristics

  • ORDImage for image data characteristics

  • ORDVideo for video data characteristics

In addition, Oracle Multimedia provides the ORDDicom object relational type for characteristics of DICOM content produced by medical devices.

See Also:

1.3 Oracle Multimedia Capabilities

The capabilities of Oracle Multimedia include the storage, retrieval, management, and manipulation of multimedia data managed by Oracle Database.

Multimedia applications have common and unique requirements. Oracle Multimedia object types support common application requirements and can be extended to address application-specific requirements. With Oracle Multimedia, multimedia data can be managed as easily as standard attribute data.

Oracle Multimedia is accessible to applications through both relational and object interfaces. Database applications written in Java, C++, or traditional third-generation languages (3GLs) can interact with Oracle Multimedia through modern class library interfaces, or PL/SQL and Oracle Call Interface (OCI).

Oracle Multimedia supports storage of the popular file formats, including desktop publishing images, and streaming audio and video formats in databases. Oracle Multimedia provides the means to add audio, image, and video, or other heterogeneous media columns or objects to existing tables, and insert and retrieve multimedia data. This support enables database designers to extend existing databases with multimedia data, or to build new end-user multimedia database applications. Oracle Multimedia developers can use the basic functions provided here to build specialized multimedia applications.

Oracle Multimedia uses object types, similar to Java or C++ classes, to describe multimedia data. These object types are called ORDAudio, ORDDoc, ORDImage, and ORDVideo. An instance of these object types consists of attributes, including metadata and the media data, and methods. Media data is the actual audio, image, or video, or other heterogeneous media data. Metadata is information about the data, such as object length, compression type, or format. Methods are procedures that can be performed on objects, such as getContent( ) and setProperties( ).

The Oracle Multimedia objects have a common media data storage model. The media data component of these objects can be stored in the database, in a BLOB under transaction control. The media data can also be stored outside the database, without transaction control. In this case, a pointer is stored in the database under transaction control, and the media data is stored in:

  • File-based large object (BFILE)

  • An HTTP server-based URL

  • A user-defined source on a specialized media data server, or other server

Media data stored outside the database can provide a convenient mechanism for managing large, existing or new, media repositories that reside as flat files on erasable or read-only media. This data can be imported into BLOBs at any time for transaction control. Section 1.8 describes several ways of loading multimedia data into a database.

Media metadata is stored in the database under Oracle Multimedia control. Whether media data is stored within or outside the database, Oracle Multimedia manages metadata for all the media types and might automatically extract it for audio, image, and video. This metadata includes these attributes:

  • Storage information about audio, image, and video, or other heterogeneous media data, including the source type, location, and source name, and whether the data is stored locally (in the database) or externally

  • Update time stamp information for audio, image, and video, or other heterogeneous media data

  • Audio and video data description

  • Audio, image, and video, or other heterogeneous media data format

  • MIME type of the audio, image, and video, or other heterogeneous media data

  • Audio characteristics: encoding type, number of channels, sampling rate, sample size, compression type, and play time (duration)

  • Image characteristics: height and width, image content length, image content format, and image compression format

  • Video characteristics: frame width and height, frame resolution, frame rate, play time (duration), number of frames, compression type, number of colors, and bit rate

  • Extracted metadata in XML, such as the director or producer of a movie

In addition to metadata extraction methods, a minimal set of image manipulation methods is provided. For images, this includes format conversion, page selection, quantize operations, compression, scaling, cropping, copying, flipping, mirroring, rotating, sharpening, adjusting the gamma (brightness), adding watermarks to images, removing metadata from images, and embedding metadata into images.

See Also:

Oracle Multimedia Reference for more information about image processing operations

Oracle Multimedia is extensible. It supports a base set of popular audio, image, and video data formats for multimedia processing that also can be extended, for example, to support additional formats, new digital compression and decompression schemes (codecs), data sources, and even specialized data processing algorithms for audio and video data. See Chapter 7 for more information about extending Oracle Multimedia.

Oracle Multimedia is a building block for various multimedia applications, rather than an end-user application. It consists of object types and their respective methods for managing and processing multimedia data. Some example applications for Oracle Multimedia are:

  • Repositories for digital check images

  • Electronic health records, including DICOM medical images

  • Call centers (for example, 911 and product call centers)

  • Physical asset inventories

  • Distance learning and online learning

  • Real estate marketing

  • Stock photography archives (for example, digital art galleries and professional photographers)

  • Document imaging archives

  • Financial news service customer information

  • Web publishing

  • Audio and video Web stores

1.3.1 Oracle Multimedia Support for CDBs

Oracle Database 12c Release 1 (12.1) introduces multitenant container databases (CDBs). A CDB is a single, physical database that can contain zero, one, or many customer-created pluggable databases (PDBs). A PDB is a portable collection of schemas, schema objects, and nonschema objects that appears to an Oracle Net client as a non-CDB. A non-CDB is a traditional Oracle database that cannot contain PDBs. Oracle Multimedia is supported in both CDB and non-CDB architectures.

See Also:

1.3.2 Data Guard Rolling Upgrade Support for Oracle Multimedia

During a rolling upgrade, you can run different releases of an Oracle database on the primary and logical standby databases while you upgrade them, one at a time, incurring minimal downtime on the primary database.

Logical standby databases support these Oracle Multimedia data types during database rolling upgrades using Data Guard SQL Apply:

  • ORDImage

  • ORDSource

  • ORDDicom

  • ORDDataSource

See Also:

1.4 Audio Concepts

This section contains information about digitized audio concepts, and information about using the ORDAudio object type to build audio applications or specialized ORDAudio objects, in these subsections:

1.4.1 Digitized Audio

ORDAudio integrates the storage, retrieval, and management of digitized audio data in a database.

Audio may be produced by an audio recorder, an audio source such as a microphone, digitized audio, other specialized audio recording devices, or even by program algorithms. Audio recording devices take an analog or continuous signal, such as the sound picked up by a microphone or sound recorded on magnetic media, and convert it into digital values with specific audio characteristics such as format, encoding type, number of channels, sampling rate, sample size, compression type, and audio duration.

1.4.2 Audio Components

Digitized audio consists of the audio data (digitized bits) and attributes that describe and characterize the audio data. Audio applications sometimes associate application-specific information, such as the description of the audio clip, date recorded, author or artist, and so on, with audio data by storing descriptive text in an attribute or column in the database table.

The audio data can have different formats, encoding types, compression types, numbers of channels, sampling rates, sample sizes, and playing times (duration) depending upon how the audio data was digitally recorded. ORDAudio can store and retrieve audio data of any supported data format. ORDAudio can automatically extract metadata from audio data of a variety of popular audio formats. ORDAudio can also extract application attributes and store them in the comments field of the object in XML form. ORDAudio is extensible and can be made to recognize and support additional audio formats.

The size of digitized audio (number of bytes) tends to be large compared to traditional computer objects, such as numbers and text. Therefore, several encoding schemes are used that squeeze audio data into fewer bytes, thus putting a smaller load on storage devices and networks.

See Also:

Oracle Multimedia Reference for a list of supported data formats from which ORDAudio can extract and store attributes and other audio features

1.5 ORDDoc or Heterogeneous Media Data Concepts

This section contains information about heterogeneous media data concepts, and information about using the ORDDoc object type to build applications or specialized ORDDoc objects, in these subsections:

1.5.1 Digitized Heterogeneous Media Data

ORDDoc integrates the storage, retrieval, and management of heterogeneous media data in a database.

The ORDDoc type can store any heterogeneous media data including audio, image, and video data in a database column. Instead of having separate columns for audio, image, text, and video objects, you can use one column of ORDDoc objects to represent all types of multimedia.

1.5.2 Heterogeneous Media Data Components

Heterogeneous media data components consist of the data (digitized bits) and attributes that describe and characterize the heterogeneous media data.

Heterogeneous media data can have different formats, depending upon the application generating the media data. Oracle Multimedia can store and retrieve media data of any supported data format. The ORDDoc type can be used in applications that require you to store different types of heterogeneous media data (such as audio, image, video, and any other type of media data) in the same column so you can build a common metadata index on all the different types of media data. Using this index, you can search across all the different types of heterogeneous media data. You cannot use this same search technique if the different types of heterogeneous media data are stored in different types of objects, in different columns of relational tables.

ORDDoc can automatically extract metadata from data of a variety of popular audio, image, and video data formats. ORDDoc can also extract application attributes and store them in the comments attribute of the object in XML form. ORDDoc is extensible and can be made to recognize and support other heterogeneous media data formats.

See Also:

1.6 Image Concepts

This section contains information about digitized image concepts, and information about using the ORDImage object type to build image applications or specialized ORDImage objects, in these subsections:

1.6.1 Digitized Images

ORDImage integrates the storage, retrieval, and management of digitized images in a database.

ORDImage supports two-dimensional, static, digitized raster images stored as binary representations of real-world objects or scenes. Images may be produced by a document or photograph scanner, a video source such as a digital camera or VCR connected to a video digitizer or frame grabber, other specialized image capture devices, or even by program algorithms. Capture devices take an analog or continuous signal such as the light that falls onto the film in a camera, and convert it into digital values on a two-dimensional grid of data points known as pixels. Devices involved in the capture and display of images are under application control.

1.6.2 Image Components

Digitized images consist of the image data (digitized bits) and attributes that describe and characterize the image data. Image applications sometimes associate application-specific information, such as the name of the person pictured in a photograph, description of the image, date photographed, photographer, and so on, with image data by storing this descriptive text in an attribute or column in the database table.

The image data (pixels) can have varying depths (bits per pixel) depending on how the image was captured, and can be organized in various ways. The organization of the image data is known as the data format. ORDImage can store and retrieve image data of any data format. ORDImage can process and automatically extract properties of images of a variety of popular data formats. In addition, certain foreign images (formats not natively supported by ORDImage) have limited support for image processing.

The storage space required for digitized images can be large compared to traditional attribute data such as numbers and text. Many compression schemes are available to squeeze an image into fewer bytes, thus reducing storage device and network load. Lossless compression schemes squeeze an image so that when it is decompressed, the resulting image is bit-for-bit identical with the original. Lossy compression schemes do not result in an identical image when decompressed, but rather, one in which the changes may be imperceptible to the human eye. As compared with lossless compression schemes, lossy compression schemes generally provide higher compression.

The image interchange format describes a well-defined organization and use of image attributes, data, and often compression schemes, enabling different applications to create, exchange, and use images. Interchange formats are often stored as disk files. They can also be exchanged in a sequential fashion over a network and be referred to as protocols. There are many application subdomains within the digitized imaging world and many applications that create or use digitized images within these. ORDImage supports storage and retrieval of all image data formats, and processing and attribute extraction of many image data formats.

See Also:

Oracle Multimedia Reference for a list of supported data formats from which ORDImage can process, extract, and store attributes and other image features

1.6.3 Metadata in Images

Oracle Database provides an image metadata feature in Oracle Multimedia. The metadata feature enhances the behavior of the Oracle Multimedia ORDImage object type by adding the ability to read (or extract) and write (or embed) application metadata in images. In addition, this feature adopts a standard way to represent metadata when it is separate from an image file. Metadata can be stored in a database, indexed, searched, and made available to applications using the standard mechanisms of Oracle Database. See Chapter 6 for more information about the image metadata feature.

1.6.4 Medical Imaging

Oracle Database includes medical imaging format and protocol support by providing these features in Oracle Multimedia DICOM:

  • Storage and retrieval of medical imaging data in the database to synchronize the DICOM data with the associated business data

  • Full object and relational interfaces to Oracle Multimedia DICOM services

  • Extraction of DICOM metadata according to user-specifiable XML documents

  • Querying using associated relational data and extracted metadata

  • Image processing, such as thumbnail generation

  • Creation of new DICOM objects

  • Conformance validation based on a set of user-specified conformance rules

  • Making DICOM objects anonymous based on user-defined rules that specify the set of attributes to be made anonymous and how to make those attributes anonymous

  • The ability to update run-time behaviors, such as the version of the DICOM standard supported, without installing a new release of Oracle Database

  • A DICOM database network component for the DICOM protocol adapter

See Also:

Oracle Multimedia DICOM Developer's Guide for more information about Oracle Multimedia DICOM

1.6.5 Metadata Extraction

Oracle Multimedia provides the ability to extract content and format metadata from media sources (audio and video files), and collects and organizes this metadata as an XML formatted CLOB. Once metadata has been extracted and stored, you can index the metadata for powerful full text and thematic media searches using Oracle Text. Thus, the database can be queried to locate the media data based on the metadata extracted from the media.

See Also:

The setProperties( ) method in Oracle Multimedia Reference for more information about metadata extraction

1.6.6 Image Processing

Oracle Multimedia supports image processing, such as format transcoding, cutting, scaling, generating thumbnail images, and applying watermarks. In addition, when the destination image file format is RAW Pixel (RPIX) or Microsoft Windows Bitmap (BMPF), Oracle Multimedia supports several operators for changing the format characteristics.

See Also:

Oracle Multimedia Reference for more information about image processing

1.6.7 SQL/MM Still Image Standard Support

Oracle Multimedia also provides support for the first edition of the ISO/IEC 13249-5:2001 SQL MM Part5:StillImage standard (commonly referred to as the SQL/MM Still Image standard), which includes these object relational types for image characteristics: SI_StillImage, SI_AverageColor, SI_Color, SI_ColorHistogram, SI_FeatureList, SI_PositionalColor, and SI_Texture.

The following ORDImage features are not specified by the SQL/MM Still Image Standard, and therefore are not available for StillImage objects:

  • Storing image data outside the database

  • Image processing operations (such as scaling up, compressing, and so on) that are specific to ORDImage

  • Java client API

See Also:

Oracle Multimedia Reference for more information about the SQL/MM Still Image Standard object types

1.7 Video Concepts

This section contains information about digitized video concepts, and information about using ORDVideo to build video applications or specialized ORDVideo objects, in these subsections:

1.7.1 Digitized Video

ORDVideo integrates the storage, retrieval, and management of digitized video data in a database.

Video may be produced by a video recorder, a video camera, digitized animation video, other specialized video recording devices, or even by program algorithms. Some video recording devices take an analog or continuous signal, such as the video picked up by a video camera or video recorded on magnetic media, and convert it into digital values with specific video characteristics such as format, encoding type, frame rate, frame size (width and height), frame resolution, video length, compression type, number of colors, and bit rate.

1.7.2 Video Components

Digitized video consists of the video data (digitized bits) and the attributes that describe and characterize the video data. Video applications sometimes associate application-specific information, such as the description of the video training tape, date recorded, instructor's name, producer's name, and so on, within the video data.

The video data can have different formats, compression types, frame rates, frame sizes, frame resolutions, playing times, compression types, number of colors, and bit rates depending upon how the video data was digitally recorded. ORDVideo can store and retrieve video data of any supported data format. ORDVideo can:

  • Automatically extract metadata from video data of a variety of popular video formats

  • Extract application attributes and store them in the comments attribute of the object in XML form

  • Be made to recognize and support additional video formats (because it is extensible)

The size of digitized video (number of bytes) tends to be large compared to traditional computer objects, such as numbers and text. Therefore, several encoding schemes are used that squeeze video data into fewer bytes, thus putting a smaller load on storage devices and networks.

See Also:

Oracle Multimedia Reference for a list of supported data formats from which ORDVideo can extract and store attributes and other video features

1.8 Loading Multimedia Data

Multimedia data can be managed best by Oracle Database. Load your multimedia data into the database to take advantage of its reliability, scalability, availability, and data management capabilities. To bulk load multimedia data into the database, you can use:

  • SQL*Loader

    SQL*Loader is an Oracle utility that lets you load data, and in this case, multimedia data (LOB data), from external multimedia files into a table of a database containing Oracle Multimedia object type columns.

  • PL/SQL

    A procedural extension to SQL, PL/SQL is an advanced fourth-generation programming language (4GL) of Oracle. You can write PL/SQL procedures to load multimedia data from BLOB, file system, and URL media data sources into Oracle Multimedia object type columns.

An advantage of using SQL*Loader is that it is easy to create and test the control file that controls your data loading operation.

An advantage of using PL/SQL scripts to load your data is that you can call methods as you load data to generate thumbnail images, or extract properties.

See Also:

1.9 Multimedia Storage and Querying

Media can be stored in Oracle Multimedia object types, or directly in BLOBs or BFILEs. You can realize the most benefit by storing media in Oracle Multimedia object types. However, many of the features of Oracle Multimedia are available to media stored in BLOBs and BFILEs using the relational interface.

The Oracle Multimedia relational interface lets developers use static methods of Oracle Multimedia object types with existing and new media stored in BLOBs and BFILEs. Specifically, developers can move media data between the local file system and the database; parse and extract the properties of the media data; and store these properties in an XMLType or an XML formatted CLOB, and optionally, in individual relational columns. Developers are not required to make changes to their existing application schema or to instantiate Oracle Multimedia object types to take advantage of this relational interface. Oracle Multimedia static methods can also be used to perform image processing operations such as cut, scale, compress, and convert format.

The ORDAudio, ORDDoc, ORDImage, and ORDVideo object types all contain an attribute of type ORDSource and methods for multimedia data source manipulation.

Note:

Do not call ORDSource methods directly. Instead, invoke the wrapper method of the media object corresponding to the ORDSource method. This information is presented for users who want to write their own user-defined sources.

The following subsections briefly describe storage and querying:

See Also:

1.9.1 Storing Multimedia Data

Oracle Multimedia can store multimedia data as an internal source within the database, under transactional control as a BLOB. It can also externally reference digitized multimedia data stored as an external source in an operating system-specific file in a local file system, as a URL on an HTTP server, or as a user-defined source on other servers, such as media servers. Although these external storage mechanisms are particularly convenient for integrating existing sets of multimedia data with a database, the multimedia data is not under transactional control if it is not stored in the database.

BLOBs are stored in the database tablespaces in a way that optimizes space and provides efficient access. Large BLOBs cannot be stored inline (BLOBs under 4 kilobytes can be stored inline) with other row data. Depending on the size of the BLOB, a locator is stored in the row and the actual BLOB (up to 8 terabytes to 128 terabytes, depending on the block size) is stored in other tablespaces. The locator can be considered a pointer to the actual location of the BLOB value. When you select a BLOB, you are selecting the locator instead of the value, although this is done transparently. An advantage of this design is that multiple BLOB locators can exist in a single row. For example, you might want to store a short video clip of a training tape, an audio recording containing a brief description of its contents, a syllabus of the course, a picture of the instructor, and a set of maps and directions to each training center all in the same row.

Because BFILEs are not under the transactional control of the database, users could change the external source without updating the database, thus causing an inconsistency with the BFILE locator.

Oracle Multimedia ORDAudio, ORDDoc, ORDImage, and ORDVideo object types provide wrapper methods to perform these functions:

  • Set the source of the data as local or external

  • Modify the time an object was last updated

  • Set information about the external source type, location, and name of the data

  • Transfer data into or out of the database

  • Obtain information about the local data content such as its length, location, or its handle to the BLOB, put the content into a temporary BLOB, or delete it

  • Access source data by opening it, reading it, writing to it, trimming it, and closing it

See Also:

1.9.2 Querying Multimedia Data

Once stored within a database, multimedia data can be queried and retrieved by using the various alphanumeric columns or object attributes of the table to find a row that contains the desired data. For example, you can select a video clip from the Training table where the course name is 'Oracle Database Concepts'.

Multimedia data can be queried by extracted metadata, by other relational table columns, and by content, such as image content-based retrieval.

1.10 Accessing Multimedia Data

Applications access and manipulate multimedia data using SQL, PL/SQL, OCI, or Java through the object relational types OrdAudio, OrdDoc, OrdImage, and OrdVideo.

The following subsections describe ways in which applications, Oracle development tools, and third-party development tools can access multimedia data stored in the database using Oracle Multimedia object types:

1.10.1 Oracle Multimedia Java API

Oracle Multimedia Java API enables Java applications on any tier (client, application server, or database) to manipulate and modify audio, image, and video data, or heterogeneous media data stored in a database. Oracle Multimedia Java API makes it possible for Java database connectivity (JDBC) result sets to include both traditional relational data and Oracle Multimedia media objects. This support enables applications to easily select and operate on a result set that contains sets of Oracle Multimedia columns plus other relational data. These classes also enable access to object attributes and invocation of object methods.

See Also:

Oracle Multimedia Java API Reference for more information about this Java API

1.10.2 Streaming Content from Oracle Database

You can stream audio and video content stored in Oracle Database using an Oracle Multimedia plug-in that supports a third-party streaming server, and deliver this content for play on a client that uses the browser-supported streaming player. Oracle Multimedia provides two plug-ins to stream content from Oracle Database: Oracle Multimedia Plug-in for RealNetworks Streaming Servers and Oracle Multimedia Plug-in for Windows Media Services.

To download these plug-ins, see Oracle Multimedia on the Oracle Technology Network Web site.

Oracle Multimedia Plug-in for RealNetworks Streaming Servers

Oracle Multimedia Plug-in for RealNetworks Streaming Servers is a data source plug-in that enables RealNetworks servers to stream media data directly from Oracle Database to a media player client. The plug-in is installed with RealNetworks Streaming Server, and configured and managed using the administration tool of the streaming server. See Oracle Multimedia Plug-in for RealNetworks Streaming Servers Readme for more information.

See Also:

http://www.realnetworks.com/ for more information about streaming servers from RealNetworks

Oracle Multimedia Plug-in for Microsoft Windows Media Services

Oracle Multimedia Plug-in for Microsoft Windows Media Services enables Microsoft Windows Media servers to stream multimedia content to a client directly from Oracle Database. This package also includes a Plug-in Property Page that can be accessed from the Windows Media Services Administrative interfaces. The Plug-in Property Page enables users to inspect, define, and edit the Plug-in mount points that map to media content in Oracle Database. The Plug-in mount points are used to configure the source URL of a server publishing point, from which a Microsoft Windows Media Player client requests media content stored in Oracle Database. See Oracle Multimedia Plug-in for Microsoft Windows Media Services Readme for more information.

1.10.3 Support for Web Technologies

Using Oracle Multimedia support for Web technologies, you can easily integrate multimedia data into Web and Java applications. You can also store, retrieve, and manage rich media content in a database.

Oracle Multimedia Servlets and JSP Java API

Oracle Multimedia Servlets and JSP Java API facilitates the upload and retrieval of multimedia data stored in a database using the Oracle Multimedia OrdAudio, OrdDoc, OrdImage, and OrdVideo object types. Oracle Multimedia Servlets and JSP Java API uses Oracle Multimedia Java API to access data stored in the Oracle Multimedia object types. However, Oracle Multimedia Servlets and JSP Java API can also be used to handle upload and retrieval of data using BLOBs directly.

The OrdHttpResponseHandler class facilitates the retrieval of multimedia data from a database and its delivery to a browser or other HTTP client from Java servlets. The OrdHttpJspResponseHandler class provides the same features for JavaServer Pages (JSP).

Note:

JSP engines are not required to support access to the servlet binary output stream. Therefore, not all JSP engines support the delivery of multimedia data using the OrdHttpJspResponseHandler class.

Form-based file uploading using HTML forms encodes form data and uploaded files in Post requests using the multipart/form-data format. The OrdHttpUploadFormData class facilitates the processing of such requests by parsing the Post data and making the contents of regular form fields and the contents of uploaded files readily accessible to a Java servlet or JSP. The handling of uploaded files is facilitated by the OrdHttpUploadFile class, which provides an easy-to-use API that applications call to load audio, image, and video data, or heterogeneous media data into a database.

See Also:

Oracle Multimedia Servlets and JSP Java API Reference for more information about this Java API

Integration with Oracle Application Development Framework Business Components

For rapid development of media-rich Web applications, Oracle offers developers a Java integrated development environment (IDE), Oracle JDeveloper, that maximizes developer productivity. Oracle JDeveloper enables developers to build multitier, component-based Internet applications in Java that use Oracle Multimedia features to create visually attractive applications. Oracle Application Development Framework Business Components (ADF Business Components) is the component of JDeveloper that provides a set of intelligent software building blocks to manage common facilities. An Oracle Multimedia/ADF Business Components integration package includes media-specific domain classes and a set of utility classes. The domain classes are wrappers of the classes of Oracle Multimedia Java API, and inherit all the underlying multimedia retrieval, upload, and manipulation methods. The domain classes support the ADF Business Components APIs, and provide built-in integrated multimedia capabilities. The utility classes support the retrieval, rendering, and uploading of multimedia content. Together, they provide a fully featured, integrated application development environment that enables developers to create a wide variety of media-rich applications.

1.10.4 Oracle Multimedia Support for Java Advanced Imaging (JAI)

Oracle Multimedia Java API describes three types of stream objects, which provide interfaces to BLOB and BFILE data that can be used by Java Advanced Imaging (JAI). These Java classes enable a JAI application to read and write image data stored in a database using Oracle Multimedia OrdImage objects, or in BLOBs or BFILEs.

See Also:

1.11 Extending Oracle Multimedia

Oracle Multimedia can be extended to support:

  • Other external sources of media data not currently supported (other than BLOB, BFILE, or URL)

  • Other media data formats not currently supported

    Note:

    Oracle Multimedia can store any format. However, it can only extract metadata and process (image only) media data for formats that are supported or known to Oracle Multimedia.
  • Audio and video data processing

See Chapter 7 for more information about extending Oracle Multimedia.

See Also: