Scaricare i contenuti audio e video presenti nelle pagine web — Guida completa

Premessa: ho impiegato mesi per lavorare a questo articolo, rivedendo in continuazione le idee di cui parlare e valutando come dare i consigli nel modo migliore possibile. Questo post racchiude quindi numerose informazioni e potrebbe richiedere più di una lettura per assimilarle tutte.

Ormai 6 anni fa avevo scritto un articolo che continua ad essere tra i più visitati del blog, dedicato a salvare i video incorporati nei siti web in cui ci imbattiamo navigando in rete. Non era una guida dedicata ad atti deplorevoli di pirateria cinematografica (non insegna a scaricare film da reti P2P) bensì era rivolta proprio ai video che sono “dentro” le pagine. Un esempio banale di sito con video può essere Youtube, ma in realtà ce ne sono moltissimi che per un motivo o per l’altro offrono dei filmati (ad esempio siti di news, recensioni di hardware, eccetera) ed essi sono inseriti nei formati e nei modi più disparati.

Al tempo avevo dedicato quasi tutta la guida all’uso di Unplug, un’estensione per Firefox che era tra le migliori per questo tipo di compito. In seguito è stata sorpassata da altri strumenti, per poi migliorare di nuovo nell’ultimo periodo. Lo scopo di questo mio nuovo articolo vuole essere più ad ampio raggio: vorrei cercare di spiegare quale approccio usare quando ci si trova di fronte a un sito con video: a partire da come riconoscere la tecnologia utilizzata, fino al salvataggio vero e proprio del contenuto multimediale. Accennerò anche qualcosa riguardo alla conversione.

Devo precisare subito che per quanto cercherò di essere chiaro e spiegare le cose in modo semplice, inevitabilmente alcuni dei concetti qui spiegati potrebbero non essere banali. In alcune circostanze sarà necessario “esplorare” del codice HTML, XML o Javascript (non è comunque necessario conoscere questi linguaggi). Inoltre dovrebbe essere chiara la differenza tra un file e uno stream. Oltre a questo va aggiunto che nell’articolo mi concentrerò sui video, ma i concetti sono tali e quali anche per delle eventuali tracce audio ascoltabili online.

Software necessari

Prima di addentrarmi nelle tecniche dettagliate per operare in più circostanze possibili, credo sia meglio fornirvi alcune indicazioni sugli strumenti che vi serviranno. Non sempre serve installare “tutte” queste cose, tuttavia se pensate di usare le istruzioni di questo articolo più di una volta ogni tanto, installate tutto e sarete sempre tranquilli. Meglio arrivare preparati senza dover ricontrollare ogni volta se avete lo strumento adatto.

Ci sono essenzialmente quattro tipi di strumenti che possono tornare utili:

  • un estrattore di link
  • un riproduttore multimediale
  • alcuni registratori di flussi audio/video
  • un convertitore (opzionale, dipende da dove vogliamo riprodurre i video)

Per ciascun punto vi spiego ora di che cosa si tratta e vi consiglio cosa installare. Nella maggior parte dei casi cerco di indicarvi un software libero e open source, nonché multipiattaforma in modo che il procedimento sia uguale per tutti. Quando non è possibile tento di fornire delle possibili alternative e indico i sistemi operativi con le icone Fugue. In nessun caso comunque vi “costringo” a usare software commerciale, perché non c’è bisogno.

Note importanti

I software indicati sono dei consigli, dati dal fatto che io personalmente li uso o li considero validi. Siete liberi di usare altre applicazioni a vostra scelta. Inoltre, vi chiedo gentilmente di integrare il materiale qui presente con una vostra ricerca personale online se volete salvare video da certi siti e non ci riuscite.

Non usate i commenti al post (né il mio indirizzo email) per incollare un URL di un video e chiedermi “scaricamelo e inviamelo per email”, al massimo posso dare qualche consiglio ma non posso lavorare a tempo pieno come “registratore di video altrui”. 😉 Nella maggior parte dei casi, è già scritto tutto qui. 🙂

Estrattore di link

Il processo di download di video da un sito si può riassumere in pochi passaggi: si apre la pagina, si valuta che tipo di media è, si trova il link, si scarica. Tutto ciò può essere ovviamente fatto a mano, ma fortunatamente per molti casi — diciamo pure la quasi totalità — si può usare uno strumento che trovi il link per noi, così poi ci possiamo concentrare sul resto.

Il “come” lo vediamo poi nel dettaglio, per ora vi basti sapere che l’accessorio più comodo da avere nel proprio arsenale è un’estensione per il browser. Nello specifico di questo post, io uso Mozilla Firefox e nel seguito farò riferimento sempre a questo browser. Come estensione utilizzo Video DownloadHelper, che a mio avviso è la più comoda. Dato che potete installarli su tutti i sistemi operativi, vi consiglio di farlo. Non sono riuscito a trovare qualcosa di altrettanto versatile per altri browser.

Mozilla Firefox

Video DownloadHelper

Riproduttore multimediale

Ovviamente si suppone che dopo aver scaricato i video vogliate anche guardarli. Sebbene ci siano alcune scelte più popolari (ad esempio il contenitore MP4), ogni sito web può avere video nei formati e coi codec più disparati. Per evitare qualsiasi problema è buona cosa dotarsi di un programma che potremmo definire “universale”. VLC è imbattile in questo, consentendovi di leggere tutti i formati video e audio. Probabilmente lo avrete anche già installato.

VLC media player

Registratori di flussi

Quando si individua l’URL di un video, ci possono essere due casi: si tratta del link a un semplice file, il che significa che basta scaricarlo, oppure è un riferimento ad uno stream. Lo stream è un flusso di dati audio/video che deve essere registrato, in modo (concettualmente) simile a quanto si fa con la televisione, per capirci.

Per queste occasioni è utile poter salvare gli stream di tipo MMS e RTSP (con varianti RTSPE e altre). Per il primo caso, servirà un software a linea di comando chiamato Mplayer. Su Linux si installa dal gestore di pacchetti, mentre in Windows bisogna scaricare l’archivio e scompattarlo in una cartella a piacere (non di sistema, Desktop o Documenti vanno bene). Per Mac ci sono varie versioni, quella che vi consiglio è indicata sotto.

Mplayer

MplayerX

Anche per quanto riguarda RTMP useremo un software dedicato a linea di comando. Pure in questo caso vale quanto detto sopra per Linux, per Windows vi consiglio di usare esclusivamente la versione 2.3 linkata sotto (sempre da scompattare in una cartella non di sistema). Per installarlo su Mac dovrete utilizzare MacPorts, una raccolta di programmi per Linux mantenuti in versione per Mac. Sotto vi indico una guida per come fare (io non uso Mac quindi non posso aiutarvi in questo).

rtmpdump

rtmpdump 2.3

Guida per MacPorts

Oltre a questi tipi di flussi, esiste anche una nuova tecnologia particolarmente odiosa, non tanto per il fatto che sia stata sviluppata da Microsoft, quanto per il fatto che è abbastanza difficile da scaricare. Sto parlando del cosiddetto Smooth Streaming. Si tratta di un tipo di stream comunemente usato nei siti che utilizzano Silverlight, una tecnologia sostanzialmente morta prima di nascere ma che purtroppo viene usata su alcuni siti importanti, come quelli di Rai e Mediaset.

Su questo approfondirò in seguito. Per ora vi basti sapere che esiste un solo programma freeware per Windows che consente di scaricare questi flussi, ISMdownloader. Fortunatamente, essendo un software a riga di comando, è possibile farlo funzionare anche su Linux e Mac e a questo proposito ho scritto degli articoli dettagliati e semplici da seguire. Qui trovate dei riferimenti per installarlo e usarlo:

Scaricare video Smooth Streaming con Linux

Usare ISMDownloader su Windows

Scaricare video Smooth Streaming con Mac OS X

Convertitore

