Oracle interMedia Video

Werbung
Oracle Zusatzoptionen
Oracle interMedia
Video
Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
Oracle interMedia Video
Inhalt:
- interMedia Architektur
- was ist interMedia Video?
- Unterstützte Formate
- Datentypen( LOB's, Limits), Methoden
- ORDVideo Object Type
- Constructor
- Beispiel
- Packages, Plug-In's
- Tuning
Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
InterMedia Video
●
Entworfen, um Internetmedien-Inhalte zu verwalten
●
intern in der Oracle8i Datenbank als BLOB
●
extern als:
–
betriebssystemspezifisches BFILE in vorliegendem Filesystem
–
Http-URL
–
streaming (audio) video auf Mediaserver
–
selbstdefinierte Quelle auf anderen Servern
Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
Unterstützte Formate
Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
LOB's
●
Interne LOBs bestehen aus:
–
CLOBs
–
NCLOBs
–
BLOBs
können bis zu 4 Gigabyte groß sein
Speicherung durch Locator, Ablage in eigenem Table
–
●
–
●
Vorteil: mehrere BLOBs in einer Datenzeile möglich
BFILEs so groß, wie es das OS erlaubt, max. 4 Gigabyte
–
Stefan Leonhardt
BFILEs nicht unter Transaktionskontrolle der Datenbank!
Oracle Zusatzoptionen – interMedia Video
ORDVideo-Datentyp
CREATE OR REPLACE TYPE ORDVideo
AS OBJECT( description VARCHAR2(4000),
source ORDSource,format VARCHAR2(31),
mimeType VARCHAR2(4000),comments CLOB,
-- VIDEO RELATED ATTRIBUTES
width INTEGER, height INTEGER,
frameResolution INTEGER, frameRate INTEGER,
videoDuration INTEGER, numberOfFrames INTEGER,
compressionType VARCHAR2(4000), numberOfColors INTEGER,
bitRate INTEGER,
--Methoden-Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
Constructor
●
init( )
–
ORDVideo Attribute werden auf NULL,
.
source.updateTime auf SYSDATE,
.source.local auf 1 (local) und
.source.localData auf empty_blob gesetzt
●
init(srcType,srcLocation,srcName)
–
Stefan Leonhardt
srcType, srcLocation, srcName werden die angegebenen Werte
zugewiesen
Oracle Zusatzoptionen – interMedia Video
ORDVideo-Datentyp
CREATE OR REPLACE TYPE ORDVideo
AS OBJECT( description VARCHAR2(4000),
source ORDSource,format VARCHAR2(31),
mimeType VARCHAR2(4000),comments CLOB,
-- VIDEO RELATED ATTRIBUTES
width INTEGER, height INTEGER,
frameResolution INTEGER, frameRate INTEGER,
videoDuration INTEGER, numberOfFrames INTEGER,
compressionType VARCHAR2(4000), numberOfColors INTEGER,
bitRate INTEGER,
--Methoden-Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
Constructor
●
init( )
–
ORDVideo Attribute werden auf NULL,
.
source.updateTime auf SYSDATE,
.source.local auf 1 (local) und
.source.localData auf empty_blob gesetzt
●
init(srcType,srcLocation,srcName)
–
Stefan Leonhardt
srcType, srcLocation, srcName werden die angegebenen Werte
zugewiesen
Oracle Zusatzoptionen – interMedia Video
Beispiel Clip-Objekt
●
CREATE TYPE clipObject as OBJECT (
●
videoRef REF VideoObject, -- REF into the video table
●
clipId VARCHAR2(20), -- Id inside of the clip table
●
title VARCHAR2(4000), director VARCHAR2(4000), category VARCHAR2(20),
●
copyright VARCHAR2(4000), producer VARCHAR2(4000), awards VARCHAR2(4000),
●
timePeriod VARCHAR2(20), rating VARCHAR2(256), duration INTEGER,
●
cdRef REF CdObject, -- REF into a CdObject(soundtrack)
●
txtcontent CLOB, coverImg REF ORDSYS.ORDImage, -- REF into the ImageTable
●
videoSource ORDSYS.ORDVideo);
●
CREATE TABLE ClipsTable of clipObject (UNIQUE (clipId), clipId NOT NULL);
Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
Beispiel Anlegen Video-Table
CREATE TYPE VideoObject as OBJECT (
itemId INTEGER,
duration INTEGER,
txtcontent CLOB,
coverImg REF ORDSYS.ORDImage,
clips clipList);
CREATE TABLE VideoTable OF VideoObject (
UNIQUE(itemId),itemId NOT NULL)
NESTED TABLE clips.clips STORE AS clip_store_table;
Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
Beispiel Load Video
DECLARE
videoObj ORDSYS.ORDVIDEO;
ctx RAW(4000) := NULL;
BEGIN
SELECT C.videoSource INTO videoObj FROM ClipsTable C WHERE C.clipId = ’11’ FOR UPDATE;
videoObj.setDescription(’Under Pressure Video Clip’);
videoObj.setSource(’FILE’, ’VIDDIR’, ’UnderPressure.mov’);
videoObj.import(ctx);
videoObj.setProperties(ctx)
UPDATE ClipsTable C
SET C.videoSource = videoObj
WHERE C.clipId = ’11’;
COMMIT;
END;
Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
ORDPLUGINS.ORDX_DEFAULT_VIDEO Package
●
Suported:
●
Not Suported:
–
getFormat
–
getAttribute
–
getFrameSize
–
getFrameResolution
–
getFrameRate
–
processCommand
–
getVideoDuration
–
getNumberOfFrames
–
getCompressionType
–
getNumberOfColors
–
getBitRate
–
setProperties
–
checkProperties
–
getAllAttributes
Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
Packages /Plug-Ins
●
PL/SQL Plug-in Packages
Audio Format
MIME Type
–
ORDPLUGINS.ORDX_DEFAULT_VIDEO
<format>
Dependent on file format
–
ORDPLUGINS.ORDX_AVI_VIDEO
AVI
video/x-msvideo
–
ORDPLUGINS.ORDX_MOOV_VIDEO
MOOV
video/quicktime
–
ORDPLUGINS.ORDX_RMFF_VIDEO
RMFF
application/x-vnd.realmedia
Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
Tuning
●
●
system global area (SGA)
DB_BLOCK_SIZE, DB_BLOCK_BUFFERS,
SHARED_POOL_SIZE, and LOG_BUFFER
●
DB-Buffer-Cache: DB_BLOCK_SIZE * DB_BLOCK_BUFFERS
●
DB_BLOCK_SIZE festgesetzt beim Anlegen der DB
●
40MB = 2kb min.FS *20.000 DB_BLOCK_BUFFERS
Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
Tuning
●
SHARED_POOL_RESERVED_SIZE: default: 5% of
SHARED_POOL_SIZE, maximum 50%
–
●
a value at or close to the maximum can provide performance
benefits.
LOG_BUFFER: buffering redo entries to the redo log file
Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
Vielen Dank für ihre Aufmerksamkeit!
Stefan Leonhardt
Oracle Zusatzoptionen – interMedia Video
Herunterladen