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. L’URL che hai scritto nel commento funziona perfettamente:

    Flusso video aperto con VLC

    Avrai qualche problema con VLC. 😛 Comunque procedi pure a registrarlo con rtmpdump, perché l’URL è giusto.

  2. Ah ok allora posso andare avanti anche se questo passaggio non mi funziona, meno male . =) =)

    Comunque è strana come cosa, perché ho anche provato a cambiare PC eppure…… Forse dipende dal fatto che io ho Windows. Appena posso mi faccio una partizione con Linux.

    Se no nei commenti dicevi di “avviare da terminale” ma cosa significa avviare da terminale, e come si fa?

    Ormai il problema è risolto e vado avanti comunque, ma per curiosità mi piacerebbe sapere cosa significa.

    Grazie mille =)

  3. Scusami si ti disturbo così spesso, ma sto cercando di registrare usando rtmpdump ma non capisco minimamente come funziona.

    Nell’articolo dici di scaricare l’archivio e di estrarlo in una cartelle a caso (basta che non sia quella di sistema)

    Ma poi??? Io ho scaricato l’archivio e l’ho estratto. Ho ottenuto una cartella con diversi file e una sottocartella con altri file all’interno…….

    Che devo fare adesso? Applicazione apro??? Dove incollo il link?? Come installo il programma???

    Su come usare rtmpdump non ho capito assolutamente nulla, puoi aiutarmi??

    Grazie di tutto. =)

  4. Appena posso mi faccio una partizione con Linux.

    Questa è un’ottima cosa. 🙂 Non solo per registrare i video, ma proprio in generale. 😉

    cosa significa avviare da terminale, e come si fa?

    Intendo dire che puoi aprire un terminale e usare rispettivamente i comandi wget oppure curl per salvare o stampare a video il file di cui parlavamo. Sono due download manager come tanti altri, ma a mio avviso si fa molto prima che aprire un programma grafico appositamente. 🙂 Poi ovvio, uno vale l’altro.

    Come installo il programma?

    Non ho capito cosa intendi per installare il programma. Non c’è nulla da installare, dovresti avere l’eseguibile rtmpdump.exe (è quello il programma) nella cartella estratta. È un tool da riga di comando, ovviamente se ci clicchi sopra non vedrai nulla. Procedi a creare il file .bat come spiegato nel post e poi avvia quello cliccandoci sopra. 🙂

  5. Ok ora ho creato il file batch e ho creato esattamente questa riga di comando:

    rtmpdump -o output.mp4 -r rtmp://wos.cr1.streamzilla.xlcdn.com/vod/_definst_/sz/deltapictures/poppiu/Coppelion_01_IT.mp4?token=5fc3f929d56a46a9e7779c3ab9fe56a5&time=543040c5

    Poi però quando lo apro invece di avviare il download, Mi compare questo messaggio di errore:

    ERROR:  Closing connection: NetStream.Play.StreamNotFound
    
    Ora specificata non valida.
    
    Immettere nuova ora:
    

    Secondo te dov’è che sbaglio?

    1. A parte il fatto che non hai messo l’URL tra virgolette " (potrebbe dare problemi), mi pare di capire che stai tentando di usare lo stesso URL di ieri, con il token vecchio. È chiaro che il token di sessione non duri in eterno, altrimenti non lo metterebbero proprio. 😛 Genera nuovamente l’URL RTMP e poi provvedi a registrarlo.

  6. Ok ottimo, ho rifatto tutto il procedimento e ho creato la riga di comando (questa volta mettendo l’URL tra virgolette) funziona perfettamente!!! =) =)

    Anzi direi che è anche molto veloce come download, e il video finale ha un ottima qualità. Fantastico!!! =)

    Per fare pratica ho scaricato ben 5 video differenti, prendendoli però dallo stesso sito.

    Domani invece cambierò sito e userò User Agent Switcher per cambiare user-agent, dato che il mio scopo finale sono i video del sito vvvvid. Quindi è possibile che mi avrai tra i piedi ancora per un po’ =P =P

    Intanto ti ringrazio veramente tanto per tutto l’aiuto che mi hai dato fino a questo punto, senza non ci avrei mai capito nulla. Grazie mille =)

    1. Ciao Luke
      quando riesci a scaricare i video da VVVVID, per favore posta qui il procedimento. Perchè io davvero non riesco a capire cosa fare. Grazie 🙂

  7. Ok va bene, tanto quando ho un intoppo chiedo sempre aiuto a Lazza qui nei commenti, quindi ti basta seguire l’evolversi della situazione. Che tanto io non mollo finche non ci sarò riuscito. E con l’aiuto di Lazza sono sicuro che ce la farò!!!! =) =)

  8. Gianfranco, mi sembra di aver spiegato per filo e per segno come si scarica VVVVID, oltre ad aver risposto ai tuoi dubbi. 🙂 Comunque se c’è qualche altra difficoltà basta chiedere, eh. 😛

  9. Ciao Lazza, sono ancora io che come al solito vengo a chiederti aiuto, perché sono di testa dura e prima di capire le robe mi ci vuole un eternità =P
    Allora, ho cambiato lo user- aent e l’ho attivato correttamente (ne sono sicuro perché prima ero su you tube e vedevo la versione mobile). Così sono andato nel sito della vvvvid, ho preso un video a caso e ho usato ctrl+u per visualizzare il codice HTML ma non c’è nessuna differenza tra quello in versione mobile e quello normale.

    Il link del video è questo:

    http://www.vvvvid.it/#!show/173/Terra-Formars/161/458056/Mutazione

    Ma non riesco minimamente a capire quale possa essere l’URL giusto.
    Mi sono letto praticamente tutto il codice e non ho trovato nessun URL che finisce con “m3u8” oppure con “smil” o che sia minimamente simile a quelli che c’erano nell’altro sito.

    Tu ci capisci qualcosa??

    Ho anche provato ad usare Firebug come spieghi nei commenti e nell’articolo, ma ci capisco ancora meno di prima.

    Allora ho provato a usare il comando javascript che hai indicato. Ho aperto una nuova scheda di Firefoz e nella barra dagli indirizzi ho incollato esattamente questo:

    javascript:alert(vvvvid.player.config._playlist[0][0].src);
    

    Poi ho premuto invio, ma non è successo assolutamente nulla. Ho anche provato a rifarlo con Firebug attivo ma niente.

    Sono abbastanza certo di star sbagliando qualcosa (per non dire tutto).

    Alla fine da quello che ho capito basta trovare il giusto URL da cui estrarre l’RTMP, ma non riesco a trovarlo.

    Tu riesci ad indicarmelo???

    Grazie di tutto =) =)

  10. Ho finalmente scaricato un video da popcorn tv usando Mac OS con un programma chiamato RtmpDump GUI, solo che vengono fuori continue imperfezioni e bande verdi, ho riprovato chiudendo tutti i programmi per facilitare il processo ma non cambia niente. Il procedimento che usi tu con Linux da anche a te questi problemi? oppure i video in hd 720p ti vengono senza imperfezioni, perché in caso installo Ubuntu con VirtualBox e ci riprovo

  11. Luke89,

    ho cambiato lo user-agent e l’ho attivato correttamente

    Scusa ma… ho appena detto a Gianfranco di non cambiarlo:

    Comunque a me con Firefox ora comincia a “impazzire” se mi spaccio per un dispositivo mobile, cosa che non accadeva precedentemente. Comunque poco male, resta valido lo stesso procedimento (senza cambio user-agent) per trovare l’indirizzo del file F4M.

    Così sono andato nel sito della vvvvid, ho preso un video a caso e ho usato ctrl+u per visualizzare il codice HTML

    Non è quello che ho scritto di fare. 😛 Dai suvvia, non cambiate le istruzioni che do, sennò non finiamo più. 😀

    Ho anche provato ad usare Firebug come spieghi nei commenti e nell’articolo, ma ci capisco ancora meno di prima.

    Sì, Firebug è la cosa migliore, se non altro perché (come dicevo prima) trovi l’URL F4M che appare in bella mostra appena premi “play”:

    Screenshot pannello richieste di rete con URL di un flusso F4M

    Eccolo qua. Stupendo e perfetto per essere copiato. 😉 Otteniamo in questo caso:

    http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/TerraFormars/TerraFormars_Ep01.mp4/manifest.f4m
    

    Poi, come dicevo nei commenti precedenti, in questo caso specifico siamo fortunati perché VVVVID usa più formati per i flussi, e con un semplice tentativo possiamo “beccare” altri flussi. Per esempio, ecco l’M3U8:

    http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/TerraFormars/TerraFormars_Ep01.mp4/playlist.m3u8
    

    Una cosa curiosa (per non dire fastidiosa) è che hanno disattivato l’RTMP (che prima andava, visto che avevo registrato un video con quel metodo). Niente paura! Si può registrare l’M3U8 usando la funzione di conversione/registrazione di VLC. Oppure, se preferisci un tool a riga di comando, puoi usare avconv perché Mplayer non lo gestisce bene:

    avconv -i "http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/TerraFormars/TerraFormars_Ep01.mp4/chunklist_w915590972.m3u8" -acodec copy -vcodec copy -qscale 0 output.mp4
    

    Ho aperto una nuova scheda di Firefox e nella barra dagli indirizzi ho incollato esattamente questo

    Perché una nuova scheda? 😯 Se fai così il Javascript viene eseguito su una pagina vuota, non sul sito di VVVVID…

    Ric, quello potrebbe dipendere dalla versione di rtmpdump che viene usata dall’applicazione che hai adoperato. Personalmente non mi pareva di avere difetti visibili in fase di registrazione. La versione che uso io attualmente è la v2.4. Poi potrebbe anche dipendere dalla connessione ad Internet se per caso è poco stabile, ma quello penso sia meno probabile.

  12. Mi sembrava di aver fatto una gran confusione e infatti non ci avevo capito nulla, sai è la prima volta che provo a mettere mano in questo genere di cose 😛 Quindi ringrazio molto per la tua grande pazienza 🙂

    Per cercare di risparmiare un po di tempo questa volta scriverò un commento un po più lungo, dove di spiego direttamente i mie dubbi e come pensavo di procedere, cosi spero di chiarire tutte le cose in una volta sola (abbi ancora un po di pazienza 😛 )

    Allora, ho fatto dei tentativi procedendo in questo modo: ho attivato Firebug e poi ho caricato la pagina del video che è partito in automatico. Come dicevi tu, ho trovato subito l’URL F4M, che è esattamente quello che mi avevi indicato nel commento precedente.

    Mentre non ostate i mie tentativi non sono riuscito a trovare l’M3U8

    Comunque sia sono andato avanti e ho copiato il l’URL F4M, che è esattamente questo:

    http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/TerraFormars/TerraFormars_Ep01.mp4/manifest.f4m
    

    A questo punto, esattamente come avevo fatto per i video dell’altro sito, sono sono ho incollato questo link nella barra degli indirizzi di Firefox e ho premuto invio per far partile il dowload del file. Ma questa volta mi invece di partirmi il dowload si è aperta una pagina con su scritto:

    Il file XML specificato apparentemente non ha un foglio di stile associato. L’albero del documento è mostrato di seguito.
    Dynit/TerraFormars/TerraFormars_Ep01.mp4 […]

    Quindi qui mi sono bloccato!

    Allora rileggendo il tuo commento precedente mi è venuto questo sospetto: non è che per caso questa volta l’URL F4M va scaricato direttamente con Mplayer??

    In questo caso ci sono delle cose che non ho capito bene.

    Tu dici di usare Avconv, ma non ho capito se avconv è un nuovo programma che devo usare apposto di Mplayer, o è un nuovo comando che devo inserire quando forma la riga di comando del file File batch???

    E nel secondo caso, nel commento mi indichi di usare questa riga di comando:

    avconv -i "http://wowzaondemand.top-ix.org/videomg/\_definst_/mp4:Dynit/TerraFormars/TerraFormars_Ep01.mp4/chunklist_w915590972.m3u8" -acodec copy -vcodec copy -qscale 0 output.mp4
    

    Dove la prima parte dell’URL è chiaramente l’URL F4M ma poi aggiungi anche questa parte:

    chunklist_w915590972.m3u8
    

    Da dove arriva?? Come hai ricavato questo ultimo pezzo di URL???

    Lo so che probabilmente la soluzione è sotto al mio naso e che mi sto perdendo in un bicchiere d’acqua, ma abbi pazienza, pano piano son sicuro che ci arrivo 😛

  13. Mentre nonostante i mie tentativi non sono riuscito a trovare l’M3U8

    Non lo trovi, lo crei tu. Per trovarlo dovresti aprire con user-agent mobile, ma abbiamo evitato proprio perché il sito impazzisce e continua a ricaricarsi la pagina se lo facciamo. Almeno, a me succede così ed è una rottura di scatole lavorare in ‘ste condizioni. Meglio quindi trovare l’F4M e ricavare l’M3U8 a mano.

    È solo che c’è un piccolo problema:

    ma poi aggiungi anche questa parte

    Infatti ho sbagliato a fare copia-incolla. 🙁 L’URL M3U8 di questi server in genere finisce sempre per playlist.m3u8. Quindi partendo dall’URL F4M, si fa una banale sostituzione:

    manifest.f4mplaylist.m3u8

    E, se ti va bene (come in questo caso), la cosa funziona. La parte “misteriosa” è un pezzo di testo contenuto in questo file, ma non è necessario trovarla in realtà. Ho copiato il risultato di un esperimento inutile per sbaglio.

    Tu dici di usare Avconv, ma non ho capito se avconv è un nuovo programma che devo usare apposto di Mplayer, o è un nuovo comando che devo inserire quando forma la riga di comando

    Sì, hai detto due volte la stessa cosa. 😛 È un diverso comando quindi implica che sia anche un diverso eseguibile. Su Linux puoi installare Libav e avere tutto comodamente dal gestore pacchetti, per gli altri sistemi operativi dovrai procurarti il binario avconv dal sito ufficiale di Libav su cui pare ci sia anche la versione per… Windows. Brrr che brutta parola. 😛 😀

    Il problema di Mplayer è che digerisce male alcuni flussi M3U8, avconv sembra prenderli decisamente meglio. In alternativa a Libav, puoi usare VLC che ha la funziona di registrazione flussi. È una cosa che va a gusti personali. 🙂

  14. Ok perfetto, ha funzionato alla perfezione!!!

    Per registrare il flusso ho usato VLC, dato che guardando nel sito di che mi hai dato ho trovato diverse versioni di Avconv ma sembravano essere tutte per Lunux e sinceramente avevo paura di sbagliare versione e fare un gran pasticcio. 😛 😛

    Se conosci un link diretto alla versione giusta per Windows posso provare a scaricarlo e a tentare (giusto per diletto) a usare anche il metodo con gli eseguibili a riga di comando. Se no lascia perdere che ti ho gia fatto perdere troppo tempo, e comunque non è necessario dato che il metodo con VLC funzione benissimo.

    Ti ringrazio veramente tanto per avermi guidato fino alla fine nell’apprendimento di questa tecnica.

    Sei stato veramente un ottimo insegnate. 😀 😀

  15. guardando nel sito di che mi hai dato ho trovato diverse versioni di Avconv ma sembravano essere tutte per Linux

    Io non ho provato di persona, ma sono ragionevolmente sicuro che dove c’è scritto Windows Nightly and Release Builds non sia software per Linux. 😛

    Ti ringrazio veramente tanto per avermi guidato fino alla fine

    Prego. 🙂

  16. grazie per le info. ho provato a testare il metodo con questo link di vvvvid :
    http://www.vvvvid.it/#!show/174/Quarto-potere/162/458255/Quarto-Potere

    Seguendo i vari passaggi che hai spiegato, ho creato un file download.bat con questo comando:

    avconv -i "http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/Movies/QuartoPotere.mp4/" -acodec copy -vcodec copy -qscale 0 output.mp4/chunklist_w915590972.m3u8" -acodec copy -vcodec copy -qscale 0 output.mp4

    che ho salvato nella cartella dove è posizionato avconv.exe (versione per windows).

    Purtroppo cliccando sul file .bat si apre la finestra cmd ma non succede nulla (tranne che appare una stringa con il numero di versione di avconv).

    Quali passaggi sto sbagliando?

    Grazie in anticipo!

  17. Non mi è del tutto chiara la tua riga di comando, non capisco come potrebbe funzionare… La tua è:

    avconv -i "http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/Movies/QuartoPotere.mp4/" -acodec copy -vcodec copy -qscale 0 output.mp4/chunklist_w915590972.m3u8" -acodec copy -vcodec copy -qscale 0 output.mp4

    Mentre dovrebbe essere:

    avconv -i "http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/Movies/QuartoPotere.mp4/playlist.m3u8" -acodec copy -vcodec copy -qscale 0 output.mp4

    Ci sono evidentemente dei pezzi in più, oltre alla già discussa questione del nome del file playlist.m3u8.

  18. scusami, ho fatto un errore nel copia e incolla e dimenticato di aggiungere la parte finale dell’url…tuttavia anche con la riga che hai corretto tu rimane lo stesso problema: avconv appare nella finestra cmd ma non parte nessun download. potrebbe essere un problema di windows o del mio pc/connessione? grazie per la pazienza

  19. potrebbe essere un problema di windows

    Sì, potrebbe, o può essere che tu abbia salvato il binario in una cartella su cui non puoi scrivere, o chissà che altro. È comunque difficile poterlo dire così su due piedi. 🙂 Chi sceglie di usare Windows al posto di Linux si trova poi l’onere di verificare, adattare, eccetera… le informazioni che do. 😉

  20. Percival, vedi i commenti qui sopra scambiati con Luke89, specialmente questo e un paio dei precedenti e successivi. In sintesi, troviamo un URL F4M ma fortunatamente riusciamo a ricavarne uno analogo in M3U8, che è più facile da registrare (per esempio con VLC).

  21. Salve a tutti
    ho un problema a scaricare il video presente nella pagina http://ol-tutor.polito.it/claroline/module/INWICAST/entry.php?cmd=share_media&mediaRef=MEDIA080903153642103
    che fa riferimento ad uno stream: mms://wmserver.polito.it/videolezioni/Precorso_matematica_lezione1_parte1.wmv

    da ubuntu linux su terminale invio il comando:

    mplayer -dumpstream -dumpfile output.wmv mms://wmserver.polito.it/videolezioni/Precorso_matematica_lezione1_parte1.wmv
    

    risultato :

    MPlayer svn r34540 (Ubuntu), built with gcc-4.6 (C) 2000-2012 MPlayer Team
    mplayer: could not connect to socket
    mplayer: No such file or directory
    Failed to open LIRC support. You will not be able to use your remote control.
    
    Playing mms://wmserver.polito.it/videolezioni/Precorso_matematica_lezione1_parte1.wmv.
    STREAM_ASF, URL: mms://wmserver.polito.it/videolezioni/Precorso_matematica_lezione1_parte1.wmv
    Resolving wmserver.polito.it for AF_INET6...
    
    Couldn't resolve name for AF_INET6: wmserver.polito.it
    Resolving wmserver.polito.it for AF_INET...
    Connecting to server wmserver.polito.it[130.192.190.34]: 1755...
    
    Connected
    
    MPlayer interrupted by signal 13 in module: open_stream
    write error
    
    Alert! EOF
    
    MPlayer interrupted by signal 13 in module: open_stream
    
  22. Ma a te risulta riproducibile quel flusso MMS? A me no, non si riesce a visualizzare. Per di più, quando vado all’URL da te indicato mi chiede di fare login, quindi è pure protetto da un’autenticazione.

  23. Salve,
    In primis grazie per la guida unica!!
    Avrei solo bisogno di un aiuto se è possibile per favore.
    Con l’aiuto di Firebug sono riuscito ha trovare l’indirizzo url su VVVVID di un episodio di Fate/Stay Night: Unlimited Blade Works 2014 , ovvero:

    http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/FateStay/FateStayNight_Ep01.mp4/manifest.f4m

    http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/FateStay/FateStayNight_Ep01.mp4

    Fatto ciò, non riesco a scaricarlo. Ho provato a inserire l’indirizzo nella barra degli url e a fare invio ma ricevo la scritta Wowza Media Server 3 Perpetual Edition 3.6.3 build8031, ho provato anche i programmi sopra elencati: ismdownloader appena lancio il .bat non risponde e devo terminarlo, mplayer lancio il .bat ma non succede niente e rtmpdump dove lancio il .bat e mi da il file video mp4 ma rimane sempre sui 0 bite.

  24. Ciao! Ho letto la tua guida fatta davvero molto bene, così ho capito molte cose. Sono riuscito a scaricare vari video di alcuni siti. Purtroppo, con il sito Popcorntv non ci riesco.
    Facendo riferimento a questo video: http://animemanga.popcorntv.it/guarda/space-dandy-promo/5125
    Ho trovato questo url:

    rtmp://wos.cr2.streamzilla.xlcdn.com/vod/_definst_/sz/deltapictures/poppiu/Promospacedandy.mp4?token=f1571344b300cba593bc815c518907d8&time=543d0c82
    

    Immettendolo nella riga di comando di rtmpdump 2.3, mi da il seguente messaggio d’errore: “Ora specificata non valida. Immettere nuova ora.”
    Se ho fatto qualche stupidaggine me ne scuso in anticipo…


    Scusami, non mi ero proprio accorto che ci fossero due pagine di commenti, e che un’altra persona avesse il mio stesso problema… Tutto risolto, scusami ancora!

    A questo punto avrei un altro problema però…. il video ricavano da rtmpdump, oltre a pesare oltre 1 GB per una ventina di minuti, si vede a scatti… Quale può essere il problema?

  25. Orfeo, ok l’URL F4M è giusto, ma poi non ho capito in base a cosa ricavi questo URL:

    http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/FateStay/FateStayNight_Ep01.mp4

    Questo non funzionerà. Consiglio di attenersi a quello che ho detto di fare quando ho dato le indicazioni a Luke89 e registrare l’M3U8.

    ho provato anche i programmi sopra elencati: ismdownloader appena lancio il .bat non risponde e devo terminarlo, mplayer lancio il .bat ma non succede niente e rtmpdump dove lancio il .bat e mi da il file video mp4 ma rimane sempre sui 0 bite

    Be’ questo credo sia prevedibile, nessuno di questi programmi registra file F4M, tantomeno M3U8 (a parte qualcuno, che si riesce a salvare con Mplayer, ma pochi). Nell’articolo ho spiegato in quali casi usare i vari software, ognuno ha il proprio scopo e i propri limiti. 😛

    Andrew, ottimo che tu abbia risolto! Riguardo alla domanda sul video a scatti, è difficile dirlo con certezza. Potrebbe dipendere dalla stabilità della tua connessione ad Internet, da problemi del loro server, dalla versione di rtmpdump usata e da altre cose.

    cmarco71, lo so, me l’avevi già scritto, e appunto quella pagina richiede autenticazione.

  26. Mmm ok, è molto strana come cosa però effettivamente facendo la sequenza come dici riesco ad aprire la pagina. Fin qui tutto bene. A me però non funziona il video, non riesco a guardarlo con nessun player libero (ho provato VLC, Totem, Mplayer, e Libav nonché la registrazione con mimms). Mi viene dunque il sospetto che lo stream sia rovinato e che magari si riesca a riprodurre solamente usando Windows Media Player.

    Secondo me la cosa più furba da fare è scrivere al politecnico lamentando che sei un utente Linux e che usando VLC oppure Mplayer non riesci a visualizzare i filmati sul sito. Se risolvono la cosa, poi potrai anche riuscire a registrarli. 😛

  27. ciao lazza scusa ma non andavo nell’email a leggere le notifiche perchè non mi sono iscritto per le notifiche. venivo direttamente qui a leggere.
    ho fatto come dicevi e stavolta mi da la possibilità di scaricare il video da dmax ma ci sono dei problemi.

    1. scarica un file di 2gb con firefox è davvero molto lento (parliamo di 15 ore)
    2. la qualità del file finale è scarsa
      ho provato con media stealer e anche li’ mi da un url con un file di 2gb bitrate… io lo scarico con jdownloader e mi si ferma sui 250mb e non va piu avanti. tu hai provato a scaricarlo tutto? perchè si ferma? perchè risulta un file di 2gb per 43 minuti di durata dell’episodio?

    grz 😉

    1. I 2GB non sono da tenere in considerazione in quanto il server usato da DMAX non comunica la dimensione corretta del file, e quindi inganna il browser (o il programma di download). Questo si traduce in un tempo di download stimato che non corrisponde alla realtà, pertanto non badarci. Quando vedi che è terminato, hai il file intero.

  28. si ma infatti non ci ho badato e ho lasciato fare. il problema è che la qualità è un po’ scarsa infatti per 43minuti c’è un file flv di 250mb. è pochino, la risoluzione è 640×360 e anche il bitrate è basso non puo’ essere il massimo. ci sono anche altre risoluzioni secondo me, lo dimostra il fatto che in streaming dmax si vede mooolto meglio del file che scarico. si vede la differenza a occhio nudo.

  29. con tutto il rispeto, non ci ho capito niente, potresti postare un video per il procedimento solo per i video di VVVVID? Io ho cercato di fare tutto passo dopo passo, ma non ci sono riuscito.

  30. grazie
    con la guida sono riuscito ad estrarre video da vvvid da gustarmi sul tv di casa
    usando firefox o usato firebug e nella finestra net ho visto l’url http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/PsychoPass2/PsychoPass2_Ep02.mp4/manifest.f4m poi ho cambiato manifest.f4m con playlist.m3u8 ed ho incollato il tutto in vcl nella sezion e flusso. selezionato salvataggio, selezionato formato, cartella e nome e fatto avvio e voilà

    grazie ancora

    p.s. il sito vvvid permette di salvare solo in orari di bassa affluenza

  31. Ciao, sai qualcosa per quanto riguarda sky Online? Usa silverlight ma non riesco a trovare il Manifest 🙁

    1. In genere basta intercettare la richiesta usando Firebug, comunque dovresti almeno darmi un link di una pagina con un video che ti interessa.

  32. Ciao ho seguito la tua guida ma ho usato Internet Download Manager per ricavare il link RTMP e riesco a scaricare perfettamente da VVVVID eccetto per alcuni video che laggano. Anche provando a scaricarli piu volte lo stesso file, allo stesso minuto parte il lag. Uso Windows 8 e vorrei sapere se con Linux potrei risolvere il problema. Il file che mi lagga e’ questo:

    http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/TokyoGhoul/TokyoGhoul_Ep09.mp4
    

    Ah oltre a questo io abito a Londra e uso Chrome con un’estensione per accedere a VVVVID, mentre con Mozilla mi accede ma mi quando vado a vedere un video mi parte e finisce, fa partire il secondo episodio che parte e finsce anche questo finche non ci sono piu episodi della stessa serie da visualizzare


    Altra domanda sai come posso scaricare dal sito: http://www.crunchyroll.com/
    con sottotitoli inclusi?

  33. Ciao Andrea,scusami potresti aiutarmi riguarda vvvvid e il passaggio iniziale dello user agent?
    sostanzialmente ho provato a mettere come user agent quello suggerito da te nel post iniziale,cioè

    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**
    

    e lasciando i restanti campi vuoti… nulla di nulla
    ho scaricato da questa pagina qui http://techpatterns.com/forums/about304.html gli user agent aggiornati, mettendo uno qualunque degli ipad, ottengo come con la tua stringa l’impossibilità di vedere il video
    carico l’ep 1 della serie blablabla fa il precaricamento,dovrebbe spuntare il loro loading “vvvvid” e invece nulla,rimane nero e passato qualche secondo passa al secondo episodio…passati quei N secondi passa al 3 episodio e così via,come se non riconoscesse l’user agent dell’ipad
    utilizzando l’user agent di default invece non ho nessun problema di visualizzazione
    se non riesco a fare questo passaggio iniziale,sono impossibilitato a proseguire nel proseguo della procedura
    spero che potrai aiutarmi in qualche modo,ti ringrazio anticipatamente,ciao!

  34. Ramzh,

    1. Non posso darti una risposta certa, perché bisognerebbe vedere nel caso specifico cosa causa il lag. Puoi comunque provare a registrare dall’M3U8 invece che dall’RTMP, magari non ti dà il problema.
    2. Presumo tu debba usare una VPN mentre guardi VVVVID.
    3. Personalmente non mi è mai capitato su quel sito, comunque a prima vista l’hanno incasinato per bene. Il video è in RTMPE e i sottotitoli sono in base64, probabilmente cifrati con tanto di initialization vector (almeno, stando all’XML):
      Screenshot codice XML con dati di un flusso cifrato

    Insomma, auguri. 😀

    schizzofrenetico, lascia stare il cambio dello UA. L’ho sconsigliato nei commenti successivi perché dopo qualche settimana hanno apportato modifiche al sito, che lo fa appunto “saltare” in modo incontrollato tra i vari video. Quindi ti consiglio di leggere gli ultimi commenti scritti su VVVVID, dove trovi un metodo che non prevede di cambiare UA. 🙂

    Samuele, ah ma dicevi Sky a pagamento? Non funzionerà, i manifest sono cifrati. Qui poi si parla solo di scaricare contenuti accessibili liberamente. 🙂

  35. Ciao Andrea,grazie mille…stavo x impazzire x via dell’user agent
    tutto fatto,funge alla meraviglia adesso
    se posso aggiungere la mia, sostanzialmente ho provato 2 metodi per il download,ho scartato vlc che da quel che ho cpt effettua una conversione del flusso video,con conseguene “disgustevole” perdita di qualità,preferisco il flusso originale 🙂
    per far ciò si può usare jdownload 2,si incolla l’url e ci pensa tutto lui,oppure scaricarsi il pacchetto ffmpeg 2.4 che funziona da riga di comando
    faccio un esempio velox di come usarlo con vvvvid
    da prompt dei comandi,dentro la cartella contenente ffmpeg.exe scrivere il seguente comando

    ffmpeg -i "http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/AttackOnTitan/AttackOnTitan_Ep01.mp4/playlist.m3u8" -c copy -bsf:a aac_adtstoasc NOMEFILE.mp4

    sostituire i vari url e NOMEFILE così da ottenere il download “puro”
    con ffmpeg cmq risulta tutto + macchinoso,si ottiene lo stesso preciso ed identico risultato,come già precedentemente detto,con jdownloader2
    scaricando il video poco sopra sia con l’uno che con l’altro programma,sostanzialmente dalle proprietà di MPC-HC x64 ottengo le stesse informazioni tranne che ffmpeg ha una versione leggermente + aggiornata di Writing application: Lavf56.11.100 anzichè Writing application: Lavf55.49.100 del jdownloader2
    questa è la mia,ti consiglio di moddare la guida iniziale poichè probabilmente tutti gli utilizzatori di vvvvid incapperanno sul problema useragent 😉
    grazie nuovamente,ciao!

  36. Ben fatto!

    ho scartato vlc che da quel che ho capito effettua una conversione del flusso video

    Dipende in realtà da come lo configuri. Esiste anche la possibilità di fare il dump diretto del flusso senza conversione.

    Riguardo al tuo comando ffmpeg (o avconv) mi sembra che tu così converti l’audio (il video no). Io userei questi parametri:

    ffmpeg -i "[...]" -acodec copy -vcodec copy -qscale 0 [...].mp4    # oppure avconv...
    

    Non sapevo che JDownloader supportasse gli URL M3U8 direttamente, è una cosa simpatica da tenere a mente. 🙂

  37. onestamente su vlc non ho visto + di tanto x come fare il dump 🙁 leggendo qua e là leggevo di conversioni e l’ho scartato,ma se è possibile un dump,ottima cosa 😉
    riguardo ffmpeg,volevo fare una copia come da server,ma mettendo la stringa

    ffmpeg -i "http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/AttackOnTitan/AttackOnTitan_Ep01.mp4/playlist.m3u8" -c copy NOMEFILE.mp4
    

    il programma da errore e suggerisce di aggiungere proprio quegli ulteriori comandi -bsf:a aac_adtstoasc
    ho provato proprio adesso il tuo comando e da lo stesso errore del semplice -c copy e cioè

    [mp4 @ 0000000002b8a7e0] Malformed AAC bitstream detected: use the audio bitstre
    am filter 'aac_adtstoasc' to fix it ('-bsf:a aac_adtstoasc' option with ffmpeg)
    av_interleaved_write_frame(): Operation not permitted
    

    infine come già precedentemente scritto, via di jdownloader2 e si evita tutto questo papocchio ^_^

  38. @schizzofrenetico: potresti spiegarmi meglio come fare con jdownloader 2? Io ho la versione beta e per fare una prova ho copiato questo url http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/AttackOnTitan/AttackOnTitan_Ep01.mp4/playlist.m3u8, sul programma mi è partito prima il download e l’installazione della componente ffmpeg e poi è parito il download, solo che me lo suddivide in più parti piccole. Ne ho aperto una e c’era il video ma durava poco e continuava in un altro file. Tra l’altro un formato che non conosco.
    Se copio il link direttamente dal sito di vvvvid dell’episodio che mi interessa jdownloader neanche me po vede.
    Sapresti dirmi di più?

  39. ciao aster
    ho inserito il link da te fornito su jdownloader2 e l’ha scaritato tranquillamente intero,senza spezzettamenti

    http://i.imgur.com/4fJRiqS.jpg

    può darsi che la tua connessione non è abbastanza veloce e di conseguenza e il server automaticamente spezzetta il flusso? hai effettuato tutti gli aggiornamenti del programma?
    non copiare il link direttamente dal sito perchè non va,è necessario trovare tramite firebug il link sorgente
    prova eventualmente a riscaricare jdownloader2 da qui previa totale e radicale rimozione 🙂

  40. Grazie Andrea per la guida.

    Sto cercando di scaricare un video Silverlight dal sito della teledidattica della Bicocca (mannaggia a loro che usano Silverlight!).

    Sono riuscito ad individuare il file manifest. Ora non mi resta (in teoria) che scaricare; tuttavia vorrei evitare di ricorrere a software proprietario e closed.

    Sono capitato su questo progetto:

    https://github.com/pinglossy/smoothget

    (ho visto anch’io che manca la licenza…)

    Ho provato a compilarlo su Debian testing (mono 3.2.8) ma ottengo questo errore:

    [code]
    $ ./c.sh
    + gmcs -out:smoothget.exe -debug- -optimize+ -langversion:ISO-2 Download.cs Mkv.cs Mp4.cs Program.cs Smooth.cs Utils.cs
    warning CS8001: SDK path could not be resolved
    Smooth.cs(500,20): error CS0176: Static member `Smoothget.Smooth.VideoTrackInfo.GetAVCCodecPrivate(byte[], ushort)’ cannot be accessed with an instance reference, qualify it with a type name instead
    Compilation failed: 1 error(s), 1 warnings
    [/code]

    Non avendo alcuna esperienza con mono, né con C#, hai per caso qualche dritta da darmi?

    Grazie mille!

  41. vorrei evitare di ricorrere a software proprietario e closed

    Eh, auguri. 😀 L’unico che puoi usare è VLC, e supporta malissimo Smooth Streaming.

    (ho visto anch’io che manca la licenza…)

    smoothget l’avevo trovato anch’io, è un rip-off di ismdownloader:

    https://github.com/pinglossy/smoothget/issues/1#issuecomment-60159613

    Se vuoi compilarlo, ti consiglio di usare quello di Milek7. Io personalmente sto lavorando a una versione moddata di ismdownloader (con priorità bassa in realtà, dato che ho la tesi… e che la fiction che mi interessa su Video Mediaset ora si trova in MP4 a qualità pari allo Smooth Streaming). 😛

  42. Grazie per la risposta!

    Eh, auguri. 😀 L’unico che puoi usare è VLC, e supporta malissimo Smooth Streaming.

    Eh, un tentativo con VLC l’avevo fatto, ma era fallito (segmentation fault).

    smoothget l’avevo trovato anch’io

    Sì, avevo notato i tuoi commenti. Infatti avevo scritto che anch’io avevo notato la mancanza di licenza.

    Se vuoi compilarlo, ti consiglio di usare quello di Milek7.

    Grazie! Questo compila. Tuttavia non mi funziona come speravo:

    [code]
    $ mono smoothget.exe ../../manifest .
    smoothget v1.0-alpha1

    Download directory: .
    Parts to download:
    Part URL: ../..

    Will mux to MKV: ./..mkv
    Parsing local manifest file: ../../manifest
    Exception: Missing quality level index: 0
    [/code]

    Cosa si può fare in questi casi?

    Grazie di nuovo!

  43. Grazie! Questo compila.

    Ok, però siccome anche questo è proprietario, poco cambia… Tanto vale usare quello “migliore”, cioè ismdownloader.

    Per quanto riguarda il malfunzionamento, ti consiglio intanto di indicare l’URL di un manifest invece di un file salvato, e in secondo luogo dovresti inserire il nome del file di destinazione, più che un semplice punto per la directory.

    PS: ho visto che hai tentato di formattare la tua risposta e ti ringrazio, sei uno dei pochissimi che lo fa. 😀 Però qui non puoi usare BBcode, tuttavia puoi usare Markdown. 🙂

    1. Tanto vale usare quello “migliore”, cioè ismdownloader.

      Sì, capisco l’obiezione. Tuttavia, dal mio punto di vista, ismdownloader è decisamente “peggiore”: se non erro il sorgente non è proprio disponibile, e l’eseguibile tra l’altro è per windows.

      ti consiglio intanto di indicare l’URL di un manifest invece di un file salvato, e in secondo luogo dovresti inserire il nome del file di destinazione, più che un semplice punto per la directory.

      Mmm, la documentazione parla proprio di directory, e tra l’altro dice esplicitamente che un semplice punto va benissimo:
      [code]
      $ mono smoothget.exe
      smoothget v1.0-alpha1

      Microsoft IIS Smooth Streaming downloader and muxer to MKV.

      Supported media stream formats:
      – Audio: AAC, WMA
      – Video: H264, VC-1

      Usage:
      smoothget [<flag> …] <source> […] <output-directory>
      <source> is an .ism (or /manifest) file or URL.
      <output-directory> can be just . , a properly named file will be created.
      Many temporary files and subdirs may be created and left in <output-directory>.
      –det Enable deterministic MKV output (no random, no current time).
      –aq Audio quality level (from zero, sorted from best to lower quality).
      –vq Video quality level (from zero, sorted from best to lower quality).
      [/code]

      Infatti provando a mettere un nome, il programma lo gestisce come se fosse una directory.

      Invece ho provato a mettere il link al manifest come da te suggerito, e stranamente (da documentazione dovrebbe essere indifferente) qualcosa è cambiato:

      [code]
      Will mux to MKV: ./CH01-2014113105504052.mkv
      [/code]

      Tuttavia alla fine ha sollevato la medesima eccezione del primo tentativo:

      [code]
      Exception: Missing quality level index: 0
      [/code]

      Posso approfittare della tua gentilezza facendoti avere in privato il link al manifest?

      (preferirei non mettere qui il link, dato che si tratta di materiale che sarebbe accessibile solo agli studenti regolarmente iscritti)

      Magari così riesci a capire cosa non gli piaccia.

      qui non puoi usare BBcode, tuttavia puoi usare Markdown.

      Bene a sapersi. Fosse stata disponibile l’anteprima, o la possibilità di editare il messaggio, ti avrei anche evitato l’intervento riparatore 🙂

      Di nuovo grazie mille!

  44. se non erro il sorgente non è proprio disponibile

    Vero, io ci sto lavorando dopo averlo decompilato con DotPeek, anche se comunque essendo entrambi closed in nessuno dei due casi potremmo modificarli.

    e l’eseguibile tra l’altro è per windows

    È un eseguibile .Net, gira con Mono (un po’ male, lascia cartelle temporanee nella working directory) e con Wine (molto bene).

    Hai ragione tu sulla directory, ho sbagliato confondendo i due software. Se vuoi linka pure per email, ma non è detto che si possa risolvere. 🙂

    Fosse stata disponibile l’anteprima, o la possibilità di editare il messaggio

    Hai ragione, non è evidente che si possa usare Markdown. Stando su WordPress.com, non posso però modificare il modulo dei commenti scrivendo qualche indicazione in più.

Lascia un commento

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