Come vi dicevo, VLC vi permette di riprodurre qualsiasi tipo di audio o video sul vostro computer. Tuttavia potreste voler guardare i vostri video su qualche dispositivo mobile, come ad esempio telefoni o tablet con Android oppure iOS, o ancora i classici lettori multimediali da salotto. Solitamente tutti questi dispositivi accettano di buon grado i video in formato MP4, ed è per questo che vi consiglio HandBrake. Certo, se desiderate un sacco di opzioni avanzate ci sono WinFF e ffmpegX, ma per conversioni semplici e senza decine di opzioni HandBrake va benissimo.

HandBrake

Con questo si conclude la carrellata degli strumenti consigliati. Di seguito vi spiego come procedere in pratica nell’individuare il video e poi salvarlo.

Individuare il tipo di media

La prima cosa fondamentale è capire con cosa si ha a che fare. Ci possono essere diverse possibilità, ad esempio possiamo trovare:

  • video in formato Flash (diffusissimi)
  • embed di semplici file (meno diffusi ma facili da gestire)
  • stream MMS
  • stream RTMP (questi ultimi anche “inseriti” dentro ai file in formato Flash)
  • video in formato Silverlight (che magari alle volte richiamano stream MMS, ma solitamente hanno dei video Smooth Streaming)

Non escludo che ci possano essere altre cose, come l’odioso RTSP, ma per esperienza posso dire che nella maggior parte dei casi basta saper operare con quanto ho indicato sopra.

Video in Flash

I video in formato Flash sono facili da distinguere: sono estremamente diffusi e ci si accorge subito che usano tale tecnologia usando il tasto destro del mouse. Per esempio, provate a cliccare col destro su questo mio video su Youtube: comparirà un menu, la cui ultima voce dice qualcosa di simile a Informazioni su Adobe Flash Player quindi il video viene fornito usando Flash.

A questo punto ci possiamo trovare di fronte a tre situazioni assai comuni: il player è di un sito famoso (ad esempio Youtube, Dailymotion, Vimeo, …), oppure contiene un link ad un semplice file video o infine un link ad uno stream in formato RTMP.

Sito famoso o semplice file

Indirizzo diretto ad un file video trovato da Video DownloadHelper

Aprite la pagina desiderata e premete play. Se quando il video si avvia l’icona di Video DownloadHelper comincia a lampeggiare, e cliccando la freccina a fianco vedete il collegamento al video che vi interessa (come in figura), allora ricadete in questo caso. Ed è semplicissimo!

Vi basterà cliccare il link affinché Firefox vi chieda dove volete salvare il file, e nel caso di siti come Youtube solitamente potrete anche scegliere tra diverse qualità. Per provare, potete fare una prova di download di un video da Youtube oppure il video che ho usato in questo esempio.

Per i siti “famosi” ci sono diversi altri software, come ad esempio movgrab, youtube-dl, JDownloader (il cui plugin per Mediaset è parzialmente basato su codice scritto da me) e get-flash-videos. Ho anche scritto un articolo su come registrare i video da BBC iPlayer.

Stream in formato RTMP

Se Video DownloadHelper non dà segni di vita o gli unici file che elenca non sono attinenti, è probabile che il video con cui avete a che fare ricada nella categoria degli stream RTMP. In questo paragrafo userò come esempio questa pagina web e vi mostrerò come individuare l’URL dello stream.

Innanzitutto, è opportuno leggere un pezzo del codice sorgente della pagina. Questa tecnica è un pochino più avanzata e si può usare anche in casi diversi dai flussi RTMP, per capire come comportarsi, quindi è molto utile da conoscere.

Il codice sorgente è una serie di informazioni e metadati che descrivono il contenuto della pagina. Solitamente è scritto usando il linguaggio HTML e altri linguaggi come ad esempio Javascript. Per visualizzare il codice della pagina che vi interessa, apritela e poi premete Ctrl+U, si aprirà una finestra con il codice. Potete fare delle ricerche usando Ctrl+F e scrivendo la parola che vi interessa. Parole che vale la pena cercare sono:

  • embed
  • video
  • player
  • object
  • flashvars
  • rtmp
  • mp4

Eccetera, usate un po’ la fantasia e guardatevi intorno. 😛 Nella pagina di esempio, una ricerca della parola embed permette rapidamente di trovare questo pezzo di codice Javascript che sembra fare al caso nostro:

var flashvars = {
single: "true",
embedPlayer: "",
source: "/common/bitneg/events/VisualizationVirtualWorkshop2013/General-Visualization-Quick-Start.smil",
introImage: "/common/video-images/broadcast/generalvisualization_quickstart_intro.png",
exitImage: "",
configXML: "",
Reset_at_End: "False",
Width: "1024",
Height: "768",
Length: "19:40",
Direct_Link: "http://www.wolfram.com/broadcast/video.php?channel=317&video=1452",
Embed_code: "",
Content_Type: "Training",
caption: ""
};

Non esiste una “regola universale” in questi casi, ma a colpo d’occhio sembra proprio che quell’indirizzo nella variabile source sia interessante. Proviamo a seguire l’indirizzo completo:

http://www.wolfram.com/common/bitneg/events/VisualizationVirtualWorkshop2013/General-Visualization-Quick-Start.smil

Clicchiamo col destro e salviamo il file col nome. Aprendolo come se fosse un normale file di testo, troviamo all’interno il seguente contenuto:

<smil>
<head>
<meta base="rtmp://streamingmedia.wolfram.com/ondemand" />
</head>
<body>
<switch>
<video src="broadcast/events/VisualizationVirtualWorkshop2013/generalvisualization_quickstart_500" system-bitrate="500000"/>
<video src="broadcast/events/VisualizationVirtualWorkshop2013/generalvisualization_quickstart_1100" system-bitrate="1100000"/>
</switch>
</body>
</smil>

Perfetto, abbiamo trovato uno stream RTMP, anzi due!

Ricapitolando, partendo dal codice della pagina è venuto fuori che le informazioni sul video sono contenute in un file esterno (in questo caso in formato SMIL). Una volta ispezionato il file, troviamo due possibili qualità per il video, di cui noi prendiamo quella più alta. L’indirizzo del video è spezzato in due, ma possiamo facilmente ricomporlo ottenendo:

rtmp://streamingmedia.wolfram.com/ondemand/broadcast/events/VisualizationVirtualWorkshop2013/generalvisualization_quickstart_1100

Aprendolo con VLC si vede, quindi l’URL è giusto. Più avanti nell’articolo spiego come salvare gli URL ottenuti. Ovviamente ogni sito è diverso, ma questo lo trovo un ottimo esempio perché spiega l’idea di base: guardando nel codice e cercando un po’ si può trovare direttamente un URL, oppure un file di informazioni sul video che contiene poi l’URL.

Embed di semplici file, stream MMS oppure stream RTMP

Alcuni siti web utilizzano un metodo di incorporamento che ultimamente non è più molto “di moda” ma che funziona: inserire direttamente nella pagina il filmato desiderato, che può essere un file o uno stream, senza usare Flash. I video vengono riprodotti con vari plugin, ad esempio Windows Media Player o QuickTime (o i relativi equivalenti su piattaforma Linux).

Questa scelta consente di scaricare i video in modo relativamente semplice. Se sono semplici file video, in genere ci pensa Video DownloadHelper. In caso contrario, ci basta aprire il codice della pagina e leggere direttamente il pezzo di codice del video, contenuto in un tag embed oppure object, mentre le pagine più recenti usano il tag video.

Per questo esempio, userò questa pagina e gli strumenti di sviluppo integrati in Firefox. Basta premere F12 (o Ctrl/Cmd+I a seconda del sistema operativo) per aprire il pannello con le varie schede. La prima sezione ci consente di esplorare il codice della pagina in modo interattivo. Torna utile perché alcuni siti modificano il proprio codice dopo aver caricato la pagina, e quindi a volte premere Ctrl+U non aiuta.

Con gli strumenti di sviluppo possiamo esplorare il codice come in figura:

firefox_devtools
Esplorazione del codice con gli strumenti di sviluppo del browser

La cosa più pratica da fare è usare la freccina in alto a sinistra sulla barra. Dopo aver premuto l’icona della freccia, cliccate sulla parte di pagina che vi interessa (cioè il video o qualcosa nelle immediate vicinanze). A questo punto cominciate ad esplorare i nodi. È quello che ho fatto io nella figura.

