Martedì 16 Ottobre 2007

Dalla digitalizzazione della TV ......a Vcast.it: la TV da "scaricare"

Esistono diversi modi per convertire un programma televisivo in digitale, o più in generale per avere un video di origine TV, in formato numerico.
Come è noto, disporre di un flusso audio video in formato binario, garantisce la riproducibilità e la copia senza alcuna perdita di qualità a differenza di quanto succede nelle registrazioni analogiche su nastro, tipicamente VHS. Gli innumerevoli vantaggi del digitale si scontrano, però, con un inconveniente tutt'altro che trascurabile: il danneggiamento del supporto, magnetico (HD) o ottico (CD, DVD...) su cui è memorizzato il video può comportare la totale impossibilità di recuperarlo. Al contrario al danneggiamento e al naturale deterioramento di una VHS, consegue normalmente un peggioramento della qualità che può essere anche trascurabile.
E' esperienza comune rivedere un VHS di 10-15 anni fa senza evidenti problemi di invecchiamento; è aimè altrettanto comune la impossibilità di leggere un Cd o un DVD masterizzato solo 2-3 anni prima. Se la vita media di un supporto ottico conservato in un ambiente "controllato" può tranquillamente superare i 20-30 anni, al contrario può bastare l'esposizione al sole per pochi minuti (vedi un Cd appoggiato su di un tavolino vicino ad una finestra) per rendere il contenuto del supporto completamente illeggibile. Riguardo ai supporti magnetici basta considerare come il crash di un Hard Disk è spesso inaspettato, repentino...e irreversibile.
Tutta questa premessa, solo per ricordare come per usufruire senza sorprese dei vantaggi del digitale (copia senza perdita di qualità e nessun deterioramento nel tempo), occorre pianificare con intelligenza la ridondanza dei dati: detto in altri termini, per registrazioni di reale interesse, occorre predisporre delle copie di back-up che periodicamente dovrebbero essere verificate e replicate.
Come dicevo, esistono diverse maniere per registrare in digitale la televisione e tutte si possono ricondurre a due tipologie: digitalizzazione di sorgenti TV analogiche e Grab di flussi audio video digitale.
Alla prima categoria appartengono due famiglie di apparati: registratori su DVD e Hard Disk da "salotto" e tutta una serie di TV tuner all'interno di computer.
Riguardo i registratori "da salotto", i limiti più ricorrenti riguardano spesso la bassa qualità del segnale analogico che sommata ai limiti di certi encoder Hardware (che non riescono a competere con la qualità di quelli software), producono digitalizzazioni non sempre di qualità elevata; esistono ovviamente eccezioni, in cui filtri di riduzione di rumore associati a encoder di qualità producono digitalizzazioni di tutto rispetto. Il secondo limite dei registratori digitali "da salotto" lo si identifica nell'ambiente di editing non sempre efficiente ed immediato nell'utilizzo: del resto il telecomando non è stato pensato per fare editing non lineare.
La digitalizzazione su pc tramite tuner analogico viene effettuata attraverso l'utilizzo di una delle innumerevoli schede (interne o esterne collegate tramite USB 2.0) i cui prezzi sono abbondantemente sotto i 100 Euro.
Il problemi legati all'utilizzo di tale schede sono però innumerevoli. Prima di tutto c'è la difficoltà, spesso insormontabile, di collegare il pc ad una presa della antenna normalmente utilizzata in casa: le antennine portatili da collegare direttamente al computer, garantiscono ricezioni accettabili solo in assenza di ostacoli, tipicamente negli "spazi aperti".
Il secondo problema riguarda la qualità spesso insufficiente dei software normalmente forniti in bundle con la scheda: al di là della qualità di tali encoder software che devono effettuare la digitalizzazione in tempo reale utilizzando le spesso limitate risorse di calcolo del computer, il problema più grosso che si manifesta con la quasi totalità di tali programmi, è la perdita del sincronismo audio video su digitalizzazioni di lunga durata.
Normalmente per avvertire tale problema possono bastare dei ritardi o anticipi dell'audio di 30-40 ms, ovvero il tempo di due semiquadri (1000 ms/50 fps) di un filmato interallacciato: possono bastare digitalizzazioni di poche decine di minuti per creare uno sfasamento che progressivamente supera tali valori tanto da rendere il filmato inguardabile. Correggere tali imperfezioni non è banale poiché, identificato con esattezza il ritardo (cosa tutt'altro che semplice) occorre demultiplexare il flusso audio video e operare con un software di editing sull'audio mediante una filtro di stretching che ne modifica la durata, possibilmente mantenendo inalterata la tonalità. Un software freeware in grado di fare una operazione di stretching sull'audio è VirtualDub: ciò è possibile a partire dalla versione 1.72 mediante l'opzione "use advanced filtering" all'interno del menù audio. Tale operazione è fattibile ma non alla portata di tutti, anche perchè spesso il flusso audio-video è in Mpeg, e dopo il demultiplexing e prima del successivo multiplexing, occorre prevedere una ricompressione dell'audio dopo la sua modifica che ovviamente avviene in formato non compresso. Prossimamente cercherò di realizzare una mini guida per risolvere le problematiche di questo tipo.
La causa dello sfasamento tra l'audio e video è dovuta alla errata supposizione da parte del software che la frequenza di digitalizzazione dell'audio e del video siano esattamente quelle impostate. Se ad esempio si digitalizza la TV nel classico formato MPEG PAL, il software presuppone che il video venga digitalizzato con la cadenza di 50 frame al secondo e che l'audio digitalizzato esattamente a 48000 Hz. In realtà in mancanza di un Hardware sulla scheda che verifica e compensa le approssimazioni sul clock, la reale frequenza di campionamento è diversa da quella impostata. Se ad esempio l'audio viene digitalizzato in media a 47970 Hz dopo circa mezz'ora di filmato, si avrà uno sfasamento di un secondo.
Esistono alcuni software che riescono a mantenere intatto il sincronismo mediante il monitoraggio della reale frequenza di campionamento, così da conoscere e poi compensare gli sfasamenti. Per l'audio basta semplicemente contare i campioni che la scheda di digitalizzazione fornisce. Valutato l'errore ci sono due possibili modi per risolvere il problema: li vediamo in breve..
Software come VirtualDub, intervengono ogni volta in cui si accumula uno sfasamento o anticipo pari ad un fotogramma: nel caso di video PAL, ogni 40ms (1000 ms/25 fps) ovvero ogni errore di 1920 campioni di audio a 48000 Hz (48000/25). Tale errore viene compensato duplicando un fotogramma o eliminandone uno, a secondo, rispettivamente di un posticipo o anticipo dell'audio.
Un approccio opposto viene realizzato da software come il freeware VirtualVCR che operano ricampionando in tempo reale l'audio, aggiungendo o eliminando tramite interpolazione campioni audio, così da compensare la imprecisione della frequenza di campionamento.
In base a delle prove effettuate (3 ore di TV analogica in Divx), entrambi i software citati riescono a garantire un sincronismo perfetto, anche se entrambi sono tutt'altro che immediati nella scelta dei parametri.
La digitalizzazione della TV tramite tuner analogico, da un po' di tempo sta lasciando posto al Grab di trasmissioni DTT (digitale terrestre) e DVB-S (TV satellitare). Tali standard utilizzano il formato video Mpeg 2 (raramente Mpeg1) che tramite software è possibile trasferire, identico bit a bit, sul proprio computer. In realtà lo standard di trasmissione del DTT e del DVB-S è l'MPEG Trasport Stream che prevede l'utilizzo di ulteriori dati che oltre alla sincronizzazione dei vari flussi, tra le altre cose, garantiscono la rivelazione di eventuali errori di trasmissione. I software che prelevano tale flusso audio video, eliminando i dati supplementari, estraggono il filmato che, in mancanza di errori di trasmissione, è identico a quello trasmesso: naturalmente il problema della progressivo deterioramento del sincronismo è inesistente.
La qualità delle trasmissioni del digitale terrestre e satellitari, varia a secondo delle "politiche" di chi trasmette: a parità di bit a disposizione, è possibile inserire un numero maggiore di canali a discapito della qualità: normalmente la qualità dei canali in chiaro più importanti (Rai, Mediaset, La7..) è più che sufficiente anche se non certamente eccelsa. In tutti i casi il risultato ottenibile è quasi sempre superiore a quella di un segnale Tv analogico successivamente digitalizzato. Il filmato MPEG "grabbato" è utilizzabile senza ulteriori elaborazioni, oltre che su computer, anche con i recenti lettori DVD da salotto, che sono spesso in grado di visualizzare filmati Mpeg 1 e 2 memorizzati su supporto ottico. Tramite Pc è ovviamente possibile elaborare tale filmato, per modificarlo e/o convertirlo.
Riguardo la qualità, occorre considerare come la larghezza di banda di una frequenza adibita alle trasmissioni in Digitale Terrestre è di circa 24 Mbit/s. E' così possibile trasmettere un numero variabile di canali con la condizione che in un qualsiasi istante il bitrate complessivo non deve superare tale valore. Ipotizzando che la compressione in tempo reale è effettuata da encoder Mpeg di elevata qualità, per poter garantire un video comparabile a quello di un buon DVD (diciamo circa 6 Mbit/s) non si dovrebbero trasmettere più di 4 canali per frequenza. In realtà, se si da una occhiata alla situazione attuale italiana, per ciascuna frequenza sono inseriti da 6 a 8 canali con un decadimento della qualità in certi casi anche molto evidente.
La sempre maggior presenza sul territorio italiano di connessioni veloci ADSL, sta rendendo Internet un metodo semplice e immediato per visionare e scaricare la TV. Tale rivoluzione soffre di un limite intrinseco che è la disponibilità di contenuti: se da un lato si moltiplicano i filmati presenti sui vari portali video (vedi rai.tv) e sono sempre più numerosi gli "spezzoni" video memorizzati sui vari siti di videosharing (vedi Youtube), allo stato attuale nessuna delle varie TV presenti in Italia, dispone di  un servizio  in grado di fornire a richiesta e a pagamento, una  qualsiasi trasmissione del proprio palinsensto, magari anche del passato. L'altro limite deriva dalla difficoltà nel memorizzare e archiviare certi filmati trasmessi in streaming e protetti dal download: a riguardo c'è da dire che esistono numerosi software in grado di superare, nella quasi totalità dei casi, tale ostacolo.
Riguardo la qualità di tali filmati, le esigenze di risparmio di banda e l'utilizzo di codec di compressione non recentissimi (vedi l'On2 utilizzato nel formato Flash video, FLV) per "tradizione " hanno limitato la risoluzione alla classica 320x240 o al massimo alla risoluzione 352x288 dell'obsoleto VideoCD. In futuro la qualità tenderà sicuramente a migliorare grazie alla disponibilità del codec H.264, tra breve utilizzabile con il Flash Player, che con bitrate attorno al megabit, riuscirà a garantire video di qualità anche a risoluzioni più elevate  quale la 640x480 o la 720x576.
Nell'ottica dell'integrazione tra la Televisione e Internet, quella che generalmente viene chiamata IPTV, è da qualche mese on line un servizio di Videoregistrazione Digitale Remota, attualmente in fase beta, proposto dal sito www.vcast.it sotto il nome di Faucet PVR (Personal Video Recorder). Consiste nella possibilità di richiedere la registrazione di uno o più programmi televisivi in formato digitale indicando canale TV, intervallo di registrazione e formato video: dopo un tempo variabile che dipende dallo stato di carico dei server adibiti al servizio, la registrazione sarà disponibile per il download che potrà avvenire al massimo dopo tre giorni, scaduti i quali verrà cancellato.
Per poter accedere a tale servizio gratuito occorre registrarsi, dichiarando di essere in regola con l'abbonamento RAI. Tramite il proprio account (username e password impostate in fase di registrazione) si accede ad una pagina personale da cui operare.

