Image、Audio 及 Video Extenders 管理與程式設計

DB2Video


影像 音效 視訊
    X

將視訊內容儲存在資料庫表格中。 視訊來源可存放於從屬站緩衝區、從屬站檔案 或伺服器檔案。視訊可以 BLOB 的形式儲存在資料庫表格或伺服器檔案中 (供資料庫表格參 照)。 視訊來源可以位於所支援的格式中,這種情形下, DB2Video Extender 會識別儲存體的屬性,或在不支援的格式中, 必須在 UDF 中指定這些屬性。

併入檔

dmbvideo.h

語法

儲存緩衝區或從屬站檔案的內容

>>-DB2Video--(--dbname--,--content--,--format--,---------------->
 
>----target_file--,--comment--)--------------------------------><
 

語法

儲存伺服器檔案的內容

>>-DB2Video--(--dbname--,--source_file--,--format--,--stortype--,-->
 
>---comment--)-------------------------------------------------><
 

語法

儲存緩衝區或從屬站檔案中含有使用者提供屬性的內容

>>-DB2Video--(--dbname--,--content--,--target_file--,----------->
 
>----comment--,--attrs--,--thumbnail--)------------------------><
 

語法

儲存伺服器檔案中含有使用者提供屬性的內容

>>-DB2Video--(--dbname--,--source_file--,--stortype--,--comment--,-->
 
>---attrs--,--thumbnail--)-------------------------------------><
 

參數 (資料類型)

dbname (VARCHAR(18))
目前連接的資料庫名稱,可由 CURRENT SERVER 特別暫存區指示。

content (BLOB(2G) AS LOCATOR)
含有視訊內容的主變數。 主變數可以是資料類型 BLOB、BLOB_FILE 或 BLOB_LOCATOR。 DB2 會將內容提升為 BLOB_LOCATOR,並將 LOB 定位器傳遞到 DB2Video UDF。 如果內容位於從屬站緩衝區中,則緩衝區至少要有 640 KB 內容, 以確保整個視訊標頭可被讀取。

format (VARCHAR(8))
來源視訊格式。若指定 NULL 值或空白字串, Video Extender 會嘗試自動決定來源格式。 視訊將以其和來源相同的格式存檔。關於支援的視 訊格式,請參閱表 4。 若是 MPG1 格式,您可以指定 MPG1、mpg1、MPEG1 或 mpeg1。 若是 MPG2 格式, 您可以指定 MPG2、mpg2、MPEG2 或 mpeg2。

target_file (LONG VARCHAR)
目標伺服器檔案的名稱 (用於伺服器檔案的儲存體), 或 NULL 值或空白字串 (用於作為 BLOB 的資料庫表格中儲存體)。 伺服器檔案必須是完整名稱。 如果檔名不完整, 則使用伺服器上的 DB2VIDEOSTORE 及 DB2MMSTORE 環境變數來尋找檔案。

source_file (LONG VARCHAR)
來源伺服器檔案的名稱。來源檔名稱可以是完整名稱或不完整名稱; 但不能是 NULL 值或空白字串。如果名稱不完整, 則使用伺服器上的 DB2VIDEOPATH 及 DB2MMPATH 環境變數來尋找檔案。

stortype (INTEGER)
一種指示視訊儲存位置的值。常數 MMDB_STORAGE_TYPE_INTERNAL (值=1), 指示視訊將被存入 BLOB 資料庫中; 常數 MMDB_STORAGE_TYPE_EXTERNAL (值=0), 指示視訊內容將被存入伺服器檔案中 (指示從資料庫中)。

comment (LONG VARCHAR)
使用視訊儲存的註解。

attrs (LONG VARCHAR FOR BIT DATA)
視訊屬性。

thumbnail (LONG VARCHAR FOR BIT DATA)
代表視訊的縮圖影像。

回覆值 (資料類型)

視訊 handle (DB2VIDEO)

範例

將含有 Anita Jones 的視訊片段之記錄插入員工表格。視訊來源是位於從屬站緩衝區中。 將視訊存入表格作為 BLOB:

EXEC SQL BEGIN DECLARE SECTION
     SQL TYPE IS BLOB (8M) vid;
  EXEC SQL END DECLARE SECTION;
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
      '128557',
      'Anita Jones',
      DB2VIDEO(
         CURRENT SERVER,
         :vid,
         'MPEG1',
         CAST(NULL as LONG
VARCHAR),
         'Anita''s video'));

將含有 Robert Smith 的視訊片段之記錄插入員工表格。 視訊來源是位於伺服器檔案中。員工表格記錄會指向檔案:

EXEC SQL BEGIN DECLARE SECTION;
     long hvStorageType;
  EXEC SQL END DECLARE SECTION;
 
hvStorageType = MMDB_STORAGE_TYPE_EXTERNAL;
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
      '384779',
      'Robert Smith',
      DB2VIDEO(
         CURRENT SERVER,
         '/employee/videos/rsmith.mpg',
         'MPEG1',
        :hvStorageType,
         'Robert''s video'));

將含有視訊片段的記錄插入資料庫表格。 位於伺服器檔案中的來源視訊片段,具有使用者定義的格式。 將視訊內容保存在伺服器檔案中 (資料庫表格記錄會指向檔案)。 並儲存代表視訊的縮圖:

EXEC SQL BEGIN DECLARE SECTION;
     long hvStorageType;
struct {
       short len;
         char data [400];
}hvVidattrs;
struct {
       short len;
       char data[10000];
         }hvThumbnail;
  EXEC SQL END DECLARE SECTION;
 
MMDBVideoAttrs         *pvideoAttr;
 
hvStorageType = MMDB_STORAGE_TYPE_EXTERNAL;
 
pvideoAttr=(MMDBVideoAttrs *)hvVidattrs.data;
strcpy(pvideoAttr>cFormat,"Formatv");
pvideoAttr.len=sizeof(MMDBVideoAttrs);

·
·
·
/* Generate thumbnail and assign data */ /* in video structure */
·
·
·
EXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', 'Anita Jones', DB2VIDEO( CURRENT SERVER, '/employee/videos/ajones.vid', :hvStorageType, 'Anita''s video', :hvVidattrs, :hvThumbnail) );


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]