In questo caso tra i parametri vediamo il nome del file videofilename.wmv che ci permette di ottenere l’indirizzo completo:

http://www.mediacollege.com/video/format/windows-media/streaming/videofilename.wmv

Con un metodo analogo si possono scoprire gli indirizzi di eventuali flussi MMS o RTMP inseriti nelle pagine con lo stesso meccanismo.

Video in formato Silverlight

Alcuni siti web (per fortuna pochi) usano i video inseriti in formato Smooth Streaming con tecnologia Silverlight. Smooth Streaming è un meccanismo di flusso “adattivo” inventato da Microsoft, che consente al sito internet di trasmettere a diverse qualità a seconda della connessione di chi lo visita.

Questo rende il download un po’ più complicato. Fortunatamente, per i due siti web italiani principali che fanno un uso smodato del plugin Silverlight, potete usare i miei script che lo bypassano:

Per altri siti, la cosa che bisogna fare è individuare il cosiddetto file Manifest. Un esempio di questo tipo di video si può trovare qui e visualizzando il codice della pagina si riesce a individuare la posizione:

<MediaSource>To_The_Limit_720.ism%5CManifest</MediaSource>

Da questa si ricava l’indirizzo completo (quel %5C è una semplice barra rovesciata codificata con percent-encoding):

http://playready.directtaps.net/smoothstreaming/TTLSS720VC1/To_The_Limit_720.ism/Manifest

Su alcune pagine non è così facile individuare il Manifest, per fortuna comunque Silverlight non ha mai preso moltissimo piede e ora non viene più sviluppato.

Analisi della richieste HTTP

Su siti web un po’ “difficili” può essere utile visualizzare i dati che vengono trasmessi nella comunicazione tra il browser e il sito web che ci interessa. Questi dati si chiamano richieste HTTP, e gli strumenti di sviluppo ci permettono di visualizzarle nella scheda Rete.

Tramite l’ispezione delle richieste è possibile visualizzare esattamente quali file vengono richiamati dal browser o dai plugin, quali ad esempio Flash Player. Per attuare questa tecnica, andate sulla pagina che vi interessa, aprite gli strumenti di sviluppo, passate alla scheda Rete e poi ricaricate la pagina. Questo è importante per vedere tutto quanto.

Un esempio di richieste visualizzate su questo video del sito di La7:

firefox_net
Visualizzazione delle richieste HTTP

Tra le numerose richieste potreste individuare link di file video, frammenti di clip oppure file di configurazione che potrebbero permettervi di risalire all’URL necessario al download. Nella figura, ho evidenziato l’URL di un file M3U8 che mi dà alcune informazioni su dove si trova il video.

Tali informazioni mi sono state utili, assieme ad altre analisi, per sviluppare il mio script per scaricare i video da La7. Questo tipo di approccio è da considerarsi più avanzato: chi lo applica deve farsi strada tra le informazioni disponibili e con intuito e pazienza cercare di risalire al video. Insomma, richiede di fare un po’ di pratica ma dà spesso buoni risultati.

In particolare, andremo a cercare/filtrare (con la casellina apposita):

  • .mp4, .wmv o estensioni simili per video interi
  • .m3u8 per flussi di questo tipo
  • xml o json per file di configurazione che contengono dati utili sul video

Se vi trovate di fronte a un flusso F4M in un player Flash (con pezzettini di video F4F, a volte), è inutile intestardirsi a tentare di registrarlo così. Quasi sempre si può aggirare l’ostacolo col metodo più pratico del cambio dello user-agent. Vedete soprattutto la sezione in fondo al post.

Scaricare i video dagli URL individuati

Una volta individuato l’URL di un video, è necessario provvedere al download.

Nel caso di link ad un normale file, potete scaricare il video copiando l’URL nella barra di navigazione del browser e poi premendo Invio. A quel punto parte la richiesta di download o la riproduzione del video, in tal caso fate File » Salva con nome. Ci sono anche vari programmi chiamati download manager che permettono di avviare in modo semplice lo scaricamento di un file, dato l’URL.

Per gli stream di tipo MMS (o eventualmente RTSP), potete predisporre una linea di comando di questo tipo:

mplayer -dumpstream -dumpfile output.wmv [URL]

Dove [URL] è l’indirizzo dello stream MMS. Se usate uno stream RTSP potrebbe essere più conveniente usare MP4 come estensione al posto di WMV, comunque dipende dal tipo di codifica del flusso originale.

Con Linux e Mac, vi basta usare la riga di comando nel terminale. Su Mac dovrete indicare il percorso completo al binario, per esempio /Applications/MPlayerX.app/Contents/ Resources/binaries/x86_64/mplayer [...], adattate la riga di comando al vostro caso specifico.

Su Windows, dovrete copiare la riga di comando in un file chiamato download.bat e salvare questo file nella stessa cartella dove avrete precedentemente scaricato il file mplayer.exe. A questo punto vi basta fare doppio click sul file download.bat appena creato.

Download di un flusso MMS con Mplayer
Download di un flusso MMS con Mplayer

Per gli stream RTMP, il procedimento è del tutto analogo, solo che si usa rtmpdump. Riprendendo l’esempio di prima, possiamo formare la linea di comando così:

rtmpdump -R -o output.mp4 -r rtmp://streamingmedia.wolfram.com/ondemand/broadcast/events/VisualizationVirtualWorkshop2013/generalvisualization_quickstart_1100

L’opzione -R serve a non far “correre” troppo il programma, perché su alcuni siti questo crea problemi nella registrazione. Se provate senza, sarà più rapido ma potrebbe fallire in alcuni casi.

Anche in questo caso, se usate Windows dovete creare il file batch (come con Mplayer) ma stavolta salvarlo nella stessa cartella di rtmpdump.exe. Ne avevo parlato anche in questo mio articolo.

Infine, per i video in Smooth Streaming, vi rimando alle guide linkate all’inizio del post.

Cambio dello user-agent

La tecnica descritta in questo paragrafo è stata aggiunta all’articolo in data 24/05/2014.

Con l’enorme diffusione di dispositivi quali smartphone e tablet, negli ultimi anni la maggior parte dei siti che contengono video come contenuto principale ha visto una trasformazione. Accanto alla normale versione per computer, questi portali hanno creato una versione ottimizzata per sistemi Android e iOS.

Può succedere quindi che su una pagina che usa protezioni complicate o flussi strani, il download diventi semplice quando si accede alla versione per dispositivi mobili, in quanto non sono presenti né Flash né Silverlight.

I siti web utilizzano una stringa particolare per riconoscere il browser dell’utente, chiamata user-agent string. Per esempio, quella del mio browser è:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/34.0.1847.116 Chrome/34.0.1847.116 Safari/537.36

Chiaramente è il nostro browser a inviare questa informazione, quindi la possiamo modificare a nostro piacimento. Come esempio di uso di questa tecnica potete provare a salvare questo video. Chiaramente, come dicevo esistono strumenti per salvare video da Youtube in modo automatico, ma è solo un esempio per illustrarvi la tecnica. 😉

Scaricate l’estensione User Agent Switcher per Firefox e installatela. A questo punto, dovete andare nelle preferenze dell’estensione e aggiungere una stringa per un dispositivo mobile, per esempio quella di un iPad:

Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10**

Alcuni siti rimandano alla loro app se provate a usare una stringa di un dispositivo Apple. In tal caso, potete anche usare una stringa di un dispositivo Android, come ad esempio:

Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19

Lasciate vuoti gli altri campi (App Code Name, App Name, eccetera). Fatto ciò, potete attivare l’utilizzo di questa user-agent string sempre dal menu dell’estensione.

A questo punto disattivate Flash player dalle preferenze di Firefox. È molto importante che il sito pensi che il vostro PC non abbia la possibilità di riprodurre contenuti in Flash.

Aprite la pagina del video e dovreste vedere la versione mobile del sito. Se  compare un pulsante Play per far partire il video, premetelo anche se sembra non funzionare.

