Come specificato nelle “condizioni di utilizzo e norme sulla privacy” di Ariel, è ASSOLUTAMENTE VIETATO condividere IN QUALSIASI FORMA qualsiasi sequenza di bit da Ariel. Questa guida è da ritenersi utilizzabile (legittimamente) solo per il proprio studio individuale; la responsabilità è totalmente personale. In nessuna circostanza gli autori, l'hosting o l'organizzazione possono ritenersi responsabili di illeciti commessi da altri.
IL CONTENUTO DI QUESTA GUIDA VIENE FORNITO “COSÌ COM'È”, SENZA GARANZIE DI ALCUN TIPO, ESPLICITE O IMPLICITE, IVI INCLUSE, IN VIA ESEMPLIFICATIVA, LE GARANZIE DI COMMERCIABILITÀ, IDONEITÀ A UN FINE PARTICOLARE E NON VIOLAZIONE DEI DIRITTI ALTRUI. IN NESSUN CASO GLI AUTORI O I TITOLARI DEL COPYRIGHT SARANNO RESPONSABILI PER QUALSIASI RECLAMO, DANNO O ALTRO TIPO DI RESPONSABILITÀ, A SEGUITO DI AZIONE CONTRATTUALE, ILLECITO O ALTRO, DERIVANTE DA O IN CONNESSIONE AL CONTENUTO DI QUESTA GUIDA, AL SUO UTILIZZO O AD ALTRE OPERAZIONI CON LO STESSO.
Il processo può essere eseguito tramite diversi metodi:
Il primo è un software creato appositamente per scaricare video da varie piattaforme Unimi inclusa Ariel. Quanto agli altri due, il secondo è più immediato ma permette di scaricare il video soltanto nelle dimensioni effettive, salvando in un file video lo streaming. Il terzo richiede maggiore abilità e conoscenze informatiche ma permette di personalizzare i parametri di download (ben descritti di seguito).
Come anticipato, unimi-dl è un software open source creato proprio per svolgere il compito di scaricare video dalle piattaforme Unimi. Il download e il procedimento di installazione e utilizzo sono ben descritti alla pagina GitHub del progetto, insieme a tutte le informazioni del caso e al codice sorgente.
Gli obiettivi di unimi-dl includono:
E' sufficiente scaricare dal Chrome Web Store l'estensione HLS Downloader.
Questa estensione visualizza solo i video per i quali è stato inizializzato il processo di caricamento: una volta attivata l'estensione navigare il portale Ariel e raggiungere il video interessato, quindi fare click su “Visualizza video” e nella finestra dell'estensione apparirà un nuovo elemento con il relativo tasto di download.
I video vengono elencati usando il loro nome originale senza alcun riferimento diretta alla sezione dal quale è stato scaricato, al termine del download è comunque possibile rinominare il file quindi è consigliabile procedere con ordine nel caso di download di più video.
Se non viene mostrato alcun elemento nella pagina dell'estensione ricaricare l'elenco con il pulsante in basso a destra.
Salta questa sezione se sai cosa vogliono dire i nomi H.264
, H.265
, AAC
. Se invece sei spaventato da queste sigle, leggi questa sezione per capirci il minimo.
La dimensione di un video è determinata principalmente da tre cose:
H.264
(più diffusa e supportata) e H.265
(di gran lunga la più efficiente).
La maggior parte delle videolezioni caricate su Ariel è in HD, codificate in H.264
e con un bitrate molto (troppo) alto. I file video pesano molto più del dovuto e gli studenti con connessioni deboli fanno fatica a usufruire delle registrazioni. Con le ottimizzazioni spiegate in questa guida, sarà possibile abbattere la dimensione dei file di 10 volte mantenendo la stessa qualità visiva.
ffmpeg è un potentissimo strumento di conversione e codifica video, utilizzato da terminale.
.7z
scaricato. A questo punto vanno modificate le variabili di ambiente per poter lanciare ffmpeg da terminale (promt dei comandi). Quindi eseguita l'estrazione, accedere alla cartella che di solito è “C:\Program Files”, copiare qui dentro la cartella estratta (in questo caso la cartella “ffmpeg-4.4-full_build”). A questo punto andare su impostazioni, cercare in alto “variabili” e cliccare su “variabili di ambiente relative al sistema”, andare su “Variabili d'ambiente”, sotto “Variabili dell'utente …” cliccare due volte su Path, cliccare su “Nuovo” e incollare “C:\Program Files\ffmpeg-4.4-full_build\bin”, importante che sia la cartella bin in fondo. Ora cliccare su ok, salva ecc… e quindi chiudere tutto, se avete fatto tutto correttamente, aprendo il prompt dei comandi, scrivendo ffmpeg
e cliccando invio, dovreste vedere la versione ecc… Se vi da errore (quindi esce una cosa come “non è riconosciuto come comando interno o esterno”, avete sbagliato qualcosa).Per utilizzare ffmpeg, devi aprire il “Prompt dei comandi” su Windows, il “Terminale” da macOS e il tuo migliore amico su Linux.
Se non sei di Informatica, non disperare: il terminale è in realtà abbastanza semplice da utilizzare. Scrivi un comando e premi invio per eseguirlo. Alcuni comandi utili che puoi provare fin da subito:
ls
(o dir
se sei su Windows) per visualizzare i file della cartella attuale. cd NomeCartella
per entrare in una cartella.cd ..
per andare “sopra” di una cartella.Ricorda che i comandi sono sempre case-sensitive: ffmpeg è una cosa, FfMpeG è tutt'altra.
La sintassi base di ffmpeg è la seguente:
ffmpeg -i input output
Dove input e output sono rispettivamente, indovina un po', i file di input e di output, completi di estensione.
Per esempio,
ffmpeg -i recita_di_natale.mov canzoni_natale.mp3
converte il file video recita_di_natale.mov
in un file audio canzoni_natale.mp3
. Potente, vero? Benissimo, ora sai usare ffmpeg e fare colpo sulle ragazze.
Le videolezioni su Ariel sono salvate in formato .m3u, che non è un formato di file video. È invece un indice di video che dice al browser (Chrome, Firefox, Safari, …) dove effettivamente reperire i file video. Questo perché le videolezioni su Ariel sono “spezzettate” in centinaia di frammenti di pochi secondi, per migliorare l'esperienza utente (oppure ostacolare chi scarica le lezioni, non lo sapremo mai). Fortunatamente, ffmpeg supporta questo formato quindi non c'è nessun problema.
Per reperire l'URL del file .m3u, premere con il tasto destro sul file video, quindi selezionare ispeziona.
quindi espandi il tag video (1) e copia il link blu che finisce con manifest.m3u (2):
Come scaricare il file .m3u? Con ffmpeg, appunto!
ffmpeg -i “URL” -c copy “nomefile.mp4”
Mettendo l'URL tra virgolette dove mostrato sopra, il file verrà scaricato da Ariel come nomefile.mp4 tale e quale: l'unico limite sarà la tua connessione.
Le registrazioni caricate su Ariel, specialmente quelle delle lezioni in presenza, sono codificate abbastanza male e occupano tantissimo spazio non necessario. Possiamo utilizzare le conoscenze appena imparate e ffmpeg per comprimere i file video mentre li scarichiamo. Il comando base è il seguente:
ffmpeg -i “URL” -preset slow -c:v libx265 -crf 31 -c:a aac -b:a 64k -ac 1 “nomefile.mp4”
Cerchiamo di capire i nuovi parametri aggiunti:
-preset slow
dice a ffmpeg di dedicare più tempo alla compressione del video per avere un risultato migliore. Puoi settarlo anche a fast
, superfast
e superslow
. -c:v libx265
, imposta la codifica video (da H.264) a H.265, per un miglior rapporto qualità/dimensione del file-crf 31
, imposta il Contast Rate Factor (CRF) a 31. In breve, il CRF è una combinazione tra bitrate e risoluzione. Con CRF 0 non si ha nessun tipo di compressione, con CRF 51 il video risulterà pesantemente compresso e probabilmente inguardabile. 31 è un buon compromesso, ma si può settare come si vuole.-c:a aac
, imposta la codifica audio a AAC, formato efficiente per la compressione audio.-b:a 64k
, imposta il bitrate audio a 64kb/s. Va benissimo per sentire lezioni e per la voce umana, considerare di alzare questo parametro se la fedeltà all'audio originale è importante.-ac 1
, imposta l'uscita audio come mono. Dimezza la dimensione della traccia audio e sistema errori comuni di registrazione.Consiglio di modificare i parametri solo se si sta davvero capendo quello che si sta facendo. La configurazione mostrata sopra è un buon compromesso tra compressione e qualità. In alcuni casi, la dimensione del file è stata ridotta di 10 volte.
Senza ulteriori configurazioni, ffmpeg utilizza il processore del tuo computer per codificare (in questo caso transcodificare) i file. Il processore è un dispositivo *general-purpose*, cerca di fare tutto ma non sempre lo fa bene. Se hai una scheda video dedicata (NVIDIA o AMD) recente puoi sfruttarla per codificare i video 5, 10, 15 volte più velocemente con l'accelerazione hardware.
Seguire questa guida ed installare i componenti necessari sul proprio sistema operativo. Una rapida ricerca su Google risolve il 99% dei problemi. Fatto questo, dobbiamo leggermente modificare dei parametri ffmpeg:
ffmpeg -i “URL” -preset slow -c:v hevc_nvenc -rc constqp -qp 31 -c:a aac -b:a 64k -ac 1 “nomefile.mp4”
Notiamo le differenze:
-c:v hevc_nvenc
al posto di -c:v libx265
. NVIDIA/NVENC è il driver nvidia per l'accelerazione hardware, mentre HEVC è un sinonimo per H.265. -rc constqp -qp 31
al posto di -crf 31
. Il CRF si specifica in questo modo con il driver NVIDIA/NVENC.Scrivi tu questa sezione!