Old:Teledidattica dell'Università degli Studi di Milano-Bicocca

Da Guide@Debianizzati.Org.
Versione del 10 nov 2014 alle 13:16 di Stemby (discussione | contributi) (ringraziamento; tolgo stub)
Vai alla navigazione Vai alla ricerca
Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

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 scaricare le presentazioni funziona senza problemi, gli utilizzatori di Debian (e non solo...) noteranno che, cercando di vedere il video di una lezione, riceveranno 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 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 ogni responsabilità legata all'utilizzo di questo software, assumendole 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 nel caso non lo si sia già fatto 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
$ ./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 <object class="ps-silverlight" [...] </object>, cliccando sul triangolino a sinistra.
  4. 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 agli 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