Vediamo in breve i parametri da settare.

Tipo di Registrazione TV o Radio
Emittente

Riguardo la TV è possibile scegliere tra 29 emittenti, lista che contempla la quasi totalità delle televisioni in chiaro più importanti.
Dal 9 ottobre 2007, a causa di una diffida da parte di Mediaset, sono state disabilitate le registrazioni di Rete4, Canale5, Italia1 e Boing: della questione ne parlo nella parte finale dell'articolo. Da segnalare come a causa di una cattiva ricezione del segnale del Digitale Terrestre, viene utilizzata per La7 la sorgente video analogica: per le altre viene utilizzato un segnale digitale, Sat o digitale terrestre (DVB-S e DTT). Le registrazioni di La7 hanno pertanto una qualità leggermente inferiore a causa della presenza dei leggeri disturbi tipici della TV analogica. Segue l'elenco completo.


 

Giorno, orario,  frequenza e titolo

La scelta del giorno e orario di registrazione si effettua tramite comodi menù a tendina: è possibile predisporre delle registrazioni nel futuro e/o periodiche (ogni giorno, ogni settimana, da Lun a Ven e da Lun a Sab). Quest'ultima opzione, settabile dal menù frequenza, è utilissima ad esempio per serie TV a cadenza quotidiana o settimanale.


