Istruzioni per scaricare video di tipo HTTP Dynamic Streaming usando Livestreamer e UnPlug

Molti siti internet forniscono contenuti video che si avvalgono del “HTTP Dynamic Streaming” della Adobe. Una parte dei video distribuiti utilizzando questo metodo possono essere visualizzati e scaricati usando “Livestream” e “UnPlug” senza l'esecuzione di codice proprietario Javascript.

Per prima cosa bisogna installare il complemento (add-on) Unplug in Abrowser:

https://addons.mozilla.org/en-US/firefox/addon/unplug/

Quindi installiamo livestreamer tramite pip:

$ sudo aptitude install python-pip
$ sudo pip install livestreamer

o in alternativa attraverso easy_install

$ sudo easy_install livestreamer

Per aggiornare livestreamer bisogna eseguire il seguente comando:

$ sudo pip install --upgrade livestreamer

oppure

$ sudo easy_install -U livestreamer

Qui si può trovare un esempio di pagina web che offre contenuti video che usano l'HTTP Dynamic Streaming:

http://news.walla.co.il/mahadura/?w=//2715352

Cliccando sopra l'icona di UnPlug appare il seguente collegamento, il che non ci permette ancora di scaricare il video usando il browser:

http://cache02.mintmark.co.il:1935/redirector/mediacache/_definst_/mp4:http/media_iphone/016/172/1617283-42.mp4

Copiamo questo collegamento in Abrowser e lo facciamo precedere da "view-source:":

view-source:http://cache02.mintmark.co.il:1935/redirector/mediacache/_definst_/mp4:http/media_iphone/016/172/1617283-42.mp4

A questo punto ci appaiono ulteriori collegamenti. Copiamo il più adatto in Abrowser facendo precedere nuovamente "view-source:":

view-source:http://199.203.85.3:1935/mediacache/_definst_/mp4:http/media_iphone/016/172/1617283-42.mp4/chunklist.m3u8?wowzasessionid=273365045

Ora ci appare questo collegamento seguito da un elenco di file *.ts per cui il seguente è il collegamento ultimo:

https://stream01.wcdn.co.il/mediacache/_definst_/mp4:http/media_iphone/016/172/1617283-42.mp4/key.m3u8key?wowzasessionid=273365045

Bisogna ora rimuovere la parte finale (quella che inizia con "key") e sostituirla con "manifest.f4m", ed infine aggiungervi "hds://" all'inizio del url ed inserirlo nel livestreamer:

$ livestreamer hds://https://stream01.wcdn.co.il/mediacache/_definst_/mp4:http/media_iphone/016/172/1617283-42.mp4/manifest.f4m

L'output sarà il seguente:

[cli][info] Found matching plugin stream for URL hds://https://stream01.wcdn.co.il/mediacache/_definst_/mp4:http/media_iphone/016/172/1617283-42.mp4/manifest.f4m
Available streams: 234p (worst, best)

Bisogna quindi selezionare la qualità del video (es. "best") e scaricarlo usando "-o filename":

$ livestreamer hds://https://stream01.wcdn.co.il/mediacache/_definst_/mp4:http/media_iphone/016/172/1617283-42.mp4/manifest.f4m best -o out.flv

A questo punto possiamo vedere che livestreamer sta scaricando il file:

[cli][info] Found matching plugin stream for URL hds://https://stream01.wcdn.co.il/mediacache/_definst_/mp4:http/media_iphone/016/172/1617283-42.mp4/manifest.f4m
[cli][info] Opening stream: 234p
Written 5661062 bytes[cli][error] Error when reading from stream: Read timeout

[cli][info] Stream ended

Ora puoi vedere il video usando il lettore video che preferisci come ad esempio Totem, VLC or MPlayer. Se vuoi solamente vedere il video in streaming senza scaricarlo puoi semplicemente eseguire il comando precedente senza "-o":

$ livestreamer hds://https://stream01.wcdn.co.il/mediacache/_definst_/mp4:http/media_iphone/016/172/1617283-42.mp4/manifest.f4m best

Il lettore video predefinito è VLC. Se invece vuoi utilizzare Mplayer dovrai creare il file "~/.livestreamerrc" e incollarvi il seguente:

player=mplayer -cache 2048

Aggiornamento (Novembre 2014): la pagina internet Walla ha recentemente subito modifiche. Per usare il metodo qui descritto bisogna impostare il “user agent” in modo che esso rispecchi quello di un dispositivo cellulare come ad esempio Android, utilizzando a tal fine il complemento “user agent switcher” e abilitando JavaScript per il dominio Walla (nel caso in cui si adoperi NoScript).

Revisioni

01/30/2015 - 18:58
SuperTramp83