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. Ciao Lazza, innanzitutto complimenti per la guida, quindi ti chiedo come fare a scaricare video da questo sito http://www.eurovisionsports.tv/fina/index.html Di solito utilizzo l’applicazione firefox Flash Video Download, che mi permette di scaricare quasi tutto, ma con questo sito non funziona. Il file sembra essere diviso in tantissime parti e a quel punto non so come procedere. Ho cercato di individuare l’url giusto tramite Ctrl-U, ma non sono riuscito a venirne a capo. Puoi aiutarmi?

  2. Nikkolo, prova a vedere lo scambio di commenti avuto con Davo qui sopra. 🙂

    Edo, eh quella pagina è piuttosto blindata. Come hai notato tu, usa normalmente un manifest F4M con Flash. Se disattivi Flash e cambi lo user-agent puoi trovare un flusso M3U8, tuttavia usa un HMAC per verificare se hai l’autorizzazione a collegarti e non sembra funzionare fuori dal browser. Sarebbe da provare a cambiare user-agent anche a VLC per vedere se funziona.

  3. con il metodo di Davo riesco a scaricare però oltre a sovracaricarmi flashplayer e quindi bloccare tutto il browser, il video viene scaricato mantenendolo in riproduzione.
    In base ai vari link che escono nel terminale di rtmpdump non c’è modo di farlo normalmente senza dover usare il browser?
    Sfortunatamente non mi fa selezionare il testo e quindi incollare, ecco qua uno screenshot http://imgur.com/bC0Zis0

    1. Tutti i dati da dare come parametri a rtmpdump sono indicati lì. 🙂 Se vuoi, puoi anche usare rtmpsrv come dicevo io per farti stampare direttamente la riga di comando.

  4. Ciao Lazza!
    comincio col ringraziarti per la guida che mi è stata davvero utile con VVVID!
    Premetto che arrivato a questo link:

    http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/GTO/GTO_Ep01.mp4/playlist.m3u8
    

    ho trovato più comodo copiarlo su Jdownloader e scaricare il file mp4 direttamente dal programma.

    Ora però sto provando con Popcorn.tv, in particolare con questo video: http://animemanga.popcorntv.it/guarda/space-dandy-episodio-1-hd/5130 sono risalito a questo link:

    http://wos.cr1.streamzilla.xlcdn.com/vod/_definst_/sz/deltapictures/poppiu/SpaceDandy_01_IT.mp4/chunklist.m3u8?token=137d8cbc6cf1fc01fa39e5a76c54a01f&time=54ac230b
    

    ma non riesco a trovare un’unico file mp4 da far scaricare a Jdownloader!

    Riusciresti a darmi qualche consiglio? Grazie mille per la tua pazienza!
    Ciao!

  5. ma non riesco a trovare un’unico file mp4

    In che senso “unico”? 🙂 Tutti e due gli esempi che hai messo sono flussi M3U8, li puoi registrare tranquillamente con avconv.

  6. possibile che lui intenda che quello è solo 1 frammento del video, mentre lui cerca l mp4 intero!
    c’è la possibilita che popcorntv.it non permetta il download diretto senza avere il video in riproduzione ? vedi il metodo di Davo

  7. Nel senso che quando copio il secondo indirizzo (quello di Popcorn.tv), Jdownloader mi rileva il file offline e quindi non posso scaricare nulla. Mentre nel primo caso, quando copio l’indirizzo, Jdownloader rileva il file online e lo scarica tranquillamente.

    Spero di essermi spiegato 🙂

  8. E rieccoci con questo VVVID che cambia server ogni settimana si e l’altra anche 😛
    No chiaramente scherzo. Però ho ugualmente un problema.
    Questo è il link che mi esce eseguendo il javascript sulla pagina del video:

    http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/Psycho Pass JAP/Psycho_Ep01_JAP.mp4/manifest.f4m
    

    E quindi, questo è ciò che ho inserito nella riga di comando di avconv:

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

    Ma non funziona!
    Preciso gli altri video riesco a catturarli correttamente, quindi il problema si pone solamente con questo…
    Spero fiducioso che tu abbia la soluzione anche a questo 😀

  9. Premetto che ho letto tutto l’articolo, che ho perso già giorni su sta cosa e che sono un’autodidatta che se la cava ma forse non troppo bene! aiuto sono bloccata su un video di un sito, il download helper mi da tanti file .mp2t
    e con firebug nella scheda net mi da due url :

    http://d39wiaoiffvl5v.cloudfront.net/final/I/invisible_life_850/segment_84.ts
    https://www.festivalscope.com/media/set-play-position/35620/1825
    

    son tanti cosi con i segment che variano, tipo vanno 84-85-86-87…
    si può risalire al url del video
    Dico anche che il sito è a pagamento ma ogni tanto fa vedere film gratuitamente e per questo volevo vedermelo con calma perché è con i sottotitoli e è difficile la comprensione.
    Grazie Andrea, se potresti aiutarmi

  10. simeone43, riguardo al primo URL, puoi usare le istruzioni scritte nel mio post. Quali passi hai compiuto e fino a dove sei arrivato? Il secondo URL l’ho tolto perché è un sito per guardare roba pirata in streaming, caricata non si sa da chi (non da una emittente o altro soggetto che abbia acquisito i diritti di trasmissione).

    Ricki, ribadisco, quale file? Non c’è nessun file, sono stream M3U8. 🙂 Registrali con avconv, non Jdownloader.

    Atom,

    Ma non funziona!

    Dicevi? 😛

    Flusso video aperto in VLC

    Quello che mi hai scritto tu l’ho copiato tale e quale e funziona benissimo. 😀 Non è che ti stai facendo fregare dal fatto che abbia degli spazi nel nome e tu non lo hai racchiuso tra virgolette (come andrebbe fatto)?

    Sara, il fatto è che quel sito richiede una registrazione, quindi io non posso visualizzare i video. Firebug dovresti aprirlo prima di aver fatto partire il video. Se l’hai aperto dopo, ricarica la pagina.

  11. Scusa ma ancora non riesco a capire come scaricare da popcorntv.it…
    Episodio: http://animemanga.popcorntv.it/guarda/shingeki-no-bahamut-genesis-episodio-12/6163
    io l unica cosa che riesco ad otterenere è rtmp dal file smil:

    meta base="rtmp://wos.cr1.streamzilla.xlcdn.com/vod/_definst_/"
    video src="sz/deltapictures/poppiu/Bahamut_11.mp4?token=7743737a836082407d0ed0d49738a133&amp;time=54af1340"
    

    ma con rmtpdump non riesco a scaricarlo e non riesco a trovare nessun m3u8 o altro tipo avconv!

    Puoi provare te a scaricarlo e se il video è funzionante spiegarmi come e cosa fai per scaricarlo?

    Grazie

  12. non riesco a trovare nessun m3u8

    Hai cambiato lo user-agent? L’M3U8 spunta fuori tranquillamente con Firebug, e ti consiglio di usare quello perché è più pratico. A giudicare dai commenti di altri lettori, molti preferiscono proprio registrare l’M3U8 su Popcorn TV. 🙂

  13. Il problema è proprio questo! Se lo riproduco su VLC, si vede benissimo, come gli altri.
    Se invece provo con avconv, non va. Le virgolette le ho messe, come sempre. Per sicurezza ti copio lo script:

    avconv -i "http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/Psycho Pass JAP/Psycho_Ep01_JAP.mp4/playlist.m3u8" -acodec copy -vcodec copy output.mp4
    

    Pensavo anche io che il problema fossero gli spazi, però non riesco a trovare una soluzione 🙁
    Forse sto facendo un errore stupido…

  14. ho cambiato con user-agent ma la pagina rimane sempre uguale e con firebug non trovo nessun m3u8


    anzi addirittura il video non parte piu e mi dice error loading media: file not found

  15. Atom,

    Se invece provo con avconv, non va. Le virgolette le ho messe, come sempre. Per sicurezza ti copio lo script

    Pardon, hai ragione. Avrei dovuto provare più attentamente. A quanto pare avconv richiede che l’URL sia correttamente codificato come prevedono le specifiche. Pertanto devi trasformare lo spazio nel corrispettivo carattere %20:

    avconv -i "http://wowzaondemand.top-ix.org/videomg/_definst_/mp4:Dynit/Psycho%20Pass%20JAP/Psycho_Ep01_JAP.mp4/playlist.m3u8" -acodec copy -vcodec copy output.mp4
    

    Nikkolo,

    addirittura il video non parte più

    Questo è ragionevole, perché il sito fornisce un contenuto per cellulari e il tuo browser sta facendo solo finta di esserlo. Non preoccuparti. 🙂 Però, riguardo all’M3U8 guarda meglio, perché c’è:

    Screenshot pannello richieste di rete

  16. Ecco cos’era!! Grazie mille, davvero, ho imparato una cosa in più.
    Per la cronaca, trovo che leggere i commenti delle altre persone che hanno avuto problemi sia di molto, ma di moltissimo aiuto!
    E grazie di nuovo per la tua enorme pazienza!! XD

  17. Ciao Andrea, ho notato che su VVVVID hanno scelto di migrare i filmati dai server Wowza a quelli di AkamaiHD; tuttavia non sono in grado di reperire il file .mp4/.csmil di un video qualsiasi. Tanto per fare un’esempio: http://vvvvid-vh.akamaihd.net/z/Dynit/TokyoGhoul/TokyoGhoul_Ep05,,_low,.mp4.csmil/ (continua con token + frammento). Ho provato tutte le combinazioni che mi venissero in mente senza risultati, potresti dunque illuminarmi? Ti ringrazio.

  18. Ragazzi, vi metto qui il link per scaricare l’episodio 1 di tokyo ghoul seconda stagione.

    http://vvvvid-vh.akamaihd.net/i/Dynit/TokyoGhoul2/TokyoGhoul2_Ep01.mp4/index_0_av.m3u8
    

    Per Mario, ecco il link giusto:

    http://vvvvid-vh.akamaihd.net/i/Dynit/TokyoGhoul/TokyoGhoul_Ep05,,_low,.mp4.csmil/index_0_av.m3u8
    

    P.S. Uso avconv, è più comodo.

  19. Mario, l’m3u8 del video dell’ep 5 di tokyo ghoul è questo:

    http://vvvvid-vh.akamaihd.net/i/Dynit/TokyoGhoul/TokyoGhoul_Ep05.mp4/index_0_av.m3u8?null=
    

    Prendetelo come standard per tutte le serie che si trovano su questo server, vi basta cambiare il nome ed è fatta.
    Ad esempio se volessi vedere cowboy bebop mi basterebbe cambiare le voci TokyoGhoul in CowboyBebop.

  20. Atom, prego. 😛

    Una richiesta per tutti: siccome stanno aumentando sempre di più i commenti con confronti e suggerimenti utili, e dato anche che questi commenti spesso contengono URL o pezzi di righe di comando e altri caratteri particolari, vi chiedo quanto segue. :mrgreen:

    Al fine di rendere tutto ben leggibile ed evitare problemi—come le virgolette dritte " che diventano curve —se potete, formattate i vostri commenti usando Markdown. In particolare, spesso nei vostri commenti metto un blocco di codice per gli URL dei flussi, tipo così:

    http://[...].m3u8
    

    Grazie. 🙂

  21. Ringrazio XenmasWill e William per le loro risposte. Ad ogni modo, se possibile, gradirei sapere anche il metodo utilizzato per capire che andava aggiunta la stringa “index_0_av.m3u8” alla fine dell’URL. Invece poi, solo per William: ci sono vantaggi nel file risultante dall’utilizzare Avconv piuttosto di JDownloader2? Quest’ultimo ricostruisce in automatico il file a partire dai chunks definiti nel file .m3u8.

  22. gradirei sapere anche il metodo utilizzato per capire che andava aggiunta la stringa index_0_av.m3u8 alla fine dell’URL

    Ti rimando ai commenti precedenti, a partire da questo dove ne avevamo parlato. 🙂

  23. Grazie infinite come sempre Lazza. Avevo già provato ad utilizzare lo stratagemma dello user agent spoofing di iPad/iPhone, ma tentare pure con Android mi mancava. Comunque, per chi se lo fosse chiesto: tutti i video sono stati migrati dai vecchi server Wowza a quelli nuovi di AkamaiHD, il che spiega perché le nuove serie non sono presenti sui primi. È inoltre presumibile che col tempo, in seguito alla scadenza dell’abbonamento, i vecchi link verranno interamente dismessi.

  24. Prima di tutto un grazie a Lazza per aver creato questo blog e al suo impegno. Sono un appassionato di anime e non me ne intendo molto di informatica, ma grazie ai post e alle istruzioni sono risucito a fare quasi tutto, però non ho capito come funzionano i registratori di flusso in primissi avconv, se per favori mi indicate un forum o un sito dove spiega come funziona venesarei grato.

  25. Grazie a Lazza e tutti gli altri che hanno contribuito con i loro commenti e consigli, leggere tutto questo(dall’inizio) è stato davvero stimolante!
    Grazie ancora!

  26. Paolo, ecco qui il link che ti serve:

    http://vvvvid-vh.akamaihd.net/i/Dynit/FateStay/FateStayNight_Ep01.mp4/index_0_av.m3u8

    Alla fine, basta che ti ricavi il link con un downloader generico, tipo DownloadHelper di firefox, e poi modifichi il link trovato in questo modo:

    http://vvvvid-vh.akamaihd.net/i/Dynit/FateStay/FateStayNight_Ep01.mp4/index_0_av.m3u8

    Detto in due righe, la cosa principale è sostituire la ” z ” subito dopo il net/ con una ” i ” (…net/i/Dynit…) e sostituire il pezzo finale dopo il ” .mp4 ” con ” /index_0_av.m3u8 “.
    Se non mi sono spiegato bene, cerco di riscriverlo in modo più chiaro.

  27. DRAGONE1992, ti interessa approfondire i dettagli tecnici di quello che fanno o semplicemente come si usano? Nel primo caso ti conviene vedere direttamente la documentazione sul loro wiki. Per l’utilizzo, trovi una riga di comando verso la fine del mio articolo. 🙂

    Per tutte le altre opzioni ti conviene vedere la pagina di manuale:

    man avconv
    

    Paolo, vedi la risposta di XenmasXIII che è fatta bene. Una cosa che non ha detto, ma lo preciso io: se leggi i commenti precedenti vedrai che quei pezzi di URL non sono comparsi “magicamente”. È stato verificato quale URL tenta di accedere un dispositivo Android al fine di capire la struttura dell’indirizzo del flusso. 🙂

    Seed, bene, mi fa piacere. 😀

    Luna, con Firebug dovresti aver trovato senza problemi l’URL al file SMIL:

    http://streaming.hkjc.edgesuite.net/hdflash/brts/2015/20150116/01/eng/brts_20150116_01_eng.smil
    

    Poi dentro ci sono i due pezzi dell’URL, il file è in MP4.

  28. Qualcuno sa come usare avconv trammite VPS con ubuntu 14.10 comand line ?
    se scrivo questo comando che sul pc va:

    avconv -i "rtmp://wos.cr1.streamzilla.xlcdn.com/vod/_definst_/sz/deltapictures/poppiu/Maria_01.mp4?token=feee25e0b0853fc80cb8eda26258ea6d&time=54b94020" -codec copy out.mp4
    

    sul vps mi da questo errore:

    avconv version 11-6:11-1, Copyright (c) 2000-2014 the Libav developers
      built on Sep 26 2014 14:36:31 with gcc 4.9.1 (Ubuntu 4.9.1-15ubuntu1)
    Closing connection: NetStream.Play.StreamNotFound
    rtmp://wos.cr1.streamzilla.xlcdn.com/vod/_definst_/sz/deltapictures/poppiu/Maria_01.mp4?token=feee25e0b0853fc80cb8eda26258ea6d&time=54b94020: Unknown error occurred
    

    è possibile scaricare rtmp trammite ffmpeg sia dal pc normale (windows) oppure con VPS (ubuntu comand lime)?

  29. Nikkolo, ci sono alcune cose da considerare:

    1. È meglio registrare l’M3U8, visto che il sito mette a disposizione anche quello.
    2. Se devi registrare RTMP, meglio farlo con rtmpdump.
    3. I token non sono eterni, e neanche validi per tutti… altrimenti che token sarebbero? 😛 Il tuo PC e il tuo VPS avranno IP diversi e non puoi trovare l’URL da una parte e usarlo altrove (almeno, non è detto).
    4. Il tuo VPS è in Italia o all’estero? Bisogna vedere se bloccano o meno.
    5. Non ho capito cosa intendi quando dici che un PC che monta Windows è normale… io non lo trovo affatto normale. :mrgreen: 😉
  30. Grazie Lazza, ho provato con la linea di commando ma mi fa l’errore “avconv non è riconosciuto come commando interno o esterno, un programma eseguibile o file batch.”. Ti ringrazio per avermi messo anche il link per approfondire così quando avrò tempo lo studierò con calma che ora non ciò capito un granché. Se possibile potresti usare anche delle immagini per farmi vedere dove ho sbagliato, perché ho notato che nei commenti dove ci sono immagini capisco meglio. Un grazie in anticipo.

    1. Mmm… “programma eseguibile o file batch”? Ma non è che stai usando Windows? (male!) 😛

      Se è così, devi farti appunto un file batch (estensione .bat) come è spiegato nel post, oltre ovviamente ad aver scaricato l’eseguibile. O usare Linux. 🙂

      Se possibile potresti usare anche delle immagini per farmi vedere dove ho sbagliato, perché ho notato che nei commenti dove ci sono immagini capisco meglio

      Sono spiacente, ma non faccio assistenza specifica per Windows.

  31. tutti e 2 mi fanno scaricare 1.99 gb

    In realtà quella è la dimensione dichiarata dal server (completamente a caso). Tu ignorala e scarica pure il video, quando verrà raggiunta la dimensione reale del file, il download terminerà da solo. 🙂

  32. Lazza, potresti darmi una mano con questo link?

    http://ciscosystems-vh.akamaihd.net/control/hd/2649925992001/201407/2649925992001_36538,86590,93493,93119,95282,93127,92148,001_19353415.mp4.csmil_0_0@14?cmd=throttle,20&amp;v=3.4.0.132&amp;r=BJMAB&amp;g=TBYSGXKUOJFR&amp;lvl1=25.027,11.86,30.296,14.99,0,49.687,2137,0,0,295.021484375,6.934,1421746712.623,5.066,7.039,5.171,134.6,1966,8.27,1.332,0,0,17305,u,false
    
  33. Dovresti indicare la pagina da cui stai cercando di salvare il video, e i passi che hai compiuto finora. Un link buttato lì senza contesto non dice nulla. 😛

  34. Niente da fare, il download si ferma probabilmente al video in questione e non prosegue fino ai 2 gb indicati, ma poi il video non si apre dice – non trovato – Potresti provare tu per cortesia?

  35. Con Firefox Flash and Video tutto ok (avevo problemi con internet download manager IDM e altri) – il video si scarica e si vede bene, grazie ancora, ti seguo sempre!

  36. Ciao!
    Grazie per la splendida guida!!!
    Avrei bisogno di un piccolo aiuto perchè non capisco come risolvere quest’ultimo problema…
    Sto provando a scaricare alcuni video da animemanga.popcorntv.it e seguendo le precedenti discussioni sono riuscito a ottenere il link rtmp da utilizzare con rtmpdump (sto usando windows seven).
    In teoria il link è giusto perchè il download parte, anche se dopo pochi secondi si blocca e quindi ottengo un file incompleto…
    Cosa posso aver sbagliato?
    E’ capitato anche ad altri?
    Grazie!
    Incollo qui sotto il log di rtmpdump… in questo caso mi si è fermato all’1%:

    C:\Users\ice\Downloads\rtmpdump-2.3-windows\rtmpdump-2.3>rtmpdump -o outputB.mp4 -r "rtmp://wos.cr2.streamzilla.xlcdn.com/vod/_definst_/sz/deltapictures/poppiu/SpaceDandy_01_IT.mp4?token=1542d4bdb94e2dfa91a11924280fa2f4&time=54c14658"
    RTMPDump v2.3
    (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
    Connecting ...
    INFO: Connected...
    Starting download at: 0.000 kB
    INFO: Metadata:
    INFO: trackinfo:
    INFO:   language              und
    INFO:   timescale             24000.00
    INFO:   length                34991957.00
    INFO: sampledescription:
    INFO:   sampletype            avc1
    INFO:   language              und
    INFO:   timescale             48000.00
    INFO:   length                69986304.00
    INFO: sampledescription:
    INFO:   sampletype            mp4a
    INFO:   audiochannels         2.00
    INFO:   audiosamplerate       48000.00
    INFO:   videoframerate        23.98
    INFO:   aacaot                2.00
    INFO:   avclevel              41.00
    INFO:   avcprofile            100.00
    INFO:   audiocodecid          mp4a
    INFO:   videocodecid          avc1
    INFO:   width                 1280.00
    INFO:   height                720.00
    INFO:   frameWidth            1280.00
    INFO:   frameHeight           720.00
    INFO:   displayWidth          1280.00
    INFO:   displayHeight         720.00
    INFO:   framerate             23.98
    INFO:   moovposition          52.00
    INFO:   duration              1458.05
    
    1762.400 kB / 15.64 sec (1.0%)
    
    INFO: Metadata:
    INFO: trackinfo:
    INFO:   language              und
    INFO:   timescale             24000.00
    INFO:   length                34991957.00
    INFO: sampledescription:
    INFO:   sampletype            avc1
    INFO:   language              und
    INFO:   timescale             48000.00
    INFO:   length                69986304.00
    INFO: sampledescription:
    INFO:   sampletype            mp4a
    INFO:   audiochannels         2.00
    INFO:   audiosamplerate       48000.00
    INFO:   videoframerate        23.98
    INFO:   aacaot                2.00
    INFO:   avclevel              41.00
    INFO:   avcprofile            100.00
    INFO:   audiocodecid          mp4a
    INFO:   videocodecid          avc1
    INFO:   width                 1280.00
    INFO:   height                720.00
    INFO:   frameWidth            1280.00
    INFO:   frameHeight           720.00
    INFO:   displayWidth          1280.00
    INFO:   displayHeight         720.00
    INFO:   framerate             23.98
    INFO:   moovposition          52.00
    INFO:   duration              1458.05
  37. Ramzh, il pannello Net non ti può aiutare con i flussi RTMP. Trovi però il link al file SMIL dentro al codice della pagina.

    Mauro, ho giusto rivisto il sito e ho elaborato una soluzione funzionante per PopcornTV in RTMP. Mi sono basato anche sulla risposta data a Davo il 18 dicembre.

    In sostanza, evitiamo i problemi di riconoscimento del flusso tenendolo spezzato. Oltre a questo, ecco la novità: per risolvere il problema del download che si pianta all’improvviso, lo rallentiamo. 😛 In particolare, effettuiamo il download in tempo reale, aggiungendo quindi l’opzione -R per evitare che rtmpdump corra troppo.

    Ecco un esempio con il video che ha indicato Ramzh:

    rtmpdump -R -r "rtmp://wos.cr1.streamzilla.xlcdn.com/vod/_definst_/" -a "vod/_definst_/" -y "mp4:sz/deltapictures/poppiu/RollingGirls_01.mp4?token=15ec963a603b45a8684a700ebc90ecbe&time=54c1760d" -o output.mp4
    

    Vorrei capire anche la gestione dell’M3U8 da parte dei cellulari, ma non riesco a farlo semplicemente cambiando user-agent. Se ho tempo, farò una prova con il traffico di un dispositivo reale.

  38. Grazie Lazza!
    Alla fine leggendo la situazione di Davo che mi hai linkato sono riuscito a scaricare il video tramite rtmdumpHelper e Firefox!
    Funziona e scarica in tempo reale mentre guardo lo streaming!
    La versione da riga di comando non riesco proprio a farla andare, anche mettendo -R e spezzettando l’url.
    Ad essere sincero non so se ho capito bene come dividere in parti diverse l’url (forse lo sto dividendo nel modo sbagliato)…

  39. Vorrei capire anche la gestione dell’M3U8 da parte dei cellulari

    Ok, risolto. Il file SMIL si ottiene con un URL trovato nel codice, tipo:

    http://rrr.sz.xlcdn.com/?account=deltapictures&file=poppiu/RollingGirls_01/RollingGirls_01.smil&type=streaming&service=wowza&output=smil
    

    Quello M3U8 si ottiene cambiando l’ultimo parametro:

    http://rrr.sz.xlcdn.com/?account=deltapictures&file=poppiu/RollingGirls_01/RollingGirls_01.smil&type=streaming&service=wowza&output=playlist.m3u8
    

    Poi si registra normalmente con avconv. 🙂 Alcuni flussi M3U8 hanno un solo livello di qualità, altri più di uno. Insomma vedete un po’ voi. 😛

  40. Mauro, ah abbiamo scritto quasi insieme. :mrgreen:

    forse lo sto dividendo nel modo sbagliato

    Segui il mio esempio:

    • il primo pezzo va su -r
    • aggiungi -a "vod/_definst_/"
    • il secondo pezzo va su -y, però preceduto da mp4:

    Oppure registra l’M3U8, dati i recenti sviluppi. 😛

  41. Grande! Funziona anche da linea di comando!!!
    Alla fine era il -R che non funzionava con la versione di rtmpdump che stavo utilizzando.
    Ho scaricato l’ultima versione di rtmpdump ed ora funziona tutto!!!
    Grazie mille!
    Ciaooo

  42. Ciao Lazza, grazie al consiglio dell’altra volta ho ricontrollato le tue istruzioni ed ho trovato dove sbagliavo. Solo che adesso quando faccio partire il file chiamato “download” con avconv durante il download mi fa alcuni errori e quindi il file scaricato manca di alcune o molte parti. Ti ringrazio in anticipo.

  43. Ti ringrazio in anticipo.

    Be’, non mi hai fatto nessuna domanda tecnicamente. 😛 E non mi hai detto quale flusso stai scaricando, anzi neppure da quale sito. 😉 Se si tratta di VVVVID o PopcornTV, comunque, a me non hanno dato problemi, quelle 2-3 volte che li ho testati per rispondere a qualche commento.

Lascia un commento

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