Utilisation des métadonnées de la vidéo

Vous pouvez utiliser le gestionnaire de rappel onMetaData pour afficher les informations de métadonnées de votre fichier FLV. Ces métadonnées comprennent des informations sur le fichier FLV (durée, largeur et hauteur d'image et cadence). Les informations de métadonnées qui sont ajoutées au fichier FLV dépendent du logiciel utilisé pour l'encoder, ou du logiciel utilisé pour lui ajouter ces informations.

var nc:NetConnection = new NetConnection();
nc.connect(null);

var ns:NetStream = new NetStream(nc);
ns.client = this;
ns.play("video.flv");

var vid:Video = new Video();
vid.attachNetStream(ns);
addChild(vid);

function onMetaData(infoObject:Object):void
{
    var key:String;
    for (key in infoObject)
    {
        trace(key + ": " + infoObject[key]);
    }
}

Le code ci-dessus génère un code similaire à celui qui suit, en supposant que le fichier FLV contient des points de repère et de l'audio :

width: 320
audiodelay: 0.038
canSeekToEnd: true
height: 213
cuePoints: ,,
audiodatarate: 96
duration: 16.334
videodatarate: 400
framerate: 15
videocodecid: 4
audiocodecid: 2

CONSEIL

 

Si la vidéo ne contient pas de son, les informations de métadonnées associées à l'audio (telles que audiodatarate) renvoient undefined, car aucune information audio n'est ajoutée aux métadonnées pendant l'encodage.

Dans le code ci-dessus, les informations de point de repère n'étaient pas affichées. Pour afficher les informations de point de repère, utilisez la fonction suivante, qui affiche de façon récursive les éléments d'un objet :

function traceObject(obj:Object, indent:uint = 0):void
{
    var indentString:String = "";
    var i:uint;
    var prop:String;
    var val:*;
    for (i = 0; i < indent; i++)
    {
        indentString += "\t";
    }
    for (prop in obj)
    {
        val = obj[prop];
        if (typeof(val) == "object")
        {
            trace(indentString + " " + j + ": [Object]");
            traceObject(val, indent + 1);
        }
        else
        {
            trace(indentString + " " + prop + ": " + val);
        }
    }
}

L'utilisation du code ci-dessus pour suivre le paramètre infoObject de la méthode onMetaData() produit l'affichage suivant :

width: 320
audiodatarate: 96
audiocodecid: 2
videocodecid: 4
videodatarate: 400
canSeekToEnd: true
duration: 16.334
audiodelay: 0.038
height: 213
framerate: 15
cuePoints: [Object]
    0: [Object]
        parameters: [Object]
            lights: beginning
        name: point1
        time: 0.418
        type: navigation
    1: [Object]
        parameters: [Object]
            lights: middle
        name: point2
        time: 7.748
        type: navigation
    2: [Object]
        parameters: [Object]
            lights: end
        name: point3
        time: 16.02
        type: navigation

Objets Info pour onMetaData

Le tableau suivant répertorie les valeurs possibles des métadonnées vidéo :

:

Paramètre

Description

audiocodecid

Nombre qui indique le codec audio (technique de codage/décodage) utilisé.

audiodatarate

Nombre qui indique le taux d'encodage du son, en kO/s.

audiodelay

Nombre qui indique l'heure dans le fichier FLV de la valeur « time 0 » de ce fichier. Le contenu vidéo doit être légèrement retardé pour synchroniser correctement l'audio.

canSeekToEnd

Valeur booléenne qui est définie sur true si le fichier FLV est codé avec une image-clé sur la dernière image qui permet de rechercher jusqu'à la fin d'un clip téléchargé progressivement. Elle est définie sur false si le fichier FLV n'est pas codé avec une image-clé sur la dernière image.

cuePoints

Tableau d'objets (un par point de repère intégré dans le fichier FLV). Cette valeur n'est pas définie si le fichier FLV ne contient pas de points de repère. Chaque objet possède les propriétés ci-dessous :

  • type: chaîne qui spécifie le type de point de repère (« navigation » ou « event »).
  • name: chaîne représentant le nom du point de repère.
  • time : nombre correspondant au code horaire du point de repère (en secondes) avec une précision de trois décimales (millisecondes).
  • parameters : objet facultatif possédant des paires nom/valeur désignées par l'utilisateur lors de la création des points de repère.

duration

Nombre indiquant la durée du fichier FLV en secondes.

framerate

Nombre indiquant la fréquence d'images du fichier FLV.

height

Nombre indiquant la hauteur du fichier FLV, en pixels.

videocodecid

Nombre indiquant la version du codec utilisé pour coder la vidéo.

videodatarate

Nombre indiquant la fréquence vidéo du fichier FLV.

width

Nombre indiquant la largeur du fichier FLV, en pixels.

Le tableau suivant répertorie les valeurs possibles du paramètre videocodecid :

videocodecid

Nom du codec

2

Sorenson H.263

3

Screen video (SWF versions 7 et ultérieures uniquement)

4

VP6 (SWF versions 8 et ultérieures uniquement)

5

VP6 avec canal alpha (SWF versions 8 et ultérieures uniquement)

Le tableau suivant répertorie les valeurs possibles du paramètre audiocodecid :

audiocodecid

Nom du codec

0

non compressé

1

ADPCM

2

mp3

5

Nellymoser 8kHz mono

6

Nellymoser


Flash CS3

 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/main/00000267.html