- il sistema di compressione dei filmati del FlashMX, serve a ridurre le dimensioni dell’swf finale
- i filmati compressi non hanno alcuna limitazione o differenza rispetto ai filmati non compressi, se non il peso, e non esiste alcun tipo di riduzione della qualità
- i filmati vengono decompressi “on the fly” dal flash player, senza ritardi nella riproduzione
- per essere letti, i filmati compressi necessitano del plugin 6
- la compressione, attiva di default, può essere selezionata o meno dai Publish Settings, sezione flash:
Publish Settings
Simulando lo scaricamento di un filmato compresso in modalità prova filmato, con lo Show Streaming, i comuni preloader si comportano in maniera peculiare. Nel pannello in alto a sinistra:
Show Streaming
alla voce Loaded si legge 100% quando il preloader ne è ancora lontano, i tempi di scaricamento tra filmato compresso e non compresso sono uguali, e così i bytes caricati e totali.
In realtà, i dati forniti dallo Show Streaming non sono reali, e così nemmeno quelli del preloader. Vediamo perchè:
- il preloader considera come bytes totali quelli non compressi
- il preloader consirera come bytes caricati i corrispondenti originali di quelli compressi.
Quindi, considerando un filmato dal peso di 100k e il relativo compresso da 50k, quando il preloader del filmato compresso dice di aver scaricato 80k (che sarebbero i 4/5 delle dimensioni originali, e paradossalmente 30k in più del peso effettivo del filmato), in realtà ne ha scaricati 40 (che sono appunto i 4/5 del filmato compresso).
Questo perchè quando il flash player inizia a leggere le informazioni sul file, restituisce con il getBytesTotal le dimensioni dell’swf scritte nell’header, e che si riferiscono a quelle non compresse. Quando poi vengono valutati i bytes caricati tramite il getBytesLoaded, il player non restituisce il numero reale di bytes, ma, rispettando la proporzione, quelli del formato originale.
Ne consegue che:
- la percentuale di scaricamento è giusta, anche se i bytes sono falsati
- calcolando la velocità di scaricamento sui bytes mostrati, questa sembra maggiore di quella effettiva.
Ad esempio:
filmato originale: 100k
filmato compresso: 50k
tempo di scaricamento del filmato originale: 20 secondi
tempo di scaricamento del filmato compresso: 10 secondi
In entrambi i casi, il preloader considera 100k totali, anche se il secondo filmato pesa la metà, ma i tempi di scaricamento sono decisamente diversi. Quindi l’utente finale ha l’impressione, valutando bytes e tempi, che il secondo filmato venga scaricato al doppio della velocità.