This wiki, on valeriocipriani.com, uses cookies to give you the best experience on our websites. By continuing to use valeriocipriani.com, we assume that you accept our use of cookies.
Read more about cookies.
File video del Computer
Fonte: http://mewiki.project357.com/wiki/Computer_movie_files
Un file video del computer, è un file che contiene audio e video. I file video sono composti da molti componenti, e questi componenti sono estremamente , il che significa che possono essere facilmente scambiati con altri componenti compatibili lasciando le altri parti del file intatte. Questa pagina vuole spiegare i differenti tipi di componenti accompagnando degli esempi semplici e chiarificatori.
NOTA: Questa pagina contiene dei giudizi soggettivi dell'autore basati sull'esperienza.
Il Contenitore
Il contenitore è la parte del file che tiene tutto insieme. Tu metti tutto insieme dentro il contenitore (Audio, Video, etc...), a livello logico è un po come immagazzinare file differenti in un archivio zip.
I contenitori sono usati per una serie di ragioni:
- Permettere ai player di avere una visione generale dei contenuti;
- Permettere l'aggiunta di funzioni addizionali al file, come:
- Indicizzazione dei segnali;
- Metadata (informazioni sei segnali contenuti);
- Possibilità di ripristinare un errore;
- Capitoli e altre forme di navigazione;
- Streaming
Diversi tipi di contenitore
AVI
Avi sta per: Audio Video Interleave. Questo è probabilmente il contenitore più usato, per il fatto che può essere riprodotto con quasi tutti i player e su ogni tipo di piattaforma/sistema operativo. E' stato creato dalla Microsoft nel 1992.
l'AVI è stesso descritto come la 'colonna portante' dei contenitori, questo perchè supporta le ultime funzioni ed è il più vecchio e comune contenitore. Alcuni ancora preferiscono questo contenitore rispetto agli altri, questa persona ha spiegato che l'AVI supporta molte delle funzioni che i nuovi contenitori hanno (come MKV e MP4), comunque questo supporto, nell'Avi, non è comune o addirittura scadente. Nonostante questo, se non necessiti delle ultime funzioni che i contenitori più avanzati hanno, AVI dovrebbe essere la tua scelta migliore.
Valutazione: Buono (se tutto quello che vuoi immagazzinare è un xvid+mp3, non c'è motivo per cui dovresti volere un contenitore migliore)
FLV
Flv sta per: Flash Video. E' il contenitore usato dal Flash per il segnale video. Sono in questo formato i video caricati in siti come youtube. Quasi sempre la traccia audio è codificata in MP3 e il video in h263/h263+ o VP6, può probabilmente contenere altri formati, ma non ci sono buoni motivi per farlo. Dato che questo non dovrebbe essere un formato in cui codificare i video (a meno chetu non voglia un video flash), non ci sono valutazioni su questo contenitore.
OGM
Ogm sta per: Ogg Media. Originariamente sviluppato da Tobias Waldvogel per essere usato con lo stupefacente nuovo codec audio (in quegli anni) con il tipico formato video MPEG-4 ASP. COnsiderato da molti un "hack" del contenitore Ogg per essere usto con determinati formati video. Il formato è stato estremamente popolare per un breve periodo dato che permetteva l'uso di capitoli, tracce audio multiple, e sottotitoli soft (softsubs). Lo sviluppatore originario ha lasciato lo sviluppo, che è stato continuato da Xiph Project. Tuttavia la loro posizione è ancora ambigua, e sembra che stiano ignorando il contenitore. Il contenitore perde parte della sua utilità data l'ascesa del contenitore Matroska (MKV), che eguaglia e in alcuni casi fa meglio rispetto all'Ogm ma con molto meno overhead.
Valutazione: Meno funzioni del Matroska, ma con più overhead. A meno che tu non abbia un particolare player che riproduce gli Ogm ma non Mkv o simili, pobabilmente non dovresti usare questo.
MKV
Mkv sta per: Matroska Video. Pobabilmente è il migliore contenitore per riproduzione, puoi fare quasi tutto con questo. Permette l'uso di tutti i formati video con facilità, usare qualsiasi formato audio o sottotitoli, e permette l'uso di funzioni avanzate come lencoding vfr', capitoli, e softsubs. Una comune idea sbagliata è che questo contenitore richieda maggiore uso di CPU per essere decodificato, rispetto all'Avi ad esempio. Questo è vero, ma l'uso in più di CPU è talmente minimo che sono praticamente identici. Il Matroska offre meno overhead dopo l'operazione di mux (unire audio e video), questo diminuisce la dimensione del file e permette di codificare con bitrate maggiori l'audio e il video.
L'homepage di questo contenuto è matroska.org, ma non contiene niente di interessante per principianti o utenti medi.
Valutazione: Uno dei migliori contenitori in circolazione.
MP4
MP4 sta per: MPEG-4 File Format. La prima versione di questo contenitore è stata finalizzata nel 1998 e standardizzato nel 1999. E' stato il primo file formato MP4 sviluppato da MPEG inizialmente destinato per i web video e hardware portatili (come i mobil phone). La versione 1 è stata superata dalla versione 2 subito dopo, alla fine del 1999 (standardizzata nel 2000) ed è totalmente retro compatibile dato che l'MP4 è stato esteso e costantemente sviluppato.
Oltre al supporto degli ultimi standard MPEG, è anche retro compatibile con vecchi formati. Nell'MP$ si può contenere:
- MPEG-1
- MPEG-2
- h263 (ed estensioni) (tramite .3gp che è una MPEG-4 V1 semplificata)
- MPEG-4 ASP e MPEG-4 AVC (H.264) video
Dal punto di vista dell'Audio puoi immagazzinare:
- SLS (scalable lossless extension to AAC)
- AMR (tramite .3gp)
- CELP & TwinVQ (per bassi bitrate/dialoghi)
- SAOL (MIDI)
- ALAC (formato Apple Lossless)
- ALS (formato lossless standardizzato MPEG4)
Ha anche un proprio formtato softsub, testo 3GP. Ultimo ma non per merito, Supporto immagini formato MP4 JPEG & PNG.
L'MP4 ha anche uno spazio dove immagazzinare informazioni sulla traccia, autore etc. Per uso privat odel segnale potresti anche unire (mux) Vorbis, AC3. Questo non è uno standard e non è detto che i player lo supportino. Se vuoi questo tipo di funzioni, è tempo di usare l'MKV. L'MP4 supporta anche i menù.
Alcune domande frequenti sull'MP4: doom9.
Valutazione: Supporta meno formati dell'MKV, ma supporta i più comuni, formati d'uso di massa, e standard ISO che assicurano l'interoperabilità. L'MP4 è supportato commercialmente nei player, ma stranamento il supporto in decoding è tutta un altra questione. Se vuoi una nativo MPEG-4 ASP o H.264 con MP3 o audio AAC, o vuoi effettuare un transmux in file .ts o .mpg, MP4 ti offre questo. Se vuoi qualcosa di più, usa MKV.
MOV
Mov sta per: Quicktime Movie Format. Questo formato è proprietà della Apple. Supporta molte delle cose che l'mp4 fa.
Valutazione: Non usarlo per nessun altra cose che per l'ipod.
La traccia video
Il segnale video contiene i dati per gli attuali fotogrammi che sono riprodotti ("file video" si riferisce sia all'audio che al video, ma "segnale video" si riferisce alla compnente immagini del "file video"). Fondamentalmente consiste in istruzioni su come visualizzare una sequenza di immagini.
Molti formati video hanno limitazioni riguardo a cosa può essere visualizzato. Molte codifiche video danno il meglio quando le dimensioni dei frame sono Mod16.
Encoder video
Una breve introduzione su come funziona un encoder video
- I video codec generalmente usano tre tipi di frame differenti: I, P e B-frame.
- I-frame: (I sta per intra, e significa dentra) sono i keyframe. Sono come dei jpg (anche se l'unica cosa simile è che sono immagini compresse) del particolare frame in questione, e sono fatti per suddividere il video in piccole aree, e come riferimento per altri frame. Questi frame non dipendono da altri frame per essere decodificati.
- P-frame: sono frame predetti (ecco perchè P frame). Questo vuol dire che sono composti da due parti, la prima è il contenuto originale, quindi come con gli I-frame, parte (non tutto) del frame è immagazzinata come nei jpg. Le altre parti sono da dove l'etichetta 'predetto' entra in gioco - sono prese da precedenti frame. Questa è la parte difficile. Immagina una parte in un frame, e immagina che si muova a sinistra. Bene le il primo frame era un I-frame, puoi creare il secondo come P-frame. Dunque potresti 'dire': "prendi le informazioni dal frame #01 e muovilo tutto di 4 pixel a sinistra. Dopo aggiungi questi nuovi dati a destra". Ora abbiamo un P-frame.
- B-frame: sono semplicemente un estensione logica dei P-frame, con B intendiamo Bi-direzionali. B-frame sono predetti sia dai frame passati che futuri, e possono mantenere il contenuto originale. Finché non prendi dimestichezza con queste cose prendile per vere.
Piccolo focus sulla Differenza tra Standard e Codec:
- Standard sono una serie di specifiche che servono in qualità di descrizioni su come un formato video (o simili) dovrebbe lavorare.
- Encoder (o codec) sono implementazioni di uno standard.
- Hai capito la differenza? Significa che quando uno standard, come MPEG-4 ASP è prodotto, un numero di gruppi differenti producono i loro encoder, come DivX e XviD. Si, stai leggendo bene. Una codifica DivX produrra un file che potrà essere riprodotto dalo stesso decoder che è richiesto per il XviD. La vita reale non è mai cosi bella, e differenti encoder useranno funzioni differenti dallo standard, e ne aggiungono altre di loro. Un esempio pratico:
- Quicktime h264 usa solo le funzioni base definite dall'MPEG-4 AVC. Un encoder come x264 le usa tutte. Questo significa che avrai tempi difficile se vuoi fare un file in QuickTime di qualità uguale ad un file x264.
MPEG
Da molto questo è il gruppo più comune di standard per i formati video, sono questi pubblicati da lgruppo MPEG (Motion Pictures Experts Group). Alcuni formati sono elencati qui sotto.
MPEG-1
Probabilmente il più vecchio tra gli standard video che ancora esiste. Creato per salvare i video sui CD (VCD) ed altri apparecchi. L'uso più comune è a 352x240 @ 1.5mbits/sec, che è chiamata anche "Qualità VHS"
MPEG-2
Concepito per avere una qualità superiore dell'MPEG-1, ma a più alti bitrate. In altre parole, se si guarda per bitarate sotto 1.5mbits, ci sarebbe una minima differenza, ma per altri bitrate più alti, l'MPEG-2 darebbe sicuramente qualità migliori. Questo formato è quello usato nei DVD, SVCD e KVCD. Interessante anche per essere uno dei pochi formati video in cui uno spazio colore diverso da YV12 è visto allo stato originale, l'MPEG2 a volte utilizza YUY2.
MPEG-4 SP
SP sta per Simple Profile.
Un ritaglio della versione MPEG-4 ASP descritta qui di seguito. Rimuove molte delle più belle funzioni e inoltre ora è quasi obsoleta. Alcune nome celebri tra gli ecnoder sono Sorenson (usato in QuickTime) e 3ivx. Microsft ha provato a produrre un'implementazione di questo codec (come Microsoft Video V1/V2) ma non furono conformi e furono quasi ignorate del tutto.
MPEG-4 ASP
ASP sta per Advanced Simple Profile.
Da molto è il formato più comune e usato per filmati e animazioni. Le due più grandi implementazioni sono DivX e XviD. Le richieste di CPU per questi codec sono basse in confronto ai pc ora in circolazione, e la qualità di prodotto è ancora ragionevole.
Implmentazioni comuni:
- XviD: La migliore implementazione in circolo, e probabilmente migliore delle altre versioni commerciali. Praticamente supporta tutte le cose delle specifiche ASP. Decisamente è il migliore tra questi.
- DivX: Spesso usato dai principianti che si avvicinano alla codifica, ma generalmente XviD è molto migliore a livello di risultati. Ricorda che il player che integrano nel pacchetto NON serve a nulla, è solo una sorta di specchio per le allodole.
- LMP4: Forma contratta di Libavcodec MP4, un encoder simile a XviD, ma la qualità è inferiore. Implementato in mencoder e in alcune altre parti.
MPEG-4 AVC
AVC sta per Advanced Video Coding.
Wikipedia ha un interessante articolo sull'MPEG4-AVC in inglese (completo) e in italiano (parziale), codec detto anche h264, oppure AVC. Il prossimo passo è la compressione video MPEG dopo l'MPEG4-ASP. Fornisce notevoli miglioramenti nella compressione (un opzione singola può portare a un aumento dell'efficienza del 20%).
Implementazioni comuni:
- x264: Molto simile all'XviD - è l'unico encoder di questo standard ad essere Open Source, ed molto meglio degli altri encoder commerciali. L'x264 supporta molte delle opzioni di profilo alto (vedi la pagina Wikipedia per associare le funzioni con il relativo livello di profilo QUI). L'encoder per eccellenza di alta qualità per uso personale, anche perchè è l'unico encoder CLI ad essere stato reso disponibile al pubblico, e da non dimenticare ciò che detto in precedenza, supporta la maggiorparte degli aspetti delo standard e codifica nel miglior modo in termini di qualità. Questa è la sua homepage: x264.nl, cerca MeGUI, queste sono le wiki per usare il programma GUI per codificare.
- Nero AVC: Il secondo miglior codec pubblicamente disponibile. Ha meno della metà delle opzioni dell'x264, ma include una bella interfaccia grafica che aiuta gli utenti alle prime armi a fare le scelte giuste, anche se il prodotto finale è inferiore a quello ottenuto con l'x264. E' parte della Nero Suite, questa è la homepage: nero.com
- Apple h264 Il peggiore tra questi, anche se rimane un po meglio dell'XviD. Maggiori informazioni sui profili usati Qui (inglese). Homepage: apple.com/quicktime
h26_
Il set di specifiche video sviluppate dall'istituto di standard ITU-T.
h263
Fondamentalmente un sottogruppo dell'MPEG4-ASP. Spesso lo si trova nel contenitore .3gp per telefoni mobili.
h263+
h263 con alcune aggiunte più varie. Alcune delle aggiunte non sono compatibili con l'MPEG4-ASP. Questo vuol dire che l'h263+ è più raro dell'h263, lo si trova in software proprietari, e in alcuni telefoni mobili (contenitori .3gp).
h264
Un altro nome per dire MPEG-4 AVC.
Snow
Un codec 'sperimentale' che usa un metodo di immagazzinamento del video totalmente diverso dagli altri. La qualità probabilmente si aggira intorno a quella dell'xvid. Apparentemente c'è un alto potenziale dietro questo tipo di compressione - un ex sviluppatore dell'x264 che adesso sviluppa questo codec sostiene che farà strada.
Un ultimo aspetto molto interessante è che dato che i dati sono immagazzinati differentemente rispetto agli altri, anche gli artefatti che si verificano quando l'encoder riduce la qualità sono totalmente diversi.
La discussione riguardo a questo in doom9 (tipic inattivo e in inglese)
Theora
Un codec gratuito che fu creato quando fu rilasciato il codice sorgente del VP3 da On2 e lo rese disponibile per utilizzi liberi. Lo sviluppo è abbastanza lento, vicino all'essere fermo. Il più grande vantaggio di questo formato è che è completamente gratuito per ogni tipo di utilizzo. Lo svantaggio è che la qualità comparata con gli ultimi codec è inferiore e inoltre gli unici player in windows che lo leggono sono ffdshow / VLC / mplayer. Complessivamente si colloca nella stessa posizione del VP3, che si piazza leggermente sopra l'MPEG-1 ma di molto sotto gli ultimi codec come l'MPEG-4 AVC o il VC-1
On2
On2 è una compagnia che fa specifiche e codec video e le sviluppa. Dato che sono una compagnia privata, le specifiche che fanno sono private e chiuse al pubblico. Hanno tre video codec.
VP3
Vecchio, raro, praticamente non usato. Era basato sul codec Theora, e la qualità è simile a quella dell'MPEG-1.
VP6
Il codec successivo al VP3, che è diventato uno dei codec ufficiali del formato Video Flash (.flv), e che può essere decodificato dal Flash. E' usato, anche se invece la maggiorparte degli utenti ha usato h263. Adesso che l'MPEG-4 AVC è un formato supportato dai Video Flash, questo sparirà lentamente.
VP7
L'ultimo codec di On2, loro sostengono che la qualità ottenuta è simile a quella dell'MPEG-4 AVC e del VC-1. Nessuno si è mai interessato a questo codec da testarlo e fare paragoni. C'è un encoder/decoder gratuito nel loro sito.
WMV
Il gruppo di codec Windows Media Video, sviluppato da Microsoft. Leggi l'articolo su Wikipedia (inglese) per maggiori informazioni sui vari formati (incluso VC-1) che ha formato la famiglia dei WMV. Generalmente gli unici encoder er tutti questi standard sono quelli ufficiali Microsoft.
MS MPEG, Microsoft Video, etc
Una varietà di modifiche datate alle specifiche dell'MPEG ufficiale (maggiormente), che esistette da prima che il nome WMV nacque. Ormai non si vede in giro, ma ci sono encoder VfW per windows ancora in circolazione. Alcuni nomi di codec: Microsoft H.261/3 Video Codec, Microsoft Video 1/2, MS MPEG Video 1/2 (probabilmente uguale a quello prima).