Oracle Zusatzoptionen Oracle 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
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
Unterstützte Formate
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 BFILEs nicht unter Transaktionskontrolle der Datenbank!
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--
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) srctype, srclocation, srcname werden die angegebenen Werte zugewiesen
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--
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) srctype, srclocation, srcname werden die angegebenen Werte zugewiesen
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);
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;
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;
ORDPLUGINS.ORDX_DEFAULT_VIDEO Package Suported: getformat getframesize getframerate Not Suported: getattribute getframeresolution processcommand getvideoduration getnumberofframes getcompressiontype getnumberofcolors getbitrate setproperties checkproperties getallattributes
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
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
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
Vielen Dank für ihre Aufmerksamkeit!