Una funzione importante di Adobe Flash Player è rappresentata dalla capacità di visualizzare e manipolare le informazioni video con ActionScript esattamente come accade con altri contenuti visivi come le immagini, le animazioni, il testo e così via.
Quando si crea un file Flash Video (FLV) in Adobe Flash CS3 Professional, è possibile scegliere uno skin per il video che includa i controlli più comuni per la riproduzione. Tuttavia, non c'è alcun motivo di limitarsi all'uso delle opzioni disponibili. Grazie ad ActionScript, è possibile controllare in modo molto preciso il caricamento, la visualizzazione e la riproduzione del video: in altre parole è possibile creare skin personalizzati per il lettore video o utilizzare il video in molti modi non convenzionali.
Le operazioni con il video in ActionScript richiedono l'uso di una combinazione di diverse classi:
Classe Video: il riquadro del contenuto video sullo stage è un'istanza della classe Video. Quest'ultima è un oggetto di visualizzazione, pertanto può essere manipolata con le stesse tecniche applicabili ad altri oggetti di visualizzazione, come il posizionamento, l'applicazione di trasformazioni e filtri, l'uso di metodi di fusione e così via.
Classe NetStream: quando si carica un file video che si intende controllare da ActionScript, viene utilizzata un'istanza NetStream per rappresentare l'origine del contenuto video, in questo caso un flusso di dati video. L'uso di un'istanza NetStream comporta anche l'impiego di un oggetto NetConnection, che rappresenta il collegamento al file video, ovvero una sorta di tunnel attraverso il quale viene trasmesso il video.
Classe Camera: quando si lavora con dati video provenienti da una videocamera collegata al computer dell'utente, un'istanza Camera rappresenta l'origine del contenuto video: la videocamera dell'utente e i dati video che rende disponibili.
Quando si carica un video esterno, è possibile caricare il file da un server Web standard per eseguire la riproduzione con scaricamento progressivo oppure utilizzare lo streaming video distribuito da un server specializzato come Macromedia® Flash® Media Server di Adobe.
Operazioni comuni con i file video
Questo capitolo descrive le seguenti attività relative al video:
Visualizzazione e controllo del video sullo schermo
Caricamento di file FLV esterni
Gestione dei metadati e delle informazioni sui cue point in un file video
Acquisizione e visualizzazione dell'input video dalla videocamera di un utente
Concetti e termini importanti
Cue point: un marcatore che è possibile posizionare in un punto temporale specifico in un file video, ad esempio per fungere da segnalibro o per fornire dati aggiuntivi associati a tale punto temporale.
Codifica: il processo che converte i dati video da un formato a un altro formato (ad esempio, la conversione di un'origine video ad alta risoluzione in un formato adatto alla distribuzione su Internet).
Fotogramma: un segmento singolo di informazioni video; ogni fotogramma è come un'immagine statica che rappresenta un'istantanea di un punto temporale. Riproducendo ad alta velocità i fotogrammi in sequenza, viene creata l'illusione del movimento.
Fotogramma chiave: un fotogramma video che contiene tutte le informazioni relative al fotogramma stesso. I fotogrammi che seguono un fotogramma chiave contengono solo le informazioni sul modo in cui differiscono rispetto al fotogramma chiave anziché contenere le informazioni integrali relative al fotogramma.
Metadati: le informazioni su un file video che è possibile incorporare nel file stesso e che possono essere recuperate quando il caricamento del video è terminato.
Scaricamento progressivo: quando un file video viene distribuito da un server Web standard, i dati video vengono caricati mediante lo scaricamento progressivo, ovvero le informazioni video vengono caricate in sequenza. Questa situazione offre il vantaggio che la riproduzione del video può iniziare prima che sia terminato lo scaricamento dell'intero file; tuttavia, impedisce di saltare a una porzione del video che non è stata ancora caricata.
Streaming: in alternativa allo scaricamento progressivo, è possibile utilizzare un server video speciale per distribuire il video su Internet mediante una tecnica nota come streaming (definita anche "true streaming"). Con lo streaming, il computer di chi guarda il video non scarica mai il video intero. Per accelerare i tempi di scaricamento, in qualsiasi momento il computer richiede solo una porzione delle informazioni video totali. Poiché un server speciale controlla la distribuzione del contenuto video, è possibile accedere a qualunque porzione del video in qualsiasi momento anziché attendere che venga scaricato.
Operazioni con gli esempi contenuti nel capitolo
È consigliabile provare gli esempi di codice presenti in questo capitolo. Poiché questo capitolo descrive le operazioni con i file video in ActionScript, tutti gli esempi di codice riportati prevedono la manipolazione di un oggetto video, che potrebbe essere stato sia creato e posizionato sullo stage nello strumento di creazione di Flash che creato mediante ActionScript. La prova degli esempi prevede la visualizzazione del risultato in Flash Player per vedere gli effetti del codice sul video.
La maggior parte degli esempi manipola un oggetto Video senza creare l'oggetto esplicitamente. Per provare questi esempi di codice:
Creare un documento Flash vuoto.
Selezionare un fotogramma chiave nella linea temporale.
Aprire il pannello Azioni e copiare l'esempio di codice nel riquadro dello script.
Se necessario, aprire il pannello Libreria.
Dal menu del pannello Libreria, scegliere Nuovo video.
Nella finestra di dialogo Proprietà video, specificare un nome per il nuovo simbolo video e scegliere Video (controllato da ActionScript) nel campo Tipo. Fare clic su OK per creare il nuovo simbolo Video.
Trascinare un'istanza del simbolo video dal pannello Libreria allo stage.
Con l'istanza video selezionata, nella finestra di ispezione Proprietà, assegnargli un nome istanza. Questo nome deve corrispondere al nome utilizzato per l'istanza Video nell'esempio di codice, ad esempio, se il codice manipola un oggetto Video chiamato vid, è necessario denominare vid anche l'istanza sullo stage.
Eseguire il programma selezionando Controllo > Prova filmato.
Sullo schermo vengono visualizzati i risultati della manipolazione del video secondo quanto specificato nell'esempio di codice.
Alcuni degli esempi di codice contenuti nel capitolo includono la definizione di una classe oltre al codice di esempio. In tal caso, oltre a eseguire i passaggi precedenti, e prima di provare il file SWF, è necessario creare la classe che viene utilizzata nell'esempio. Per creare una classe definita nell'esempio di codice:
Verificare che il file FLA utilizzato per la prova sia stato salvato.
Dal menu principale, scegliere File > Nuovo.
Nella finestra di dialogo Nuovo documento, nella sezione Tipo, scegliere File ActionScript. Fare clic su OK per creare il nuovo file ActionScript.
Copiare il codice di definizione classe dell'esempio nel documento ActionScript.
Dal menu principale, scegliere File > Salva. Salvare il file nella stessa directory del documento Flash. Il nome file deve corrispondere al nome della classe presente nell'esempio di codice. Ad esempio, se l'esempio di codice definisce una classe chiamata "VideoTest", salvare il file ActionScript con il nome "VideoTest.as".
Tornare al documento Flash.
Eseguire il programma selezionando Controllo > Prova filmato.
I risultati dell'esempio vengono visualizzati sullo schermo.