Extensions Image, Audio et Vidéo Administration et programmation

DB2Video


Image Audio Vidéo
    X

Stocke le contenu d'une séquence vidéo dans une table de base de données. L'objet vidéo source peut se trouver dans une mémoire tampon client, un fichier client ou un fichier du serveur. L'objet vidéo peut être stocké dans la table de la base de données en tant qu'objet BLOB ou dans un fichier du serveur (référencé par la table de la base de données). Le format de l'objet vidéo source peut être pris en charge ou pas. Dans le premier cas, l'extension DB2Video identifie ses attributs pour le stockage. Dans le second cas, les attributs doivent être indiqués dans la fonction UDF.

Fichier d'inclusion

dmbvideo.h

Syntaxe

Stockage du contenu à partir d'une mémoire tampon ou d'un fichier client

>>-DB2Video--(--nombd--,--contenu--,--format--,----------------->
 
>----fichier_cible--,--commentaire--)--------------------------><
 

Syntaxe

Stockage du contenu à partir d'un fichier serveur

>>-DB2Video--(--nombd--,--fichier_source--,--format--,--typestoc--,-->
 
>---commentaire--)---------------------------------------------><
 

Syntaxe

Stockage du contenu avec des attributs définis par l'utilisateur à partir d'une mémoire tampon ou d'un fichier client

>>-DB2Video--(--nombd--,--contenu--,--fichier_cible--,---------->
 
>----commentaire--,--attrs--,--miniature--)--------------------><
 

Syntaxe

Stockage du contenu avec des attributs définis par l'utilisateur à partir d'un fichier serveur

>>-DB2Video--(--nombd--,--fichier_source--,--typestoc--,--commentaire--,-->
 
>---attrs--,--miniature--)-------------------------------------><
 

Paramètres (type de données)

nombd (VARCHAR(18))
Nom de la base de données à laquelle vous êtes connecté, indiqué par le registre spécial CURRENT SERVER.

contenu (BLOB(2G) AS LOCATOR)
Variable SQL représentant le contenu de la vidéo. Cette variable peut être de type BLOB, BLOB_FILE ou BLOB_LOCATOR. DB2 transmet le type de valeur du contenu à BLOB_LOCATOR, et le releveur de coordonnées LOB à la fonction UDF DB2Video. Si ce contenu se trouve dans une mémoire tampon client, cette dernière doit en comporter au moins les premiers 640 Ko afin de garantir la lecture complète de l'en-tête de la vidéo.

format (VARCHAR(8))
Format de la vidéo source. Si vous indiquez une valeur nulle ou une chaîne de caractères vide, l'extension Vidéo tente de déterminer le format source automatiquement. La vidéo est stockée dans le même format que sa source. Pour connaître les formats vidéo admis, reportez-vous au Tableau 4. Pour le format MPG1, vous pouvez indiquer MPG1, mpg1, MPEG1 ou mpeg1. Pour le format MPG2, vous pouvez indiquer MPG2, mpg2, MPEG2 ou mpeg2.

fichier_cible(LONG VARCHAR)
Nom du fichier du serveur cible (dans le cas d'un stockage dans un fichier du serveur), valeur nulle ou chaîne de caractères vide (dans le cas d'un stockage dans une table de base de données en tant qu'objet BLOB). Le nom du fichier du serveur doit être qualifié complet. S'il n'est pas qualifié, le fichier est localisé à l'aide des variables d'environnement DB2VIDEOSTORE et DB2MMSTORE sur le serveur.

fichier_source (LONG VARCHAR)
Nom du fichier du serveur source. Ce nom peut être qualifié complet ou non qualifié, mais ne doit pas être une valeur nulle ou une chaîne de caractères vide. Si le nom du fichier n'est pas qualifié, ce dernier est localisé à l'aide des variables d'environnement DB2VIDEOPATH et DB2MMPATH sur le serveur.

typestoc (INTEGER)
Valeur indiquant où la vidéo est stockée. La constante MMDB_STORAGE_TYPE_INTERNAL (value=1) indique que la vidéo est stockée dans la base de données en tant qu'objet BLOB ; la constante MMDB_STORAGE_TYPE_EXTERNAL (value=0) indique que le contenu de la vidéo est stocké dans un fichier du serveur (la base de données contient un pointeur sur ce fichier).

commentaire (LONG VARCHAR)
Commentaire à stocker avec la vidéo.

attrs (LONG VARCHAR FOR BIT DATA)
Attributs de la vidéo.

miniature (LONG VARCHAR FOR BIT DATA)
Image miniature représentant la vidéo.

Codes retour (type de données)

Descripteur de la vidéo (DB2VIDEO)

Exemples

Insertion d'un enregistrement incluant une séquence vidéo pour Anne Dupont, dans la table Employés. La source de la vidéo se trouve dans une mémoire tampon client. Stockage de la séquence vidéo dans la table en tant qu'objet BLOB :

EXEC SQL BEGIN DECLARE SECTION
     SQL TYPE IS BLOB (8M) vid;
  EXEC SQL END DECLARE SECTION;
 
EXEC SQL INSERT INTO EMPLOYEE VALUES(
        '128557',
      'Anne Dupont',
      DB2VIDEO(
          CURRENT SERVER,
         :vid,
          'MPEG1',
CAST(NULL as LONG VARCHAR),
         'Séquence vidéo d''Anne'));

Insertion d'un enregistrement incluant une séquence vidéo pour Robert Durand, dans la table Employés. La source de la vidéo se trouve dans un fichier du serveur. L'enregistrement de la table Employés pointera sur ce fichier :

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 Durand',
      DB2VIDEO(
          CURRENT SERVER,
         '/Employés/vidéos/rdurand.mpg',
          'MPEG1',
          :hvStorageType,
                 'Séquence vidéo de Robert'));

Insertion d'un enregistrement incluant une séquence vidéo, dans une table de base de données. La séquence vidéo source, qui se trouve dans un fichier du serveur, possède un format défini par l'utilisateur. Conservation du contenu de la vidéo dans le fichier du serveur (l'enregistrement de la table de base de données pointe sur ce fichier). Stockage d'une image miniature représentant la vidéo :

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);

·
·
·
/* Création d'une miniature et affectation */ /* de données dans la structure de la vidéo */
·
·
·
EXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', 'Anne Dupont', DB2VIDEO( CURRENT SERVER, '/Employés/vidéo/adupont.vid', :hvStorageType, 'Séquence vidéo d''Anne', :hvVidattrs, :hvThumbnail) );


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]