È già da un po’ di tempo che se ne parla, i siti di alcune delle maggiori televisioni (Rai e Mediaset) utilizzano la tecnologia Silverlight per pubblicare molti video che si possono (ri)vedere online. Si tratta di un sacco di programmi, fiction, telegiornali, eccetera forniti direttamente dalle suddette reti televisive, quindi si tratta di uno streaming perfettamente legale.
Il problema è che Silverlight è una tecnologia proprietaria di Microsoft che non è molto ben supportata da Linux. È vero, esiste il progetto Moonlight (sostanzialmente fermo), il quale però non supporta a pieno la riproduzione dei video di questi portali. Inoltre non è possibile scaricare le puntate offerte con tecnologia Smooth Streaming allo stesso modo in cui si fa solitamente con i siti che pubblicano video in Flash. Perciò tutto questo complica usi perfettamente legittimi (e prevedibili) dei video, come ad esempio poterli guardare in treno senza avere un computer con connessione 3G.
Per Linux esiste un progetto chiamato smooth-dl
, realizzato da Antonio Ospite, un prolifico sviluppatore di software libero. Per i dettagli sul progetto e la tecnologia di Smooth Streaming, vi rimando al suo articolo che è scritto molto meglio di quanto potrei fare io.
Smooth-dl è però ancora in uno stato “non perfetto”, nel senso che non supporta tutti i siti che offrono video con questa tecnologia, ma lavora bene con il sito Rai. Esiste un software più completo chiamato ismdownloader, che però è realizzato per Windows. Perciò ho deciso di realizzare uno script che “maschera” il programma sotto Wine, e arricchisce la visualizzazione dello stato del download calcolando la percentuale rimanente e mostrandola a video. Di seguito vi spiegherò come effettuare la prima configurazione e poi usare lo script. Se volete fare la stessa cosa usando Mac OS X leggete la guida dedicata.
Creare l’ambiente Wine
Per evitare di “far confusione” e mischiare il programma che useremo per il download con altri eventuali software che girano sotto Wine, vi farò creare un “contenitore” personalizzato con una copia a se stante del disco “C:” simulato. Per prima cosa quindi nel terminale create la directory, dichiaratela come il prefisso di Wine che andrete ad utilizzare e poi “forzate” Wine all’uso dell’architettura a 32bit:
mkdir -p $HOME/.smoothwine export WINEPREFIX=$HOME/.smoothwine WINEARCH=win32 winecfg
Appena finisce di creare la configurazione e vi apre la finestra di Wine, potete chiuderla e proseguire. A questo punto vi servirà Winetricks, che solitamente (perlomeno su Ubuntu) viene installato assieme a Wine, altrimenti provvedete ad installarlo dal vostro gestore di pacchetti. Winetricks si occuperà di scaricare l’ambiente .Net Framework, che servirà poi ad eseguire il programma per il download vero e proprio dei video:
winetricks dotnet20
Seguite la semplice procedura nella finestra che si aprirà e .Net verrà installato. Ora non vi resta altro da fare che cliccare questo link e salvare il file EXE, per poi copiarlo nella cartella che potete aprire usando questo comando:
xdg-open $WINEPREFIX/drive_c
Questo termina la configurazione di Wine. Giunti a questo punto potete procurarvi una copia dello script smooth.sh
col comando seguente, che lo salva nella vostra cartella home:
wget "http://cl.ly/code/3d063j2H1p1M/smooth-lin.sh" -O $HOME/smooth.sh chmod +x $HOME/smooth.sh
Ovviamente se volete potete spostarlo dove vi pare, l’importante poi è richiamarlo correttamente.
Scaricare i video in Smooth Streaming
La parte di configurazione di cui sopra andrà fatta solo la prima volta, in seguito potete limitarvi all’utilizzo dello script come segue. Supponendo che lo script sia nella vostra home e la vostra directory corrente nel terminale sia altresì la medesima cartella, potete semplicemente richiamarlo come segue:
./smooth.sh "http://url/del/manifest" "nome"
Il primo parametro sarà l’URL del cosiddetto file “manifest” relativo al video. Qui viene il problema: ogni pagina web avrà un manifest diverso, e il metodo per ricavarne l’URL varia da sito a sito. Per questo motivo non posso dirvi dettagliatamente come fare a trovarlo in generale, perché la spiegazione sarebbe molto lunga. Per certi siti come quelli di Rai e Mediaset ci sono già delle indicazioni in rete, in ogni caso questo sarà oggetto di un mio prossimo articolo, dedicato appositamente a scovare gli URL dei video online.
Il secondo parametro è il nome (preferibilmente senza spazi) desiderato per il file video (senza estensione). Una volta terminato il download, il video verrà salvato nella vostra home con estensione MKV. Sebbene il contenitore sia Matroska, la codifica vera e propria di audio e video dipende soltanto dal sito web da cui scaricate, quindi potrebbe variare. In ogni caso con VLC e gli opportuni codec dovreste riuscire a visualizzare tutto e potete sempre convertire i video con Arista Transcoder.

Note finali
Come ogni cosa, anche lo script ha i suoi limiti. Il download non si può mettere in pausa, perché il programma originale non lo permette, e ogni tanto succede che l’eseguibile sotto Wine vada in crash. In generale comunque funziona bene, e avendo aggiunto il calcolo della percentuale (non presente in origine) penso di averlo reso abbastanza gradevole anche dal punto di vista estetico. La codifica del video finale è un po’ un terno al lotto, ma quasi sempre non crea nessun problema con VLC.
L’unico difetto visibile dei video è la presenza sporadica di lievissime macchioline nere, ma a dire il vero non so se imputare la cosa al programma che si occupa del download oppure al sito web che fornisce i video. In definitiva comunque i risultati sono buoni e con una risoluzione niente male. Il prezzo da pagare è l’uso di Wine e di qualche componente proprietario, ma d’altronde abbiamo a che fare con tecnologie Microsoft ed è difficile evitarlo del tutto.
Un’altra cosa (facilmente sistemabile) è che gli MKV prodotti possono dare problemi con l’avanzamento veloce e il riavvolgimento. Leggete questo articolo per sapere come risolvere. 😉
Spero di poter finire presto anche il post dedicato a “scovare gli URL” in modo da poter completare questa serie di articoli sul salvataggio dei video, che sembrano essere i più gettonati nel blog. Che ne pensate dello script? Vi tornerà utile?