Per ciascuna registrazione è possibile scegliere un titolo: questo sarà visualizzato nei primi 5 secondi del filmato, insieme al nome dell'utente, data, canale e orario di inizio della registrazione.

Download

Al termine della registrazione, dopo un periodo che varia a secondo dell'occupazione dei server adibiti alla compressione dei video, è possibile visualizzare e/o scaricare il filmato.


Poiché non è prevista la visualizzazione in streaming, cliccando su play occorre in tutti i casi aspettare il download del filmato. Il mio consiglio è quello di fare un click destro su  (salva oggetto con nome) per scaricare il video e memorizzarlo  in locale.

Riguardo il formato delle registrazioni digitali, è possibile scegliere tra quattro possibili tipi di compressione, ciascuno pensato per un particolare dispositivo: Ipod, 3GP, PSP, AppleTV. Vediamo le caratteristiche:

Formato Container Risoluzione FPS Compressione Video Bitrate Video Medio Compressione Audio Bitrate Audio
Ipod Mpeg 4 320x240 25 Mpeg 4 part 2 ASP 480 Kbit/s MPEG-4 AAC LC Stereo 48Khz 78 Kbit/s
3GP 3GPP Media 176x144 10 H.263  64 Kbit/s AMN-Narrowband -Mono 8 KHz 12 Kbit/s
PSP Mpeg 4 for SonyPSP 320x240 25 Mpeg 4 part 2 ASP 480 Kbit/s MPEG-4 AAC LC Stereo 48Khz 78 Kbit/s
AppleTV Mpeg 4 640x480 25 Mpeg 4 part 10 H.264/AVC 1200 Kbit/s MPEG-4 AAC LC - Stereo 48Khz 100 Kbit/s

