Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Leggere i MetaData dei file video

Lettura dei tag di informazione, presenti nei video, sia con ActionScript 2 che con ActionScript 3
Lettura dei tag di informazione, presenti nei video, sia con ActionScript 2 che con ActionScript 3
Link copiato negli appunti

I file video in alta definizione, così come gli FLV, prevedono alcuni tag, detti MetaData; quest'ultimi altro non sono che informazioni contenute nel file che ci permettono di conoscere ad esempio la risoluzione originale del video, la durata del filmato, il suo framerate, il codec utilizzato per i flussi video e audio e altro ancora.

Actionscript prevede un evento dedicato per il caricamento di questi dati, ovvero onMetaData; sfruttando questo evento saremo sicuri di leggere le informazioni dal file quando saranno completamente caricate nel player. Tale evento varia leggermente in Actionscript 3 rispetto ad Actionscript 2.

Leggere i MetaData con Actionscript 2

Per ottenere l'elenco completo delle proprietà presenti nel file possiamo usare il seguente codice:

Listato 3.1. Restituisce l'elenco completo delle proprietà

// una volta caricati i MetaData del file
stream_video.onMetaData = function(oggetto:Object):Void{
  // finché ci sono proprietà nell'oggetto
  for(var proprieta:String in oggetto){
    // le leggiamo e le mostriamo nel pannello output
    trace(proprieta + "=" + oggetto[proprieta]);
  }
}

Mentre se volessimo impostare le dimensioni del player video su quelle del file video potremmo utilizzare:

Listato 3.2. Imposta le dimensioni del video

// una volta caricati i MetaData del file
stream_video.onMetaData = function(oggetto:Object):Void{
  player._width = oggetto.width;
  player._height = oggetto.height;
}

In questo caso sarà importante accertarsi che lo stage dell'SWF possa contenere interamente il player quando verrà ridimensionato.

Leggere i MetaData con Actionscript 3

Per leggere i MetaData in Actionscript 3 il codice è quasi identico, l'unica differenza è che la funzione onMetaData non sarà associata all'oggetto stream_video, ma andrà indicata come di seguito:

Listato 3.3. Restituisce l'elenco completo delle proprietà con AS 3

// una volta caricati i MetaData del file
function onMetaData(oggetto:Object){
  // finché ci sono proprietà nell'oggetto
  for(var proprieta:String in oggetto){
    // le leggiamo e le mostriamo nel pannello output
    trace(proprieta + "=" + oggetto[proprieta]);
  }
}

Per portare invece il player alle dimensioni del file video dovremmo utilizzare il codice riportato di seguito, ricordando che in Actionscript 3 le proprietà per impostare larghezza e altezza di un oggetto sono width e height, prive dell'underscore.

Listato 3.4. Imposta le dimensioni del video in AS 3

// una volta caricati i MetaData del file
function onMetaData = function(oggetto:Object):Void{
  player.width = oggetto.width;
  player.height = oggetto.height;
}

MetaData principali per i file video

Di seguito l'elenco dei MetaData solitamente presenti nei file video codificati con il codec H.264 e la relativa descrizione; ovviamente in alcuni casi determinati tag potrebbero mancare o risultare fuori (ad esempio nel caso di un video senza sonoro non avremo le informazioni relative al codec audio).

  • duration: restituisce la durata del filmato; mentre negli FLV è un parametro che può non essere presente, nei file H.264 deve esserlo;
  • videocodecid: restituisce il codec di compressione video usato nel file. Per l'H.264 restituisce 'avc1';
  • audiocodecid: restituisce il codec di compressione audio usato nel file Per l'AAC restituisce 'mp4a', per l'MP3 invece restituisce '.mp3';
  • avcprofile: può restituire 66, 77, 88, 100, 110, 122 o 144, valori corrispondenti al profilo dell'H.264 usato dal file;
  • avclevel: restituisce un numero da 10 a 51;
  • moovposition: la posizione dei byte atom nel file; questi byte contengono alcune informazioni fondamentali sul filmato;
  • trackinfo: un array contenente diversi oggetti che a loro volta includono informazioni sulle tracce presenti nel file;
  • seekpoints: punti di interesse predefiniti del filmato, dove è possibile mandare la testina di riproduzione usando il comando NetStream.seek();
  • videoframerate: il frame rate del filmato (a meno che il filmato non abbia un frame rate variabile, situazione però piuttosto rara);
  • audiosamplerate: la qualità di definizione della traccia audio;
  • audiochannels: numero di canali presenti nella traccia audio;
  • height: restituisce l'altezza del filmato;
  • width: restituisce la larghezza del filmato.

I MetaData relativi al codec audio valgono ovviamente anche per i file di tipo sonoro, tratteremo comunque in seguito tag e MetaData specifici dei file audio.

Ti consigliamo anche