A questo punto potete usare una delle altre tecniche descritte in questo articolo (in particolare l’uso degli strumenti di sviluppo) per trovare il link al video. Nella maggior parte dei casi si trovano file in formato MP4 direttamente scaricabili (in un elemento <video> con src che indica il file). In alcuni siti invece ci sono dei link a degli stream riconoscibili dall’estensione M3U8.

Download dei flussi M3U8

Questi flussi generalmente sono registrabili con la funzione di registrazione di VLC. In alternativa, se non funzionano con VLC, potete procedere con un tool a linea di comando in modo identico a quanto visto con rtmpdump oppure mplayer.

Metodo classico

Il download dei flussi M3U8 è possibile grazie a un programma che si chiama ffmpeg. Lo potete scaricare dal sito ufficiale. Ecco un esempio:

ffmpeg -i "[...].m3u8" -acodec copy -vcodec copy output.mp4

Alcuni flussi M3U8 hanno l’audio malformato e ffmpeg potrebbe interrompersi con un errore che vi avvisa, senza però registrare nulla:

[mp4 @ 0x9a6820] Malformed AAC bitstream detected: use the audio bitstream filter 'aac_adtstoasc' to fix it ('-bsf:a aac_adtstoasc' option with ffmpeg)

Traduzione:

Bitstream AAC [che sarebbe l’audio] malformato, usare il filtro bitstream per l’audio aac_adtstoasc per ripararlo (l’opzione -bsf:a aac_adtstoasc con ffmpeg)

Quindi il programma vi sta già dicendo cosa cambiare. 🙂 In questo caso, dovete aggiungere l’opzione specificata e ottenere una riga di comando di questo tipo:

ffmpeg -i "[...].m3u8" -acodec copy -vcodec copy -bsf:a aac_adtstoasc output.mp4

Le versioni più recenti del programma lo fanno in automatico.

Metodo “pigro”

Per chi non ha voglia di digitare ogni volta la riga di comando completa per ffmpeg, c’è un altro sistema molto pratico per registrare questi flussi. Se avete installato correttamente youtube-dl e ffmpeg (servono entrambi) si può passare l’URL direttamente a youtube-dl:

youtube-dl "[...].m3u8" -o output.mp4

Il parametro col nome del file risultante è opzionale, ma a volte serve per evitare errori con i nomi di file troppo lunghi.

Conclusione

Salvare i video presenti sulle pagina web è in genere un’operazione rapida quando si tratta di siti “famosi”, in quanto esistono numerosi programmi già pronti che rendono il lavoro molto facile.

La situazione è diversa in altre circostanze, alcuni siti internet rendono l’operazione meno “immediata” e richiedono di analizzare la pagina che abbiamo di fronte. Lo scopo di questo articolo è quello di cercare di spiegare come sviluppare la forma mentis che permette di sapere come agire in generale.

Spero di aver dato una panoramica quanto più ampia possibile. Pur sapendo che alcune parti dell’articolo richiedono la conoscenza di alcuni concetti informatici, se ritenete che in alcuni passaggi la spiegazione sia scritta in modo poco chiaro fatemelo sapere nei commenti. 😉


Vi è piaciuto l’articolo?

Scrivere software e guide come questa richiede tempo. Se avete trovato queste informazioni utili, potete offrirmi un caffè cliccando sul pulsante. 🙂 Se lo fate, per favore lasciate una nota indicando che è per questo articolo.

