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.043 pensieri riguardo “Scaricare i contenuti audio e video presenti nelle pagine web — Guida completa

  1. Grazie, ho apprezzato l’articolo è molto chiaro, dettagliato e utile.
    Io sono alle prime armi sul gergo del computer, per ora gestisco la posta elettronica, la banca anche per i pagamenti dei bollettini, F24 ecc., navigo su facebook, guardo le fiction con rai fiction, su you tube trovo film e altro, ho problemi su le fiction di mediaset che si interrompe a metà video alla pubblicità è una seccatura perchè devo ricominciare dall’inizio e spesso si interrompe di nuovo alla seguente pubblicità che è tanta e lunga, praticamente non vedo mai la fine del video.
    Grazie dell’attenzione, buona domenica, anna da firenze

    1. Credo che usando il mio script per Video Mediaset (linkato nell’articolo) non avresti problemi con le pubblicità e, volendo, potresti anche salvarti il file del video per rivederlo successivamente. 😉

  2. Andrea, mi sto esercitando ad applicare i tuoi suggerimenti per impratichirmi nell’esplorare i codici html (mi oriento meglio) o java script…
    In particolare sto cercando di trovare l’indirizzo di un video di MTV.it a partire dal codice della pagina.

    sono riuscito ad individuare questi indirizzi

    che effettivamente consentono di aprire solo il video, ma poi il mio componente aggiuntivo Flashgot in Mozilla in XP, non è in grado di salvare il media. Nemmeno se dò l’inirizzo a VLC posso scaricarlo. Dove sbaglio? Come procedere?

  3. Il link che hai trovato è il player in flash del video, se salvi quello (cosa che volendo si potrebbe anche fare) ti ritrovi con un file SWF che è appunto il file flash che contiene il player, ma non è il video, come puoi verificare con file:

    andrea@farore:~/Scrivania$ file mgid\:uma\:video\:mtv.it\:856203.swf
    mgid:uma:video:mtv.it:856203.swf: Macromedia Flash data (compressed), version 11
    

    Comunque aprire in una nuova scheda il player è utile così puoi usare il pannello Net di Firebug senza troppe interferenze di altri elementi della pagina (immagini, script, eccetera). Da tale pannello potrai ottenere il link al file di configurazione chiamato video.jhtml:

    http://intl.esperanto.mtvi.com/www/xml/video.jhtml?uri=mgid%3Auma%3Avideo%3Amtv.it%3A856203&version=as3&keyValues=partner%3Dviral&franchise=viral

    Nel cui codice sorgente trovi questo pezzo:

    Salvando quell’URL ottieni un file XML con diverse cose interessanti, tra cui i riferimenti a varie qualità di stream RTMPE, quella più alta è:

    rtmpe://cp24806.edgefcs.net/ondemand/mtviestor/_!/intlod/MTVInternational/wmg_int/it1981/200008/IT1981200008_1280x720_3500_h32.mp4
    

    A quel punto dovresti usare rtmpdump dandogli anche l’URL dell’SWF per verificare, qualcosa del tipo:

    rtmpdump -W "http://mediamtvnserv-a.akamaihd.net/player/prime/mediaplayerprime.2.5.7.swf" -r "rtmpe://cp24806.edgefcs.net/ondemand/mtviestor/_\!/intlod/MTVInternational/wmg_int/it1981/200008/IT1981200008_1280x720_3500_h32.mp4"
    

    (notare la barra davanti al punto esclamativo per evitare problemi nel terminale)

    Però rtmpdump dà errore nell’handshake, specificamente nella versione del protocollo usata dal server. Nel mio caso questo fa bloccare il software, magari dipende dalla versione che uso io, però non registra. Anche get_flash_videos, che automatizza un po’ il tutto, fa partire un rtmpdump che poi fallisce.

    C’è anche la possibilità di lavorare con gli stream per cellulari. Cambia lo user-agent al browser e troverai con tecnica molto simile l’URL:

    https://cp105701-f.akamaihd.net/i/mtviestor/_!/intlod/MTVInternational/wmg_int/it1981/200008/IT1981200008_,384x216_150_b30,384x216_400_m30,512x288_750_m30,640x360_1200_m30,768x432_1700_m30,960x540_2200_m31,.mp4.csmil/master.m3u8?hdnea=expires%3D1394387984%7Eaccess%3D%2Fi%2Fmtviestor%2F_%21%2Fintlod%2FMTVInternational%2Fwmg_int%2Fit1981%2F200008%2FIT1981200008_%2C384x216_150_b30%2C384x216_400_m30%2C512x288_750_m30%2C640x360_1200_m30%2C768x432_1700_m30%2C960x540_2200_m31%2C.mp4.csmil%2Fmaster.m3u8%7Emd5%3Df432c6f4dbaed69eea79fed3ec52b416&__a__=off&__b__=450

    Questo si può riprodurre se riesci a convincere ffplay o ffmpeg a cambiare il proprio user-agent in quello di un dispositivo Android o iOs. L’ho fatto con VLC ma non riusciva a capire il formato, prova eventualmente con ffmpeg. 😉

    Hai scelto un esempio tosto per allenarti. 😛

  4. Grazie per la tua dotta consulenza.

    “Hai scelto un esempio tosto per allenarti”
    Dopo i tuoi script per rai, mediaset, La7, Rsi, che altro mi rimaneva? 🙂

    Ho letto attentamente la tua procedura, ma mi sono perso già al primo passo:

    “così puoi usare il pannello Net di Firebug. Da tale pannello potrai ottenere il link al file di configurazione chiamato video.jhtml”

    Ho lanciato la pagina con il video e ho aperto Firebug in Net, ma non so come ottenere “il link al file di configurazione chiamato video.jhtml” (non ho mai usato Firebug). Non riesco a vedere neanche la stringa dell’indirizzo “video.jhtml”…

    Come si procede per cambiare lo user-agent al browser?

    Grazie

  5. Non riesco a vedere neanche la stringa dell’indirizzo “video.jhtml”

    Hai ricaricato la pagina dopo aver aperto il pannello, come scritto nel post?

    Come si procede per cambiare lo user-agent al browser?

    Ah per quello puoi usare una delle classiche estensioni tipo User agent switcher per Firefox, o usare gli strumenti per sviluppatori. 🙂

  6. come faccio a salvare l’url? Il tasto di destra mi dice di aprire in altra scheda, ma non trovo “salva”

    Be’ hai l’URL, puoi usare wget o qualsiasi altro software. 😀

  7. Complimenti per l’ottimo articolo! 😉

    Sto tentando di memorizzare un video da fastvideo.eu (l’ultimo nato degli ormai innumerevoli siti di streaming video). Riferendomi al tuo articolo, penso (ma non ne sono convinto) si ricada nel secondo caso, ovvero quello di stream in formato RTMP. Ho cercato di farmi strada nel codice sorgente, ma pare che il link al flusso dati del video venga generato da uno script che è a sua volta generato da un altro script (si sono ingegnati questi di fastvideo.eu!). Qualcuno è riuscito a capire come rintracciare il link ai video di questo sito? Grazie! 😉

    1. Ho provato a visitare quel sito ma non sono riuscito a trovare nessun video visualizzabile, metà delle pagine vanno in 404. 😯

  8. Grazie mille per la risposta!

    Allora se non ti dispiace ti copio-incollo un link di esempio, spero così facendo di non infrangere qualche “regola” del tuo blog XD, in tal caso ti chiedo scusa in anticipo. Ecco il link:
    [cut]
    Premi sul button “proceed to video” sotto al “fake player” per essere reindirizzato alla pagina corretta.

    Grazie ancora! 😉

    PS (off topic): Ho dato un’occhiata al tuo blog, al tuo curriculum e al tuo canale youtube, ti ho stalkerato a dovere insomma! 😀 Ti vorrei fare i complimenti, soprattutto per l’opera di divulgazione dell’opensource (o software libero) che tu e i tuoi amici/collaboratori state portando avanti. Complimenti davvero! 😉

  9. Allora se non ti dispiace ti copio-incollo un link di esempio

    Quello non è un problema, potresti però metterne uno che non sia di un film piratato?

    Ti vorrei fare i complimenti

    Ti ringrazio. 😀

  10. Quello non è un problema, potresti però metterne uno che non sia di un film piratato?

    Perdonami, mi riferivo proprio a questo quando ho detto che non vorrei infrangere le regole del tuo blog.

    Trovare un contenuto “pulito” su quel sito mi sa che è praticamente impossibile, perché, come hai osservato tu, tutti i link sulla homepage sono corrotti e anche la funzione search sembra non essere stata implementata. In più, è inutile negare l’evidenza, ma questo genere di siti sono nati per ospitare materiale coperto da copyright o, se non sono nati per questo, per lo meno devono la loro fortuna a tali contenuti.

    Quindi il massimo che posso segnalarti per rimanere nell’ambito della “legalità” è di cercare su google site:fastvideo.eu, in questo modo google visualizzerà un elenco di alcuni video caricati sul sito.

    Spero di non aver superato un’altra volta il limite, altrimenti scusa nuovamente e considera la questione chiusa! 😉

  11. Allora non mettiamo link. 🙂 Comunque a titolo istruttivo (sono riuscito a trovare qualcosa che non fosse un film), nel codice della pagina c’è un pezzo di Javascript offuscato con un packer. Inizia per:

    [code lang=”text”]
    eval(function(p,a,c,k,e,d){while(c–)if(k[c])
    [/code]

    Se lo butti dentro a JsBeautifier ti ci puoi già raccapezzare un po’ meglio.

  12. In realtà mi pare più un sito di dirette che di video on-demand, ad ogni modo secondo me è meglio che tu legga il mio nuovo articolo, l’ho linkato apposta in cima a questo post. 😉

    Si è un sito per dirette video on-demand, ma i filmati trasmessi posso essere registrati sul sito ad esempio puoi visualizzare un filmato registrato attraverso questo link

    http://www.streamago.tv/movie/70296/desktop-2014-04-09-18-52-53/

    Ho provato a scaricare com da questa guida il plugin downloadhelper ma non trova il link.
    Grazie per il supporto

    1. Ho provato a scaricare com da questa guida il plugin downloadhelper ma non trova il link.

      Quella è solo una delle numerose cose di cui parlo nel post. Hai provato a guardare il codice della pagina come consigliato? Mi pare che le flashvars contengano una informazione molto interessante. 😉

      <param name="flashvars" value="xml=http://www.streamago.tv/movie/70296/desktop-2014-04-09-18-52-53/xml/&lang=it">
      

      Andando a visitare quell’URL puoi leggerne il contenuto (è un file XML) e dentro ci sono anche gli URL al file, in particolare quello RTSP sembra funzionare bene:

      <path_rtsp>
          <![CDATA[
          rtsp://live.cdn2.streamago.tv/cache/_definst_/streamago-vod/stg03/46/46389/40092/desktop1397062142781.mp4?idmovie=70296
          ]]>
      </path_rtsp>
      

      Se lo apri con VLC il video parte. Nel mio articolo non ho parlato granché di RTSP, tuttavia potresti provare sia VLC, che Mplayer, che altri programmi per registrare tale flusso. Buon lavoro. 🙂


      Aggiornamento: se ti interessa, una riga di comando per VLC che puoi usare come ispirazione è la seguente:

      vlc -vvv "rtsp://live.cdn2.streamago.tv/cache/_definst_/streamago-vod/stg03/46/46389/40092/desktop1397062142781.mp4?idmovie=70296" --sout="#transcode{vcodec=mp2v,acodec=mp3,scale=1,channels=2,audio-sync}:standard{access-file,mux=ps,dst=/home/andrea/a.mp4}"

      Chiaramente vorrai adattare il percorso del file di output e anche il codec usato, in quanto MP2 ha una qualità di uscita bassina: qui sono indicati quelli disponibili.

      Io comunque dopo averlo registrato gli darei un’altra passata con un video convertitore. È un flusso piuttosto rovinato.

  13. Grazie di tutte le info
    Ho provato a scaricare il filmato con Mplayer ma non riesce mi da errore

    cannot dump this stream – no file descriptor available
    Exiting…

    Mentre per quanto riguarda il tuo suggerimento di una riga di comando per VLC, non so come utilizzarla, scusami sono un po’ neofilo al riguardo….

    Grazie ancora di tutto

    1. La puoi usare nel terminale in modo analogo a quanto faresti con Mplayer. Se purtroppo sei costretto a usare Windows (che brutto 😛 ), puoi sempre fare un file bat nella cartella dove c’è vlc.exe.

  14. Ciao,
    grazie per la utile guida, tuttavia causa vari corollari della legge di Murphy (amplificati dal fatto di usare Win7 x64), il primo tentativo è tristemente fallito.

    http://animemanga.popcorntv.it/video/?cid=11412
    (il sito è di video on-demand gratuito)

    1. Firefox, Visualizza sorgente pagina
    2. Download file da riga:
      content="http://rrr.sz.xlcdn.com/?account=deltapictures&file=poppiu/Silverspoon2_01_IT.mp4&type=streaming&service=wowza&output=smil"
      
    3. Assemblaggio:
      rtmp://wos.cr2.streamzilla.xlcdn.com/vod/_definst_/sz/deltapictures/poppiu/Silverspoon2_01_IT.mp4?token=d4e13eafd8a0565f36bc622a18a6f68c&time=53470bc1
    4. Controllo stream su Potplayer: OK (visto primi 30s)
    5. File .bat per RTMPDump:
      rtmpdump -o output.mp4 -r rtmp://wos.cr2.streamzilla.xlcdn.com/vod/_definst_/sz/deltapictures/poppiu/Silverspoon2_01_IT.mp4?token=d4e13eafd8a0565f36bc622a18a6f68c&time=53470bc1
      
    6. ERROR: Closing connection: NetStream.Play.StreamNotFound
      Ora specificata non valida.
      Immettere nuova ora:
      

      (se al link metto le “”, la finestra DOS si apre e si chiude)

    L’Unica scappatoia è stata il “Video capture” di Potplayer dallo stream ma la qualità si abbassa e non si finisce più! In attesa che qualche buon’anima inserisca una soluzione su userscript, avresti qualche suggerimento su dove ho sbagliato?

    Grazie

    1. John,

      In attesa che qualche buon’anima inserisca una soluzione su userscript

      A cosa ti servirebbe? L’URL del video l’hai già trovato. 🙂 Confermo che ci devono andare le virgolette, altrimenti l’URL potrebbe dare fastidio alla riga di comando, specialmente perché ha un ? in mezzo. Ad ogni modo, puoi sempre provare la funzione di registrazione di VLC, dovrebbe funzionare. 😉

      Cinzia, se è per quello invece del proxy puoi anche usare una VPN, funziona pure quella. Dopodiché applichi quanto scritto nel mio articolo per analizzare il codice della pagina e vedere le flashvars:

      <param name="flashvars" value="netstreambasepath=http%3A%2F%2Fcda.gob.ar%2Fserie%2F2286%2Fesa-mujer&amp;id=video_container&amp;file=%2Fcontent%2Fvideos%2Fclips%2F2%2F13692_700.mp4&amp;skin=%2Finterface%2Fcda_v2%2Fdesktop%2Fjs%2Fjwplayer%2Fbeelden.zip%3Fv%3D115&amp;streamer=rtmp%3A%2F%2F186.33.226.133%2Fvod&amp;image=http%3A%2F%2Fcda.gob.ar%2Fcontent%2Fphotos%2Fgenerated%2F4%2F12084_serie.jpg&amp;controlbar.position=over">
      

      Una volta fatto il decoding trovi:

      <param name="flashvars" value="netstreambasepath=http://cda.gob.ar/serie/2286/esa-mujer&amp;id=video_container&amp;file=/content/videos/clips/2/13692_700.mp4&amp;skin=/interface/cda_v2/desktop/js/jwplayer/beelden.zip?v=115&amp;streamer=rtmp://186.33.226.133/vod&amp;image=http://cda.gob.ar/content/photos/generated/4/12084_serie.jpg&amp;controlbar.position=over">
      

      Direi che è un buon punto di partenza per poi mettere insieme i pezzi (in particolare netstreambasepath, file e streamer. Buon lavoro. 🙂

  15. Grazie per la risposta.
    Ho provato con il capture di VLC e il risultato è migliore senza artefatti durante movimenti video rapidi (a difesa di Potplayer il fatto che l’ho provato sono un volta senza settare nulla).
    Mentre con le virgolette l’errore in RTMPDump è: “ERROR: Closing connection: NetStream.Failed”
    Ho provato ha inserire il link nuovo con HiDownload Manager (il vecchio non era più valido neppure per lo stream, sarà che dopo un tot cambiano?!?) ma il download non parte.
    Io parto dall’esperienze del tuo script RAI dove esporto un link diretto in JDownloader e si va allegramente alla massima velocità, in questo caso esistono restrizioni di download e si può solo catturare lo stream dovendo aspettare che il video scorra tutto?

  16. Ciao ho provato su vlc ma mi ha scaricato solo l’audio

    se inserisco l’url direttamente su vlc mi fa visionare anche il filmato,
    invece mentre scaricava non visualizzava il filmato

    Non vorrei che ho inserito male la riga di comando

    vlc -vvv "URL" --sout="#transcode{vcodec=mp2v,acodec=mp3,scale=1,channels=2,audio-sync}:standard{access-file,mux=ps,dst=/output.mp4}"
    

    grazie ancora per il tuo prezioso supporto

  17. Andrea, scusami tantissimo ma…non potresti indicarmi un po’ più precisamente come devo procedere? Sto provando a seguire le tue isctruzioni ma…non riesco neppure a trovare la parte di codice che mi serve….
    Molte grazie se puoi aiutarmi….

  18. John,

    Ho provato ha inserire il link nuovo con HiDownload Manager (il vecchio non era più valido neppure per lo stream, sarà che dopo un tot cambiano?!?) ma il download non parte.

    Be’ sì, cambiano dopo un po’ (lo vedi in quanto l’URL contiene un token di autenticazione). Non conosco HiDownload Manager, ma sei sicuro che supporti il protocollo RTMP? Non stiamo parlando di HTTP qui.

    Io parto dall’esperienze del tuo script RAI dove esporto un link diretto in JDownloader e si va allegramente alla massima velocità

    Lì abbiamo un file MP4 servito con HTTP, qui uno stream su protocollo RTMP: sono due cose totalmente diverse, non le puoi paragonare. 🙂

    Joe,

    ho provato su vlc ma mi ha scaricato solo l’audio

    Se ti riferisci ai primi 10 secondi circa di video, sì, sono rovinati. Il resto dovrebbe andare, in caso contrario ti basta modificare la riga di comando cambiando codec, invece di mp2v mettine qualcun altro tra quelli indicati nella pagina dei codec che ti avevo linkato nel mio commento più su. 😉

    Cinzia,

    non riesco neppure a trovare la parte di codice che mi serve

    Il codice che ti serve in realtà te l’ho scritto nel commento, comunque lo trovi nel codice sorgente (HTML) della pagina. Hai letto il mio post qui sopra vero? Lì è spiegato come si trova. :mrgreen: Quando ci sei su questo punto, possiamo andare avanti con lo step successivo. 🙂

  19. Sì ho visto il codice che mi hai scritto nel commento, però ho provato a cercartlo nel codice sorgente ma non lo trovo… Facendo “trova” flashvars non trova nulla….. Perchè? cosa sbaglio?
    Molte grazie!!!

  20. Ti conviene guardare il codice del player usando Firebug, come dicevo nel post:

    Questo componente aggiuntivo ci permette, premendo F12, di aprire un pannello che 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.

    Almeno, questo è quello che ho fatto io per dare un’occhiata veloce. 😉

  21. Ok, grazie.
    Sapevo che i protocolli erano differenti, ma non avevo capito che nel caso di stream RTMP non si scarica da un vero e proprio file; mi ha confuso l’estensione .mp4 nella riga di codice.
    Quindi tra RTMPDump e VLC\Potplayer non c’è differenza, tutti e tre catturano il flusso stream su di un file. Ultima domanda: VLC\Potplayer indicano di settare il profilo di output del file video e quindi registrano lo stream convertendolo e abbassando la qualità originale immagino, RTMPDump fa lo stresso o preserva la qualità dello stream originale? Se in effetti c’è differenza mi rimane solo da capire perchè RTMPDump non funge.
    Si, HiDownload supporta i protocolli MMS RTSP RTMP HTTP FTP, sarebbe specializzato proprio per i video online e a tale scopo si installa anche WinPcap. Cercando un soluzione definitiva e pratica li ho provati un po tutti (Apowersoft, RTMPDumpHelper, URLSnooper, Streamtransport, TubeDigger, …), ma con pessimi risultati riguardanti i video RTPM/MMS/RTSP su siti che interessavano (per gli altri protocolli o i siti come Daylimotion\YouTube JDownloader o gli add-on firefox bastano e avanzano).

    Thanks

  22. Risolto dopo aver umilmente riletto la guida dall’inizio e usato la versione di RTMP 2.3 consigliata “in grassetto”, mea culpa… Per chi ha Kaspersky Internet Security bisogna inoltre aggiungere delle eccezioni, il fatto che il programma sia attendibile e con l’accesso pieno a internet non basta.
    RTMPDump ha quindi scaricato velocemente un video con bitrate molto alto, immagino il flusso originale senza conversioni; qualità alta ma lo scorrimento non è perfetto con VLC e PotPlayer (rettangolini o freeze di immagine). Dalla finestra DOS sembrava che RTMPDump scaricasse segmento per segmento, magari è questo che corrompe il file finale. Con la cattura di VLC la qualità è comunque buona e nessun fastidio di riproduzione. Sto provando anche l’opzione Dump Raw Input o altri settings video e nel complesso direi che è consigliabile.
    Grazie ancora per questa guida!

  23. Cinzia, è tutto lì nel tag object. Comunque sia, la faccenda è molto più semplice del previsto… se cambi lo user-agent del tuo browser in quello di un iPad o un altro dispositivo mobile, la pagina viene adattata per questi apparecchi e mettono un file MP4 catturabile usando Video Download Helper (credo serva comunque il proxy).

    John,

    qualità alta ma lo scorrimento non è perfetto con VLC e PotPlayer (rettangolini o freeze di immagine)

    Quello dipende solitamente da come è stato codificato il video. Potresti provare a convertirlo in un altro formato impostando dei parametri di qualità alta, in modo da fixare questa cosa. 😉 Per quanto riguarda la tua domanda su VLC, anche quello ha la possibilità di registrare il raw input, similmente a rtmpdump.

  24. Grazie Andrea!!!!!!!!!! Con user agent e Video Download Helper sto scaricando i video in modo perfetto e in Hd!!!!
    Meno male che nel web (e anche nel mondo…) ci sono persone come te disposte ad aiutare gli altri!!!!!!!
    Molte grazie ancora!!!!

    1. Prego, figurati. 🙂 In effetti mi viene il leggero sospetto che forse dovrei inserire il trick dello user-agent all’interno del post… Torna utile su alcuni siti.

    2. Sono riuscito utilizzando la funzione interna a VLC, Assistente di Esportazione, senza inserire nessun parametro di conversione, creando così dei file in TS, che ho poi convertito in MP4 con handbrack come da te consigliato.
      Grazie di tutto e della tua disponibilità!!!


      Hai qualche suggerimento per aumentare il Framerate dei filmati (dovrei aumentarlo a 5x).
      Grazie

  25. Prego, figurati. 🙂 Non ho capito la tua domanda… come fai ad aumentare il framerate? Se il video originale ha una certa frequenza, puoi solo “tentare” di ricostruire i frame in mezzo, ma è una cosa artificiale, come ingrandire un’immagine. È un po’ quello che fanno software come slowmoVideo (in questo caso per poi anche rallentare il filmato).

  26. sto guardando con vlf la tv digitale de laeffe; ho estratto un link da questa pagina e lo sto guardando con vlc.

    • E’ il link http://www.laeffe.tv/it_IT/home/live(stream).m3u8 però ha un difetto ogni tot secondi ripete un pezzo, sia la parte audio che la parte video, poi riprende, poi di quello che vedi e senti ne ripete un altro pezzo. Il bello è che audio e video non vanno mai fuori sincrono.
    • avevo anche trovato questo rtmpe://cp225189.live.edgefcs.net/live/LaEffeTVLiveFlash@111302 che però vlc non mi legge.

    La mia intenzione era registrare il fluzzo ma così a singhiozzi non va.

  27. Innanzitutto ti conviene salvare il manifest (quel piccolo file che finisce per .m3u8 e aprirlo con un editor di testo per scegliere la qualità più alta, altrimenti VLC usa la prima che solitamente è la più bassa:

    [...]
    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=640000,RESOLUTION=640x360,CODECS="avc1.77.30, mp4a.40.2"
    http://laeffetv_hls-lh.akamaihd.net/i/event_1@151573/index_5_av-p.m3u8?sd=10&amp;rebase=on
    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=640000,RESOLUTION=640x360,CODECS="avc1.77.30, mp4a.40.2"
    http://laeffetv_hls-lh.akamaihd.net/i/event_1@151573/index_5_av-b.m3u8?sd=10&amp;rebase=on
    

    Vedo che ci sono due stream, uno -b e uno -p, forse cambia la modalità di trasmissione o qualcosa del genere. Sto guardando l’ultimo da due o tre minuti con VLC e non ho riscontrato alcuno scatto. 🙂

    Riguardo alla versione in RTMPE, richiede la verifica del file SWF ed è un po’ rognosa, come puoi vedere provando con rtmpdump:

    andrea@farore:~/Scrivania/Scaricati$ rtmpdump -r "rtmpe://cp225189.live.edgefcs.net/live/LaEffeTVLiveFlash@111302" --swfVfy "http://www.laeffe.tv/layout/laeffeplayer.swf" -o lol.mp4
    RTMPDump v2.4
    (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
    Connecting ...
    WARNING: HandShake: Type mismatch: client sent 6, server answered 9
    INFO: Connected...
    ERROR: Closing connection: NetStream.Play.StreamNotFound
    andrea@farore:~/Scrivania/Scaricati$
    

    L’uso dello stream col file M3U8 mi sembra più praticabile. 😉

  28. Ciao, innanzitutto complimenti per la chiarezza, mi è risultato molto facile seguire tutti i passaggi.
    Ho scaricato rtmpdump dopo aver estratto manualmente l’URL e creato il file batch come hai indicato.
    dopo il doppio click sul file batch, mi si è creato un file output.mp4 nella stessa cartella, però questo file mp4 risulta essere di dimensioni zero, e ovviamente provando ad aprirlo con diversi players non va.
    questo è il contenuto del mio file download.bat

    rtmpdump -o output.mp4 -r rtmp://vod.streamago.tv/cache/_definst_/streamago-vod/stg03/45/45857/39603/1398614721725.mp4
    

    dove sbaglio?

  29. mentre aspetto la tua risposta ho continuato a pastrocchiare, nella stessa pagina di codice sorgente ho trovato anche rtsp://live.cdn2.streamago.tv/cache/_definst_/streamago-vod/stg03/45/45857/39603/1398614721725.mp4?idmovie=72259 e l’ho aperto con vlc, si apre! mentre rtmp://vod.streamago.tv/cache/_definst_/streamago-vod/stg03/45/45857/39603/1398614721725.mp4 non si apre. uhmmm…

  30. Hai visto quanto ho consigliato poco sopra a Joe? Quel flusso RTMP non risulta appunto accessibile, ma visto che puoi leggere l’RTSP ti consiglio semplicemente di registrare quello. Puoi provare con Mplayer come è scritto nel post, oppure con VLC, con l’opzione Converti/salva. Ti consiglio in quel caso di salvare il flusso impostando nelle opzioni di mantenere la traccia video originale. Poi quando ha finito eventualmente vedi se vuoi usare un software per convertire il formato. 🙂

    1. Eh, quello è uno dei siti più impestati in assoluto. Finora delle tecniche indicate nell’articolo quali hai usato e a che punto sei arrivato?

  31. Sì ma hai individuato l’URL di qualche manifest? Hai analizzato le richieste HTTP per vedere eventuali altri riferimenti utili? File di configurazione XML o link diretti al video? Hai verificato se usano link a dei file o a degli stream? Spiega nel dettaglio finora cosa hai fatto e quali info hai trovato, anche perché potrebbero tornare utili ad altri. 🙂

    1. No purtroppo non ho travo nessun URL utilizzabile, pertanto non ho potuto proseguire!!
      Ho provato con diversi programmini però senza poter scaricare il video! Mi dicono tutti indirizzo non valido o non utilizzabile.

  32. Ho provato con diversi programmini però senza poter scaricare il video

    Be’, sicuramente non troverai un software a cui dare un link estremamente generico del tipo http://www.vatican.va/video/ e che magicamente capisca quale video desideri. 🙂 Ma suppongo che perlomeno dal pannello Net di Firebug qualche richiesta HTTP più o meno utile la dovresti trovare…

  33. è molto interessante però per me un po’ complicato…. comunque grazie per la pazienza che ci hai messo. Ciao Massimo

    1. Mi fa piacere che tu abbia apprezzato l’articolo. 🙂 Come tutte le cose, diventa meno nebuloso dopo un po’ di allenamento, per quello ho cercato di inserire un link di esempio per ciascuna tecnica che ho spiegato, così si può provare a replicare i passi che ho fatto. 😉

  34. se cambi lo user-agent del tuo browser in quello di un iPad o un altro dispositivo mobile, la pagina viene adattata per questi apparecchi e mettono un file MP4 catturabile usando Video Download Helper

    Ciao Andrea. Ho di nuovo problemi con quei video: ho scaricato ben 110 video usando user agent, una VPN e download helper, ma ora dopo che sono stati fatti lavori di manutenzione alla pagina, se con user agent cambio il browser in quello di un iPad (come ho fatto per 110 video…) il video non viene più visualizzato, viene il messaggio “formato video non supportato”…..
    Como posso fare?
    Grazie se potrai aiutarmi ancora una volta…!!
    Cinzia

    1. Ma a te basta scaricarli, non vederli, o sbaglio? Che non riconosca il formato indica semplicemente che il tuo Firefox non legge quel tipo di MP4, ma Video Download Helper dovrebbe poterlo scaricare lo stesso.

  35. Se non cambio il browser con user agent li vedo, non li vedo più se lo cambio. Sì, mi interessa scaricarli, ma il download helper non si attiva più ora in quella pagina….

    1. Al limite puoi sempre aprire Firebug e trovare l’indirizzo nel codice dopo aver cambiato user-agent.

  36. Con firebug….diventa di nuovo più complicato….;( Dovrei tornare al browser normale con user agent, per usare firebug, giusto?

  37. Dovrei tornare al browser normale con user agent, per usare firebug, giusto?

    Tieni sempre uno user-agent mobile e un proxy attivato, comunque non è affatto complicato se sei in “modalità mobile” appunto.

  38. Potresti dirmi per favore come trovo l’indirizzo nel codice utilizzando firebug e poi come posso scaricarlo?Non ci capisco nulla….;(

  39. Basta andarci sopra col mouse, come è scritto nel post tra l’altro (ho messo un esempio apposta).

    http://imgur.com/PPHKaI6

    Non mi avevi detto però che ora erano passati a mettere link a stream in M3U8, come si vede dalla figura. Qui cambia un po’ la faccenda, e dovrai usare un software a tua scelta (tipo VLC o altri) per registrare tale flusso. Il problema è che pare proteggano anche quest’ultimo con i controlli geografici, quindi dovrai usare un proxy su VLC o comunque il programma che sceglierai per registrarlo.

  40. Scusa..ma non lo sapevo…. Che differenza c’è?? E come potrò usare il proxy su Vlc? Ho notato solo oggi comunque che ora i video sono visibili anche senza VPN (su crome si vedono senza alcuna limitazione)…

    1. La differenza tra file e stream è accennata a inizio articolo ed è un requisito basilare per capire di cosa stiamo parlando. 🙂 Immagino che VLC abbia la possibilità di impostare il proxy nelle opzioni, ad ogni modo mi fido che riesci a vederli… Io ho solo fatto una prova di corsa e ho notato che non riuscivo ad aprire lo stream, ma magari mi sbaglio io.

  41. Non è quello che intendevo io però mi sembra un ottimo URL. È il riferimento a un file SMIL. Non inserirlo in VLC, ma aprilo con Firefox, vedrai un esempio di contenuto con link allo stream RTMP molto simile a quello nell’articolo. 🙂 Casomai prova con quello (bisogna vedere se ti serve un proxy o no però).

Lascia un commento

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

Puoi formattare il testo con la sintassi Markdown.