La qualità del flusso audio-video è ovviamente condizionata dal formato utilizzato: per il video, fissata la risoluzione, il tipo di codec impiegato e i valori di bitrate da soli non definiscono in assoluto la qualità complessiva, in quanto un ruolo fondamentale lo ha il Software o l'Hardware con cui è effettuata la compressione. Per l'audio, i margini di operatività dell'encoder sono più rigidi e pertanto la qualità è meno vincolata alla efficienza della implementazione dell'encoder.
Riguardo la qualità del video, il formato Mpeg4, nelle sue varianti ASP e H.264/AVC, lascia all'encoder una grossa libertà nell'implementare i vari passaggi con cui è realizzata la compressione, la cui sintassi è rigidamente formalizzata dagli standard, a garanzia della compatibilità in fase di riproduzione. Senza entrare troppo nel dettaglio, dove una buona o cattiva implementazione del software condiziona pesantemente la qualità finale del video compresso, è la delicata fase della compensazione del moto, ovvero la ricerca della similitudine tra blocchi di pixel tra fotogrammi successivi.
Se nell'Mpeg4 part 2 ASP (Advanced Simple Profile), ovvero il codec utilizzato nei Divx e negli Xvid, la compensazione del moto viene effettuata tra blocchi di luminanza di 16x16 pixel e crominanza di 8x8 (come per l'Mpeg 1 e 2), nello standard Mpeg4 part 10 H.264/AVC la dimensione di tali blocchi è variabile; per la luminanza questi possono essere di 16x16, 16x8, 8x16 o 8x8 pixel , mentre per la crominanza tali blocchi possono essere di 8x8, 4x8, 8x4 o 4x4 pixel.
In pratica l'encoder che effettua la compressione, nell'Mpeg4 AVC ha la possibilità di cercare la similitudine di blocchi non solo di dimensione variabile ma anche più piccoli rispetto a quanto succede nell'Mpeg 1-2 e 4 ASP: se da un lato si ottengono risultati qualitativi molto elevati, anche in presenza di piccoli dettagli (le "alte frequenze" video) , il prezzo da pagare per ottenerli è un incremento della complessità computazionale da parte del software che effettua la compressione. Naturalmente tale software, se non ottimizzato o se configurato in modo da minimizzare i tempi di calcolo, può sfruttare solo in parte le potenti opzioni di compensazione del moto offerti dallo standard, ottenendo un video perfettamente compatibile con la sintassi dell' Mpeg 4, ma poco ottimizzato, ovvero con maggiori artefatti.
Analizzando i file video prodotti da Vcast, vista la mole di filmati da creare, è ragionevole ipotizzare che è stato scelto un compromesso tra tempi di compressione e qualità. Per velocizzare i tempi di calcolo, in tutti e 4 i formati, non sono utilizzati frame di tipo B (nella sintassi dell'Mpeg4 B-VOP, Bidirectional Video Object Plane), ovvero i fotogrammi la cui compensazione è fatta cercando le differenze con fotogrammi immediatamente precedenti e successivi. L'utilizzo di B frame se da un lato garantisce un miglioramento della qualità a parità di bitrate, di contro  richiede un incremento dei tempi di calcolo: si spiega facilmente la scelta di non usarli. L'altra caratteristica, abbastanza insolita per lo standard Mpeg 4, è la presenza di GOP (gruppi di frame) fissi: il GOP (group of picture) , ovvero la successione tra fotogrammi chiave di tipo I (Intra Frame)  e quelli di tipo P (Predictional Frame) è sempre pari a IPPPPPPPPPPP, con i frame di tipo I, inseriti ogni 12 fotogrammi: la mancanza della flessibilità nell'utilizzo dei P e I frame, tende a sfruttare in maniera meno efficiente la ridondanza dei dati nei filmati più statici.
Come anticipato, la qualità dei filmati è più che buona, anche considerando i limiti visti: a parità di sorgente video e di caratteristiche di formato, con un encoder configurato per sfruttare ad esempio i B frame si sarebbe potuto ottenere un video di qualità leggermente superiore; in base alla mia esperienza con gli encoder Mpeg 4, posso dire che è stato utilizzato un ottimo compromesso in termini di qualità, considerando tra l'altro la potenza di calcolo che serve per comprimere i video sfruttando al massimo le caratteristiche del formato. Naturalmente non è da escludere, in futuro, un ulteriore miglioramento della qualità: del resto gli encoder Mpeg 4, ed in particolare quelli AVC, sono ben lontani dalla maturità, vista la relativa giovinezza dello standard.
Riguardo la compatibilità, questa è ottima: ho visualizzato i vari filmati Mpeg4 con il freeware VLC media player, con Media Coder Classic/FFDShow, Quick Time Player e Nero ShowTime senza alcun problema. Verificata anche la compatibilità tra lo standard AppleTV (H.264/AVC) con la Playstation 3.
Seguono due immagini, esplicative della qualità ottenibile: ho scaricando la medesima trasmissione nei 4 formati disponibili e ho preso ad esempio dei fotogrammi relativi ad una scena particolarmente dinamica (sigla con computer grafica in movimento) e statica (speaker su sfondo statico). Trovate 3 immagini di esempio, avendo verificato che i formati Ipod e PSP sono per qualità identici: cambia solo l'incapsulamento dei dati audio e video.
Click sotto, per le immagini Hi-Res.

   

Seguono dei brevi filmati della qualità ottenibile da Vcast, nel caso dei 3 standard disponibili: AppleTV, Ipod e 3GP. Poichè ad oggi, lo standard Mpeg 4 AVC non è ancora compatibile con il flash player (lo è nella nuova versione Beta e presumibilmente lo sarà nel prossimo aggiornamento ufficiale), per la visualizzazione nel browser, ho dovuto riconvertire i video in ON2 FLV, alla massima qualità (si ha un ulteriore incremento degli artefatti, di fatto trascurabile). Ho inserito anche gli spezzoni originali, che li potete scaricare e visualizzare con un player compatibile (ad esempio il freeware VLC media player o il Quick Time player)

Esempio AppleTV
(click per visualizzare)
Esempio Ipod
(click per visualizzare)
Esempio 3gp
(click per visualizzare)

Concludo con un accenno alle complicate questioni legali che ruotano attorno al servizio offerto da Vcast. Se consideriamo il "canale" Internet come un canale broadcast in cui un soggetto trasmette e chi desidera riceve e/o scarica, in tale ottica Faucet non ha il diritto nella distribuzione di contenuti televisivi. Lo ha ad esempio la Rai per le sue trasmissioni che non a caso sono in parte disponibili online sul suo portale: stesso discorso per la Mediaset per il suo palinsesto.
Ma allora il servizio offerto da Vcast.it è illegale? Interessante la opinione di Giorgio Bernardi, il CTO di Faucet che, pur cosciente della "fragilità" legale dell’iniziativa, ha una posizione molto precisa: la video registrazione online di Faucet VCR è assimilabile a quella fatta con un video registratore comprato in leasing. In entrambi i casi chi utilizza le registrazioni non possiede lo strumento, ma usufruisce solo di un servizio che in più  non è a fini di lucro ma assolutamente gratuito.
Non a caso ogni registrazione scaricata da Vcast è personalizzata sia con la schermata iniziale presente nei primi secondi del video e sia con una serie di tag presenti all'interno del file identificativi di chi ha richiesto la registrazione; due utenti che registrano la medesima trasmissione, ottengono pertanto due file diversi.
Allo stato attuale la Fininvest ha chiesto a Faucet di sospendere il servizio, che per i 4 canali Mediaset (IT1, CH5, Rete4 e Boing) è stato interrotto a partire dal 9 ottobre 2007: nel Blog di Vcast trovate maggiori dettagli e tra le altre cose gli indirizzi mail per esprimere eventualmente la propria opinione agli autori di Vcast e alla Mediaset stessa. Vcast nel frattempo sta ultimando un sistema da inserire all'interno delle registrazioni video, detto VHS 2.0. In pratica ogni registrazione verrà crittatografata e protetta; la lettura del contenuto sarà concessa al solo utente che ha richiesto la registrazione. VHS 2.0 è in pratica  un sistema di DRM, presumibilmente aperto, che renderà possibile per chi ha richiesto una videoregistrazione, di usare la sua copia del video solo per uso personale. Così Fauce diventerebbe di fatto un servizio di videoregistrazione ad esclusivo uso personale, senza la possibilità da parte degli utenti di distribuire o pubblicare il contenuto ottenuto via Internet.
Da parte mia l'augurio ai coraggiosi autori del servizio, di proseguire nel loro progetto, ovviamente sempre nel rispetto delle complicate leggi relative alle questioni dei diritti TV; spero che il prossimo sistema VHS 2.0, possa risolvere tali problematiche mantenendo la fruibilità dei contenuti da parte del proprietario delle registrazioni, dando all'utente la possibilità di decriptare i video per renderli perfettamente compatibili con i vari lettori capaci di leggere il formato Mpeg 4.