1.041 pensieri riguardo “Scaricare i contenuti audio e video presenti nelle pagine web — Guida completa

  1. Come spiegato nel post, cambia user-agent string mettendo quella di un dispositivo mobile e disattiva Flash Player. Individua quindi l’iframe che contiene il video, il cui indirizzo è qualcosa del genere:

    http://c.brightcove.com/services/viewer/htmlFederated?&width=100%25&height=100%25&flashID=BCPlayerInstance_367198&bgcolor=%23000000&playerID=4174830707001&playerKey=AQ~~%2CAAADqZefFrE~%2CsdGyAyJI7dcbQw4NEpDNk_NUCyY-ZWic&wmode=opaque&isVid=true&isUI=true&dynamicStreaming=true&localizedErrorXML=http%3A%2F%2Fit.dplay.com%2Fwp-content%2Fthemes%2Fwp-theme-dplay-global-test%2Fbrightcove%2FlocalizedError.xml&%40videoPlayer=4204596905001&autoStart=&debuggerID=&startTime=1433091717234&refURL=not%20available
    

    Dentro trovi l’indirizzo dell’indice delle varie tracce video:

    http://c.brightcove.com/services/mobile/streaming/index/master.m3u8?videoId=4204596905001
    

    A sua volta, dentro a quel file trovi gli URL ai flussi M3U8 in varie risoluzioni.

  2. Ghini,

    dove lo trovo o basta ricopiare quello dell’esempio

    Come preferisci tu, puoi usare quella fornita come esempio o cercarne altre online. Non cambia molto.

    come trovo l’iframe

    Dopo aver cambiato user-agent string e disattivato Flash ti basta usare la freccia di Firebug per ispezionare la pagina, come è spiegato nel post. Ti ho comunque messo l’URL dell’iframe nel commento precedente.

    Dino, nelle richieste HTTP in firebug si individua facilmente il file XML che contiene l’indirizzo del flusso RTMP:

    http://senatoweb.ksoft.tv//canale/Eventi/legislatura/17/dizione/20141031_aula/formato/flvplayer/quality/hq
    

    Sono due parti di URL da mettere insieme proprio come nell’esempio del post. 🙂

  3. Non so dove sbaglio: usando il rtmpdump, come da te consigliato, il file download.bat va in errore dopo circa un’oretta (failed to read RTMP packet header) e il file output.mp4 è di soli 740 kb e quindi dura pochissimi secondi. Preciso che non sono molto esperto per cui avrei bisogno di qualche dritta in più.

    Ringraziandoti anticipatamente per la pazienza e disponibilità ti saluto.

    Dino.

  4. Ah caspita, pensavo di aver scritto una cosa nell’articolo ma mi ero dimenticato. 😔

    rtmpdump, come tutti i downloader, vuole far risparmiare tempo all’utente. Quindi tenta di registrare più velocemente possibile. Il problema è che su alcuni siti questo crea problemi e fa saltare il flusso. Pertanto ti consiglio di aggiungere l’opzione -R all’inizio della riga di comando (maiuscola, da non confondersi con -r che va messa appena prima dell’URL):

    rtmpdump -R -o output.mp4 [...eccetera...]
    

    Ora aggiorno l’articolo. 😉

  5. Sì, ho visto che hai anche aggiornato l’articolo e quindi ho aggiunto anche questa -R, ma …

    … sia col -r scritto anche dopo output.mp4 (come nell’articolo) che senza (come scritto nella tua risposta) accade che cmd si apre e si chiude subito (mentre prima senza la -R restava aperto) e non scarica nulla! 🙁

    Mi sa che abbiamo fatto un passo indietro … sigh …

    P.S.: Se vuoi puoi anche mandarmi una mail privata all’indirizzo che ho indicato. Grazie.

    Dino.

    1. Senza? Chi ha mai detto di togliere -r?

      Comunque sia il video si può registrare, ho provato ieri. Quindi è un problema specifico di Windows, oppure hai messo l’eseguibile in qualche cartella di sistema. Se il problema è Windows, non ti potrò aiutare.

  6. Di fatto non l’hai detto di togliere -r, ma nella stringa della risposta non c’era e quindi avevo il dubbio se ci voleva o no. L’eseguibile l’ho messo sia nella radice di c:\ del fisso che su una chiavetta in quanto l’ho testato anche su un notebook ma coi medesimi risultati! :'(

    Lunedì proverò anche col PC aziendale e spero di risolvere lì.

    Grazie.

    Dino.

    1. Veramente C: è proprio una cartella si sistema, quindi da evitare tassativamente. L’eseguibile e il bat vanno messi in una cartella dove hai tutti i permessi, per esempio il desktop. Comunque, nel dubbio usa Linux. 🙂 Ti risparmi un sacco di fatiche e dolori, non solo per rtmpdump ma in generale. 😛

  7. Anche spostandolo la cartella con l’eseguibile sul desktop la finestra cmd si apre e si chiude in meno di 1 secondo e la storia sembra finire lì.

    Linux non ce l’ho, magari provo prima in ufficio.

    Grazie per tutti i consigli.

    Dino.

  8. Un consiglio. per evitare che il command line (cmd) di windows si chiuda subito e quindi non ti mostri neanche eventuali errori devi aprirlo in anticipo e posizionarti sulla cartella desiderata con cmd.
    sfortunatamente windows una linea di comando veramente inusabile… e powershell non è propriamente una linea di comando normale.

  9. riepilogando:
    usando firefox 38 con User Agent Switcher cambio user agent
    disabilito flash player
    faccio partire il video (mi esce solo schermata manca flash) e con Firebug ispeziono pagina
    dove trovo iframe in script? HTML ecc… la tua stringa non riesco a trovarla
    Dentro trovi l’indirizzo dell’indice delle varie tracce video: come vedo dentro l’iframe?
    infine registro il flusso M3U8 con vlc o avconv

    con il tuo flusso M3U8 e vlc riesco a riprodurre il video
    vorrei però riuscire a fare anche io il tuo percorso per imparare questo metodo

    grazie mille e scusami per l’insistenza

  10. Grazie al consiglio di Fede, che ringrazio, sono riuscito a leggere nel cmd dopo aver lanciato il comando di download da lì: sembrerebbe che non riconosca l’opzione R (“invalid option — R” ed “unknown option: ?”). Quindi mette una lista di possibili opzioni nella quale davvero non scorgo R. Infine clonclude con la seguente stringa: “If you don’t pass parametres for swfUrl, pageUrl, or auth these properties will non be incluted in the connect packet.”

    Ho alternative?

  11. Ghini,

    faccio partire il video (mi esce solo schermata manca flash)

    Quindi non hai cambiato user-agent. Infatti il messaggio che esce con una stringa di un dispositivo mobile (Android in questo caso) è:

    http://i.imgur.com/wb5HFp6.png

    Come puoi vedere l’iframe è lì.

    come vedo dentro l’iframe?

    Come qualsiasi altra pagina. 😛 Vai al suo URL e guardi nel suo codice HTML.

    con il tuo flusso M3U8 e vlc riesco a riprodurre il video

    Bene, però come ti ho detto non ti conviene registrare l’URL del master.m3u8 direttamente. Aprilo e dentro trovi i link alle varie risoluzioni. Sicuramente VLC non beccherà quella giusta per te, quindi se usi direttamente quell’URL ti trovi un video a risoluzione inferiore. 😉


    Dino, ah. Mmm… A quanto pare l’opzione -R non è presente sulle vecchie versioni di rtmpdump. Puoi provare la versione 2.4, ma mi risulta che a diverse persone dia problemi su Windows. Per quello linko la 2.3 nel mio post. Però un tentativo si può sempre fare.

    Se si vuole a tutti i costi evitare Linux, le cose possono complicarsi. Succede anche con altri software. 🙂

  12. Purtroppo anche la versione 2.4, che ho faticato parecchio a trovarla, va in errore. Precisamente c’è scritto:Closing connection: NetStream.Play.StreamNotFound.

    Pazienza! Ci rinuncio! 🙁

    Grazie lo stesso e saluti.

  13. Il file download.bat di assemblabbio è lo stesso che ho utlizzato per la versione 2.3 scaricato da questa pagina (copiato e incollato da una cartella all’altra) dove mi aveva scaricato solo pochi secondi. Comunque la stringa in esso contenuta è:

    rtmpdump -R -o output.mp4 -r rtmp://flash4.ipercast.net/webtv.senato.it/_definst_/production/seduta_FILIPPO_YO1_20141029_600k.mp4
    

    Dall’assemblaggio fatto funziona anche con VLC. Ho sbagliato?

  14. ho scaricato User Agent Switcher installato. Tre tasti opzioni, disattiva rimuovi
    in opzioni inserisco la stringa ma come gli indico che deve prenderla come predefinita?
    http://i.imgur.com/VG3YUZS.png?1
    inoltre come registro il flusso con vlc perchè ogni volta registro solo l’inizio fino a che non va a capo la barra del tempo

    infine scusami ancora ma mi indichi il link per avconv, fra i tanti in https://libav.org/download.html e da dove farlo partire per poi inserire il flusso


    riesco finalmente a cambiare l’user agent lo verifico da WhatsMyUserAgent.com ma mi esce il messaggio il video non è più disponibile anche se in realtà c’è

  15. Riuscitoooooooooooooooooooo!!!!!!!!!!!!

    E’ bastato ripetere in quella stringa due volte consecutive una stessa cartella ed è andato! Nel ringraziare faccio due osservazioni su tutte onde migliorare il servizio:

    1) Il download con questo sistema anche se efficace è stato lentissimo, quasi 3 ore per essere scaricato. Allora mi domando: per file più pesanti, magari a causa di una risoluzione migliore, il tempo per il completamento non aumenterebbe a dismisura?

    2) Il video mp4 è un formato un po’ strano. Non tutti i lettori lo aprono, ma fortunatamente VCL sì, anche se portandolo più avanti ci impiega un po’ a sincronizzarsi. Per questo tenterò di convertirlo in avi anche per eliminare la parte iniziale e finale, inutili al filmato.

    Con questo saluto tutti e vi ringrazio ancora, in particolare a Lazza che ha avuto anche tanta pazienza con me.

    Dino.

  16. Ghini, ovviamente la user-agent string non basta salvarla nella lista di quelle a disposizione, bisogna anche renderla attiva. 😛 Lascia perdere VLC e registra con avconv. I download sono tutti su quella pagina, ti basta vedere che sistema operativo hai e l’architettura a 32/64 bit, poi scegli di conseguenza.

    Riguardo al messaggio, che importanza ha? A te interessa vedere solo il contenuto dell’iframe per registrarlo, mica devi veramente vederlo dal browser. La semplice visione qui non è il tuo obiettivo.

    Dino, in effetti leggendo il tuo commento mi stavo chiedendo come mai tu avessi tagliato via un _definst_ quando ce ne dovevano essere due. Riguardo alle tue domande:

    1. Non è detto. Innanzitutto -R registra in tempo reale, quindi se il video dura un certo tempo, è il minimo che ci deve mettere. Secondo, il server che fornisce quello stream è di una lentezza esasperante.

    2. MP4 non è un codec, è un contenitore. Se vuoi cambiare formato devi usare un convertitore video, ma è una faccenda già trattata nel post. 😉 Per eliminare le parti di troppo non è necessario per forza ricodificare il video, puoi farlo tranquillamente con avconv oppure ffmpeg.

  17. ho scaricato libav-11.4.tar.gz ma non riesco ad estrarlo sul pc

    inoltre mi dici da dove farlo partire e dove inserire poi l’m3u8

    non ti conviene registrare l’URL del master.m3u8 direttamente. Aprilo e dentro trovi i link alle varie risoluzioni.
    come lo apro copio tutto l’iframe nell’URL di una pagina e vedo?

  18. In effetti mi sembrava strano che ci fossero 2 sottocartelle con lo stesso nome e quindi una l’avevo eliminata. Poi ho fatto giusto un tentativo, ma con scarsa convinzione. Per fortuna è andato bene.

    1) Oltre la lentezza può succedere anche che la registrazione si interrompa. A me è successo 2 volte con 2 PC prima di avere la fortuna di ottenere il file completo. Ho parlato per la prima volta di registrazione non a caso: visualizzando il file on-line con VLC con l’indirizzo ricavato dall’assemblaggio delle 2 stringe si potrebbe allora cliccare direttamente sul bottone rec di VLC senza dover scomodare rtmpdump, tanto da quello che dici il tempo è lo stesso (anzzi anche meno coi tagli);

    2) Ti ringrazio del consiglio ma ho già dei sistemi collaudati per tagli, aggiunte, conversioni con altri codec, ecc. che preferisco non avventuarmi in cose diverse anche se forse migliori. Comunque contenitore o no, non capisco perchè ad esempio Media Player non apre il file scaricato.

    Ciao.

  19. Ghini,

    ho scaricato libav-11.4.tar.gz

    Ah ma quindi vuoi la versione per Linux? No allora lascia stare, su Linux ti conviene installarlo dal gestore di pacchetti. Le versioni per Windows sono tutti archivi 7Z, comunque questo non è il luogo per disquisire su come usare i file compressi o installare i programmi. Specialmente su Windows. Sull’utilizzo di avconv, c’è un esempio di riga di comando nel post. Ti conviene usare quello.

    come lo apro

    Caspita… è un file di testo. Lo salvi e lo apri… dov’è la difficoltà?

    Dino, capita che si possa interrompere. È un server che trasmette malissimo, l’abbiamo già detto. 😀 Potresti pure registrare con VLC, ma quello rischia già di fare una ricodifica, quindi fai a fare una conversione inutile con conseguente perdita di qualità. Io eviterei.

    non capisco perchè ad esempio Media Player non apre il file scaricato

    Perché non ha i codec per leggere il formato delle tracce che hai registrato. In ogni caso WMP è un software specifico per Windows, quindi di ben poco interesse. 🙂

  20. scusami per l’insistenza ma vorrei riuscirci
    cambiato user e disattivati flash ottengo l’iframe:

    http://c.brightcove.com/services/viewer/htmlFederated?&amp;width=100%25&amp;height=100%25&amp;flashID=BCPlayerInstance_737271&amp;bgcolor=%23000000&amp;playerID=4174830707001&amp;playerKey=AQ~~%2CAAADqZefFrE~%2CsdGyAyJI7dcbQw4NEpDNk_NUCyY-ZWic&amp;wmode=opaque&amp;isVid=true&amp;isUI=true&amp;dynamicStreaming=true&amp;localizedErrorXML=http%3A%2F%2Fit.dplay.com%2Fwp-content%2Fthemes%2Fwp-theme-dplay-global-test%2Fbrightcove%2FlocalizedError.xml&amp;%40videoPlayer=4204596905001&amp;autoStart=&amp;debuggerID=&amp;startTime=1433836814917&amp;refURL=not available
    

    leggermente diverso dal tuo

    http://c.brightcove.com/services/viewer/htmlFederated?&amp;width=100%25&amp;height=100%25&amp;flashID=BCPlayerInstance_367198&amp;bgcolor=%23000000&amp;playerID=4174830707001&amp;playerKey=AQ~~%2CAAADqZefFrE~%2CsdGyAyJI7dcbQw4NEpDNk_NUCyY-ZWic&amp;wmode=opaque&amp;isVid=true&amp;isUI=true&amp;dynamicStreaming=true&amp;localizedErrorXML=http%3A%2F%2Fit.dplay.com%2Fwp-content%2Fthemes%2Fwp-theme-dplay-global-test%2Fbrightcove%2FlocalizedError.xml&amp;%40videoPlayer=4204596905001&amp;autoStart=&amp;debuggerID=&amp;startTime=1433091717234&amp;refURL=not%20available
    

    il secondo passaggio non mi è chiaro per trovare i link del master m3u8:
    in script trovo

    http:\/\/c.brightcove.com\/services\/mobile\/streaming\/index\/rendition.m3u8?assetId=4204696092001
    

    ora come procedo a trovare l’indirizzo dell’indice delle varie tracce video (non capisco cosa intendi per documento di testo)

    infine ho scaricato la versione di avconv per windows ma quando clicco sull’exe si richiude

    scusami ancora per il fastidio ma sono proprio negato per queste cose

  21. L’URL dell’iframe che hai trovato va benissimo, i parametri della query string diversi sono irrilevanti in questo caso. Però l’URL del master contiene appunto la parola master. Nel sorgente c’è infatti questo URL:

    "FLVFullLengthURL":"http:\/\/c.brightcove.com\/services\/mobile\/streaming\/index\/master.m3u8?videoId=4204596905001"
    

    Ovviamente vanno tolte le barre rovesciate \ ma penso che tu l’avessi già capito. 🙂

    non capisco cosa intendi per documento di testo

    Eh però io non so come altro dirlo… è un normalissimo file di testo. Lo salvi e lo apri. 😛 Mmm proviamo con una figura:

    http://i.imgur.com/XXvPTp7.png

    quando clicco sull’exe si richiude

    È un programma a riga di comando (credo di averlo menzionato). Pertanto lo devi lanciare da linea di comando. Trovi un esempio nel post (c’è anche un consiglio su come fare un file batch per maggiore comodità).

  22. ottimo grazie mille scusami ancora per averti fatto tanto penare

    p.s. scusami ma non sarebbe possibile arrivare al master senza l’iframe (che si trovano uno in HTML e l’altro in scrip) a cosa serve allora l’iframe se quello che si usa e il master?

    1. a cosa serve allora l’iframe se quello che si usa e il master?

      L’indirizzo del flusso M3U8 che abbiamo estratto era contenuto nel codice HTML della pagina caricata dentro l’iframe. Pertanto abbiamo trovato l’URL caricato in quel frame per poter leggere il suo codice HTML.

  23. Salve, ho un problema con i download dei video di Psycho Pass da VVVVID. Ho notato che altri avevan risolto ma per me il problema rimane. Il link:

    http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/Psycho%20Pass%20JAP/Psycho_Ep01_JAP.mp4/playlist.m3u8
    

    Se lo scrivo con %20 al posto degli spazi ottengo che al posto di %20 mi viene copiato uno 0 e mi da:

    http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/Psycho0Pass0JAP/Psycho_Ep15_JAP.mp4/playlist.m3u8: Input/output error
    

    Se invece lo inserisco con gli spazi ho:

    http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/Psycho Pass JAP/Psycho_Ep03_JAP.mp4/playlist.m3u8: Invalid data found when processing input
    
    1. L’URL corretto è con l’escaping %20. Chi ti “da” il messaggio di errore? Io non ho problemi a riprodurre quel flusso.

  24. scusatemi poptreste darmi una mano con vvvvid,non riesco proprio a capire,ho aperto il file sorgente ma non trovo url,ho scaricato firebug ma non riesco proprio,se ti mandassi una mail con screen shoot,con tantissima pazienza potresti dirmi come fare?spiegarmi non proprio dettagliatamente ma darmi una linea da seguire.non riesco proprio cosi!grazie e spero tanto nel tuo aiuto perche gli anime più belli in ita sono li e non riesco a vederli neanche in stream perchè va a scatti.


    la guida è bella però se pèosso permettermi di suggerire una scorciatoia per il download dallo streaming da vvvvid,suggerisco usare [RIMOSSO] versione full,reperibile in rete.Testato e funzionante al 100% con win 8.1

  25. Non ho uno smartphone abbastanza aggiornato per installare Periscope e sto cercando di scaricare qualche video replay di Periscope. Se prendo un qualsiasi video che non è più in live streaming da watchonperiscope.com non riesco a vedere il video ma ottengo due flussi M3U8 che tuttavia mi danno errore “Protocol not found” con avconv e ffmpeg. Ecco un esempio:

    https://replay.periscope.tv/JoKhnTeRdWV-aOrALVPBun_4rn0H_KKOeJgxFDJWSw4VMjcXFxeZ0n8Hi2oCqwwi47LFk6rWOC8PNL7Fi2eP5Q==/playlist.m3u8
    https://api.periscope.tv/api/v2/replayPlaylist.m3u8?broadcast_id=24391072&cookie=V2FqrTIyNTkwMDN7guekgNakPC-CrnoJpup9BLMpOwK1m0m6gjszA3boYw%3D%3D
  26. ho aperto il file sorgente ma non trovo url, ho scaricato firebug ma non riesco proprio

    Non devi guardare nel codice sorgente ma ti conviene cercare il flusso F4M nelle richieste HTTP e poi modificarne il codice. Tra l’altro XenmasXIII ha già lasciato un commento molto dettagliato in merito, a cui ho fatto riferimento per esempio anche qui. Le indicazioni riportate lì secondo me sono scritte molto bene, comunque se hai domande più specifiche chiedi pure.

    suggerisco usare [RIMOSSO] versione full

    Be’, no. Primo, quel programma esiste solo per Windows, quindi è abbastanza inutile (anche se andrebbe verificato se gira su Wine). Secondo, è un software commerciale, quindi se vuoi usarlo te lo compri come qualsiasi persona onesta, altro che “reperibile in rete”. Infine, i flussi M3U8 di VVVVID si registrano senza problemi con avconv.

    Alpi, non credo sia particolarmente necessario, per alcuni motivi:

    • è un software che si occupa specificamente di un solo sito web, quindi nell’ambito della guida è poco utile
    • oltretutto il sito in questione non è neanche uno dal traffico mega-galattico, cioè non è Youtube o Vimeo
    • i video di La7 si registrano senza problemi col mio script

    ciaodejan,

    sto cercando di scaricare qualche video replay di Periscope

    Non ho idea di che roba sia… 😛

    ma ottengo due flussi M3U8

    Non li definirei esattamente due URL di flussi M3U8. Forse il primo, ma va in 403 Forbidden. Il secondo va in 410 Gone quindi chiaramente non è più valido. Potresti linkare la pagina che contiene il video che ti interessa? Forse così è più semplice vedere se si può fare qualcosa. 🙂

  27. Forse il primo, ma va in 403 Forbidden. Il secondo va in 410 Gone

    Già, ho notato anch’io. Soltanto che il primo dà 301 Moved Permanently e il secondo dà 304 Not Modified se dalla diretta non sono passate più di 24 ore. Una volta passate 24 ore il video viene rimosso in automatico (anche per la visione dall’app sullo smartphone). Questa è una regola che viene applicata per tutti i video di Periscope.

    Se do un link di prova, dopo 24 ore il video scade e per questo i due flussi non sono più validi. Quindi consiglio di andare su watchonperiscope.com e sciegliere un qualsiasi utente (cioè cliccare su un qualsiasi nome con foto del profilo e @ davanti, per intenderci) e selezionare dalla lista di video recenti uno con la scritta “ENDED”. Da quella pagina si possono ricavare i due flussi. Dovrebbe visualizzarsi anche il video direttamente nel browser ma il player del sito non riesce a farlo partire, anche se lo stream è avvenuto meno di 24 ore fa.

  28. Il fatto che non siano neppure visualizzabili normalmente sul sito non pone molto a favore al fatto che siano visibili. Una cosa comunque è certa, il server controlla i cookie, perciò se vuoi accedere da altri programmi devi impostare l’HTTP Header corretto, tipo così:

    avplay -headers 'Cookie: CloudFront-Key-Pair-Id=...;CloudFront-Signature=...;...eccetera...'
    

    Ho provato e comunque gli stream segnati come ended non sembrano andare.

  29. Alpi, non credo sia particolarmente necessario, per alcuni motivi:

    • è un software che si occupa specificamente di un solo sito web, quindi nell’ambito della guida è poco utile
    • oltretutto il sito in questione non è neanche uno dal traffico mega-galattico, cioè non è Youtube o Vimeo
    • i video di La7 si registrano senza problemi col mio script

    Sui primi due punti hai anche ragione, ma le puntate di Servizio Pubblico non sono disponibili sul alcun sito de La7 (almeno non quella di giovedì 18), perché non sono una produzione La 7 e sono visibili solo sul sito di Servizio Pubblico, per questo ho pensato di segnalare lo script (tra l’altro per Linux).
    Ciao.

    P.S. Scusa se non non sono riuscito a “quotare” ma non sono esperto di codice, e tra l’altro una volta non c’era proprio un link con alcuni suggerimenti in merito? O forse mi ricordo male io.

  30. Premetto che ho trovato questo articolo estremamente interessante e mi congratulo con l’autore, vi pongo il mio problema nella speranza che qualcuno mi possa aiutare. Per parecchio tempo riuscivo a scaricare video da Disney Channel semplicemente utilizzando Video DownloadHelper. Da qualche tempo a questa parte però, facendo partire DownloadHelper e il video, il programma mi legge continuamente lo stesso file formato .f4f ripetuto all’infinito finché non stoppo la visualizzazione del video.
    Leggendo anche altre guide online (è parecchio che non riesco a risolvere questo problema) consigliava di copiare l’URL (in questo caso: http://kalturahd-vh.akamaihd.net/z/content/r71v1/entry/data/435/18/1_ntcyfhfx_1_,hkdwjbvo,ti2018fc,5pumqr7j,cl4x7fu4,_1.mp4.csmil/3_494ba7e9d7a07269_Seg1-Frag62_AQBXC0AxwxbIjk97iFULJV7IyMzKtxZGEhEaCsStKNm55pUQi6H4Qv7UfjQGtewauIrlg3tu?als=0.02,2,5.49,3,1295,8555,19.95,142,1,170,t,11.98,3287.06,f,u,ESDTZMDHHQIE,3.1.0,170&hdcore=3.1.0&plugin=aasp-3.1.0.43.124) e usare il programma ISM, facendo però prima delle modifiche all’url (ossia modificando tutta una parte dopo .ism -e già che qui non ci sia mi crea un problema parecchio grande-). Non sono un grande esperto di computer, mi piace si smanettarci un po’, ma ammetto di essere un po’ ignorante in materia. Insomma, mi sono bloccato e non so più come proseguire…qualche consiglio?

    1. Alpi, ma il programma di cui parli non è quello presente sul sito di La7? Hanno fatto un programma omonimo? Per i commenti puoi usare HTML oppure Markdown, come preferisci. 🙂

      syontai, Quello è semplicemente il link di un frammento. Dovresti linkare la pagina del video che ti interessa, sennò è difficile vedere. 🙂

  31. Ad esempio un video come questo: http://www.disney.es/disneychannel-violetta/v-lovers-backstage/episodios-completos/temporada-2
    Dalla pagina sorgente non riesco a ricavare nulla di buono, anche seguendo i tuoi consigli…mi ci sto impiccando da parecchio tempo, ma non so proprio più dove sbattere la testa :/
    P.S: chiedo perdono per il disturbo creato, se non fossi così disperato (e purtroppo quando trovo un ostacolo come questo non trovo pace xD) non ti avrei scocciato :/

  32. Spero di fare danni con il codice HTML (il massimo della mia esperienza in programmazione è un corso pomeridiano facoltativo di Turbo Pascal, all’ ITIS più di 20 anni fa)

    Alpi, ma il programma di cui parli non è quello presente sul sito di La7? Hanno fatto un programma omonimo? Per i commenti puoi usare HTML oppure Markdown, come preferisci.

    Servizio Pubblico è messo in onda da La7, ma (da quel che so, ma potrei anche sbagliarmi) è una produzione indipendente, di Santoro, di cui si tiene i diritti. Sul sito della La7 http://www.la7.it/rivedila7/5/LA7 la puntata di giovedì 18 è indicata “CONTENUTO NON DISPONIBILE” e non è ne visibile ne scaricabile.
    Per vedere le puntate bisogna andare sul sito di Servizio Pubblico, qui il link della puntata di cui sopra http://www.serviziopubblico.it/puntate/rosso-di-sera/ ed utilizza un flusso F4M.
    Sul sito de La7 si trovano solo degli estratti di pochi minuti (scaricabili con il tuo script), ma le puntate intere no, sono solo sul sito http://www.serviziopubblico.it/
    Ma comunque quella appena conclusasi è l’ultima stagione di Servizio Pubblico, quindi…

    Ciao.

  33. Problema risolto. Ora che Periscope permette lo streaming dei replay anche dal loro sito ufficiale sul web è facile vederli anche senza entrare da smartphone. Tra l’altro adesso si riesce ad ottenere un flusso M3U8 che funziona e da cui si può scaricare senza troppi problemi. Grazie mille per la disponibilità 🙂

  34. Ciao Lazza , complimenti e grazie! Ora me lo devo rileggere e studiare con calma. Sto provando a scaricare i video (molto divertenti) prodotti a questo link http://www.pinpix.com.br (video flash). Se ti va di provare accetto molto volentieri consigli su come fare! Ciao da Guido

  35. Complimenti per l’ottimo contributo e per la generosità e filantropia del suo autore (consiglio di gettare uno sguardo al suo curriculum), sempre disponibile con tutti! Solo per segnalare ad integrazione di questa ed altre sue guide (per Rai, Mediaset, La7, RSI.ch) un articolo con link (m3u8, rtmp, rtsp…) aggiornati per la visualizzazione e il download di alcuni canali radiotelevisivi italiani. http://www.chimerarevo.com/internet/vlc-canali-tv-in-streaming-link-184349/

  36. syontai, quel sito usa solamente flussi F4M. Peraltro, AdobeHDS.php è abbastanza esplicito nel riconoscere che hanno dei DRM:

    This stream is encrypted with Akamai DRM. Decryption of such streams isn't currently possible with this script.
    

    Perciò l’unica opzione che hai è usare un desktop recorder. Non è il massimo ma non ci sono molte alternative.

    Alpi, ah ok, capito.

    ciaodejan, ottimo!

    Guido, quel sito non contiene video, bensì animazioni in Flash composte da svariate componenti separate. Se vuoi creare un video a partire da quello, ti conviene registrare lo schermo.

    Parvares, grazie dei complimenti! Ho tolto i link perché alcuni cambiano nel tempo. 🙂 Se uno vuole vederli può aprire il link al post che hai suggerito. 😉

  37. Ciao, Andrea.
    Avrei bisogno del tuo aiuto, sto cercando di salvare sul computer questo video: http://it.dplay.com/hogzilla-sangue-nei-boschi/stagione-1-hogzilla-sangue-nei-boschi/

    Prima che creassero questo Dplay era molto più semplice recuperare video da dmax, ma adesso hanno complicato tutto.
    Seguendo ciò che hai scritto, utilizzando User Agent Switcher e Firebug ottengo questo link:

    <iframe id="BCPlayerInstance_668343" class="BrightcoveExperience" height="100%" width="100%" scrolling="no" style="border-style: none;" src="http://c.brightcove.com/services/viewer/htmlFederated?&width=100%25&height=100%25&flashID=BCPlayerInstance_668343&bgcolor=%23000000&playerID=4174830707001&playerKey=AQ~~%2CAAADqZefFrE~%2CsdGyAyJI7dcbQw4NEpDNk_NUCyY-ZWic&wmode=opaque&isVid=true&isUI=true&dynamicStreaming=true&localizedErrorXML=http%3A%2F%2Fit.dplay.com%2Fwp-content%2Fthemes%2Fwp-theme-dplay-global-test%2Fbrightcove%2FlocalizedError.xml&%40videoPlayer=4313042060001&autoStart=&debuggerID=&startTime=1435821890242&refURL=http://it.dplay.com/hogzilla-sangue-nei-boschi/">
    

    Lo apro in una nuova pagina e ne esce fuori il player, ma a questo punto mi blocco, non riesco a trovare nessun .m3u8, puoi darmi una mano a capire come scaricare da Dplay?

    1. L’iframe che hai trovato va bene. L’ho aperto anch’io e dentro al sorgente (Ctrl+U) si trovano tranquillamente i flussi M3U8 a varie risoluzioni. 😛

  38. Problema. sto provando a scaricare dei video da VVVVID, e tutto funziona, però da circa metà video, l’audio comincia a rallentare rispetto al video. Da cosa può dipendere? Questo è il video, ma mi succede anche con tutti gli altri di seguito.

    http://vvvvid-vh.akamaihd.net/i/Dynit/FateStay2/FateStayNight_Ep13m.mp4/index_0_av.m3u8
    

    Ricordami come scrivere un link tramite codice nei commenti, non mi ricordo XD. Quello che ho messo non è esatto.


    Quindi volevo chiedere se anche a te magari dà quel problema di audio o è solo una cosa mia, magari è un problema di VLC. Se ci sono delle alternative a VLC per registrare, potresti dirmele? Sinceramente di quelle che hai messo nella guida non ci ho capito granché. Per Windows.

  39. Ciao Andrea!

    Nella guida, hai consigliato di usare questo comando di rtmpdump:

    rtmpdump -R -o output.mp4 -r [URL]
    

    Ma se provo ad eseguirlo (su linux mint) mi dice che la -R non è un comando valido.
    Come mai?

  40. Paolo,

    Ricordami come scrivere un link tramite codice nei commenti, non mi ricordo XD

    Puoi usare HTML o Markdown, come preferisci.

    magari è un problema di VLC. Se ci sono delle alternative a VLC per registrare, potresti dirmele?

    Usa avconv. Il fatto che in genere basti VLC non toglie che avconv è e rimane il migliore strumento per queste cose. 🙂

    Sinceramente di quelle che hai messo nella guida non ci ho capito granché

    Be’, è meno complicato di quello che sembra. C’è già l’esempio con la riga di comando, a te basta copiarla uguale e rimpiazzare l’URL del flusso M3U8 con quello che hai già correttamente individuato.

    Daniele,

    mi dice che la -R non è un comando valido

    Se usi una versione vecchia di rtmpdump (precedente alla 2.4) non puoi usare l’opzione -R. Fai senza, però tieni presente quello che ho scritto nel post:

    L’opzione -R serve a non far “correre” troppo il programma, perché su alcuni siti questo crea problemi nella registrazione. Se provate senza, sarà più rapido ma potrebbe fallire in alcuni casi.

  41. Ho scaricato avconv, il problema è che nel rar ci sono un sacco di file e non so muovermi. Devo anche precisare una cosa. Quest’inverno scaricai sempre da vvvvid la prima serie di quello che ho linkato prima, nessun problema.
    Quando l’altro giorno ho notato problemi di audio, ho fatto una prova a scaricare una puntata che scaricai già quest’inverno correttamente, e con mia sprpresa l’audio era sfasato pure lì. Potrebbe essere anche un “antifurto” da parte di vvvvid? Perché altrimenti non riesco a capire perché.

  42. Grazie, Andrea 😀
    Un’ultima domanda poi ti lascio stare: sul sito della libav dove lo trovo AVConv?
    Uso Windows e tra i programmi che vedo non c’è il nome AVConv…

  43. ciao
    non me ne intendo molto. vorrei sapere come fare a catturare la musica che ascolto in epdlp.com. ad esempio mozart.
    già scarico dalla cache alcuni files video tipo video/x-ms-asf. come:

    http://www.epdlp.com/asx/balfe8.asx
    

    ma nella cache non vedo la musica che probabilmente è trasmessa in altre estensioni. dove si nasconde?
    puoi spiegarmi? grazie


    ciao
    sono ancora pierrette
    nella cache vedo:

    musica.php.htm text/html http://www.epdlp.com/musica.php 4.916 3 10/07/2015 11:39:38 10/07/2015 11:39:31 N/A Apache HTTP/1.1 200 OK 10/07/2015 10:40:07 N/A gzip No 31
    

    posso fare qualcosa per estrarre il file musica?
    grazie ancora

  44. Tanzi90,

    il problema è che nel rar ci sono un sacco di file e non so muovermi

    Sicuro di aver preso il file giusto? Non ci sono archivi RAR sul sito ufficiale, ma solo formati liberi seri (GZ, XZ oppure 7Z). Comunque una volta che hai scaricato la build che preferisci, ti basta cercare la cartella dei binari che conterrà (tra gli altri) quello di avconv.

    Potrebbe essere anche un “antifurto” da parte di vvvvid?

    Potrebbe, o potrebbe essere che il server trasmetta un po’ male e VLC sia più sensibile di avconv in questo specifico caso (più probabile).

    Z, il progetto Libav contiene avconv e altri tool. Se scarichi l’archivio con la build trovi quello e gli altri eseguibili tutti in un’unica cartella. Quindi scarica pure l’intera build di Libav. 😉

    Pierette,

    alcuni files video tipo video/x-ms-asf

    Per essere precisi, i file ASX non sono video, ma file XML che contengono playlist con file multimediali (audio oppure video). Se apri quel file XML (che è un semplice file di testo) trovi l’URL di un file audio in modo abbastanza esplicito. 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *