Teledidattica dell'Università degli Studi di Milano-Bicocca

Da Guide@Debianizzati.Org.

Emblem-important.png Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica.
Per l'anno accademico 2015-16 sono state apportate modifiche sul portale della Bicocca. Silverlight sembrerebbe essere stato abbandonato a favore di un player in Javascript, ma usando Iceweasel o Epiphany i video non si riescono a vedere; con Chromium invece funziona bene. Chiunque riuscisse ad individuare esattamente quale sia il problema, e avesse qualche dritta da dare per aggirarlo, faccia un fischio!

Indice

Introduzione

L'Università Bicocca mette a disposizione degli studenti (per lo meno di alcuni corsi di laurea, tra cui Scienze infermieristiche) un portale da cui è possibile consultare il materiale didattico presentato durante le lezioni.

Se si riesce a scaricare le presentazioni senza problemi, gli utilizzatori di Debian (e non solo...) noteranno che, cercando di vedere il video di una lezione, visualizzeranno soltanto un'icona di attesa.

Analizzando il sorgente HTML si riesce facilmente a comprendere la ragione: i video del portale si basano sulla tecnologia Microsoft Smooth Streaming (Silverlight).

Con un po' di hacking è però possibile tamponare questo problema. Vediamo come.

Downloader

Per scaricare il video useremo questa versione di smoothget. È possibile scaricarla via Git (opzione preferibile per gli sviluppatori) o, più semplicemente, sotto forma di un archivio ZIP cliccando sul bottone in basso nella colonna a destra.

Warning.png ATTENZIONE
Tecnicamente non si tratta di software libero: non è infatti indicata la licenza; è possibile però studiare il codice sorgente.

L'utilizzatore di questo software solleva Debianizzati e gli autori di questa guida da tutte le responsabilità legate all'utilizzo di questo software, assumendosele in prima persona.


Occorre apportare una piccola modifica al software, che altrimenti darà errore con i video della Bicocca; nello specifico bisogna disabilitare un controllo commentando alcune righe del codice sorgente. Per far questo è sufficiente aggiungere due barre davanti ad alcune righe, contenute nel file src/Smooth.cs presente nella directory che si ottiene una volta estratto l'archivio ZIP.

Si cerchino dunque queste quattro righe:

            if (this.Index != index)
            {
                throw new Exception("Missing quality level index: " + index);
            }

e le si modifichi così:

            //if (this.Index != index)
            //{
            //    throw new Exception("Missing quality level index: " + index);
            //}

Ora si compili il programma. L'unico prerequisito è mono-gmcs, che si può comodamente installare via APT:

# aptitude install mono-gmcs

Si entri dunque nella directory compile-mono e si lanci la compilazione:

$ cd compile-mono
$ chmod u+x compile.sh
$ ./compile.sh

Otterremo il nostro programmino nella stessa directory. Per comodità possiamo spostarlo in /usr/local/bin/, cosicché sia possibile lanciarlo da qualsiasi directory:

# mv smoothget.exe /usr/local/bin/

A questo punto, volendo, si può cancellare tutto il resto del materiale scaricato.

Scarichiamo!

Una volta che abbiamo il downloader installato, bisogna cercare il file manifest da dargli in pasto.

Per far questo occorre analizzare il codice HTML della pagina in cui compare l'icona di attesa. È possibile farlo da tutti i principali browser; come esempio vediamo come procedere usando Chromium.

  1. Cliccare col tasto destro vicino (non sopra) all'icona di attesa.
  2. Cliccare su "Ispeziona elemento".
  3. "Srotolare" la parte di codice contentente <div id="myVideoContainer" [...]>, cliccando sul triangolino a sinistra.
  4. "Srotolare" la parte di codice contentente <object class="ps-silverlight" [...] </object>, cliccando sul triangolino a sinistra.
  5. Dalla riga <param name="InitParams" [...]> copiare l'URL del file manifest

Sarà qualcosa del genere:

http://infermieristica.bicocca.fabbricadigitale.it/[...].ism/manifest

Ora è sufficiente posizionarsi nella directory in cui si vuole scaricare il video, e lanciare:

$ smoothget.exe URL .

con al posto di "URL" il link appena copiato. Il punto alla fine dice a smoothget che si vuole scaricare il video nella directory locale.

Ci vorrà probabilmente qualche minuto per scaricare il video; una volta terminato, si troverà nella directory indicata un file Matroska (MKV) che si potrà vedere usando un player multimediale come VLC.

Conclusione

Questa procedura funziona perfettamente con i video delle lezioni finite; al momento non si è invece trovato un sistema per visualizzare quelle in diretta streaming.

Resta infine il grande mistero sulle ragioni che abbiano spinto il webmaster ad utilizzare una tecnologia che (per fortuna) non si è mai diffusa, che è abbandonata da anni da Microsoft stessa, e che è disponibile solo per gli utenti Windows e Mac OS (tagliando dunque fuori, oltre a tutti gli utilizzatori di sistemi GNU/Linux, anche tutti gli utenti Android e iOS) previa installazione di un plugin che con ogni probabilità si vorrebbe fare a meno di installare.

Non sarebbe molto meglio affidarsi al tag <video> di HTML5, da tempo supportato nativamente da tutti i principali browser?

Ringraziamenti

Ringrazio di cuore Andrea Lazzarotto per il prezioso aiuto nel mettere a punto l'hacking descritto in questa guida.

Approfondimenti




Guida scritta da: Stemby

Swirl-auth20.png Debianized 20%

Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized

Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti