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.
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.
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.
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).
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.
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
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:
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:
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:
- Script per scaricare da Rai TV e Rai Replay (fornisce video in MP4)
- Script per scaricare da Video Mediaset (fornisce anche l’URL del video in Smooth Streaming)
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:
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 tipoxml
ojson
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.
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.
vorrei scaricare i video di cucine da incubo in onda su NOVE . Seguo correttamente tutta la procedura con gli strumenti giusti da te indicati ma oggi continua ad uscirmi questo messaggio dopo aver applicato lo user agent switcher e provando a cercare il link iframe
http://pikky.net/YLs
non riesco poi a trovare l’iframe giusto per continuare
È cosa comune il fatto che il video non parta quando si cambia user-agent, ma quello in fin dei conti è poco importante perché ci interessa solo vedere un eventuale link M3U8 per scaricare il filmato. In ogni caso i video di quella emittente sono su Dplay, non ti converrebbe usare lo script di Daniele Giudice?
certo non ricordavo e proverò anche lo script. Mi diletto a scaricarli io anche per scegliere fra le varie risoluzioni possibili come indicato da te nell’articolo
sapresti indicarmi il link con l’iframe giusto di questo video?
http://it.dplay.com/nove/cucine-da-incubo-italia/stagione-2-episodio-1-antonino-cannavacciuolo-a-catania/
grazie mille
Non so come mai tu ti sia “appassionato” alla ricerca di un iframe, però non c’è nessun iframe su quella pagina (vabbè OK, escludendo i bottoncini blu di Facebook). 🙂 Forse ti converrebbe controllare l’unica richiesta HTTP che contiene l’eloquente stringa
videoPlaybackInfo
nell’URL. 😛Ottimo articolo! Complimenti!
Mi capita di dover scaricare qualche video per lavoro ed ultimamente scaricando con l’estensione Video DownloadHelper mi è capitato di scaricare il video ma non si sentiva l’audio, in nessun formato.
Mi puoi dare un dritta per come fare in questi casi?
Grazie
Non hai detto di che sito stai parlando, ad ogni modo se riscontri problemi con quell’estensione passa a qualche altro tool o scarica a mano seguendo le indicazioni del post. 🙂 Magari prima verifica che non sia il player ad avere qualche problema con la traccia audio eventualmente presente nel video.
Ultimamente anche io ho lo stesso identico problema di Vincenzo, e la cosa strana è che sono anche video che avevo già scaricato (e per un problema ho perso ed ho dovuto riscaricare) e funzionava anche l’audio!
Salve, complimenti per gli articoli ormai di riferimento del web sull’argomento 😀 Mi aiuteresti a scaricare il video da questo sito: http://webtv.poliba.it/stream/0qILjdC9klR8mRDOLQ4tgA/?html5=1
Ho provato con http://pasty.link e degli urls che ottengo:
1) http://webtv.poliba.it/vod/hls/0qILjdC9klR8mRDOLQ4tgA_0/index.m3u8
2) http://webtv.poliba.it/vod/hls/0qILjdC9klR8mRDOLQ4tgA_1/index.m3u8
3) http://webtv.poliba.it/vod/hls/0qILjdC9klR8mRDOLQ4tgA_2/index.m3u8
4) http://webtv.poliba.it/vod/hls/0qILjdC9klR8mRDOLQ4tgA_3/index.m3u8
solo il secondo ed il quarto sono scaricabili; il video risulta incmpleto della parte finale.
Grazie.
Mi domando a cosa ti serva usare un sito esterno per trovare il link quando nel codice c’è scritto in chiaro l’URL del flusso M3U8… comunque sia il video dura veramente 41 minuti. Puoi provare tranquillamente a cliccare sulla barra di riproduzione ad un timestamp successivo (visto che si sono inventati una durata casuale) ma vedrai che ripete sempre lo stesso pezzo, cioè l’ultima parte del video vero.
ciao , mi sono accorto che alcuni video vimeo che prima scaricavo senza problemi con video download helper ora hanno dei problemi. Il video dash si scarica perfettamente ma non va l’audio. Sapete dirmi di più? Avete avuto lo stesso problema? Mi è già capitato con 3 video, avete dei rimedi? Grazie e complimenti come sempre Andrea.
Stesso problema mio e di altri, appena sopra.
Personalmente ho risolto così:
– clic dx
– visualizza sorgente frame
– ricerca video all’interno
– copia e incolla su Folx (o altro download manager)
Stesso Problema!
Ho provato a cercare nella sorgente il link video ma non riesco a trovarlo… Qualche dritta?
Clic dx sul video -> visualizza sorgente frame.
Hai fatto così?
Si, ho visualizzato la sorgente ma non trovo il link…
Uhm grazie Angelo, ora il problema è trovare il video all’interno, hai per caso un esempio da postarmi, un esempio di link in modo da orientarmi? perché mi pare di vedere un .sfw ma non so se sia quello
Al momento no.
Videodownload Helper te lo scarica in mp4? Cerca quella stringa!
Ciao, sto cercando di scaricare questo: http://www.smtvsanmarino.sm/video/programmi/bici/inbici-passione-sui-pedali-puntata-27-04-2017-27-04-2017 Ho letto tutti i tuoi consiglio e provato a lungo, sono arrivato a rtmp://o4.senape.tv/webtv_vod4/sanmarino/GJL7ZAJMAL7R-1.mp4 ma non sembra funzionare. Ho usato Firebug, e individuato questo altro pezzo di url: sanmarino/GJL7ZAJMAL7R-3_1493310890045.mp4 . Con Firefox non riesco a far andare lo user agent quindi quello non ho potuto provarlo… Il tuo prezioso aiuto mi solleverebbe dal tunnel rancoroso in cui sono finito! 🙂 🙂 Grazie davvero!
Manu, innanzitutto grazie per aver menzionato quel dettagliuccio insignificante che è il sito che ti interessa, così almeno so di cosa state parlando. 😛 Detto ciò, non fai prima a usare
youtube-dl
e lasciare che faccia tutto da solo? 😀Maurizio, ne abbiamo già parlato qui.
re: Sanmarino – Ma se cambio User Agent, mi dice che non supporta html5 e non appare il play… Ho fatto del video e audio grabbing e me la sono cavata così, ma mi piacerebbe per spirito di sfida farcela a trovarlo sto path! Io proprio non lo vedo…
Maurizio, OK ma a te non interessa vederlo mentre sei in modalità “finto cellulare”, ti interessa registrarlo. 🙂 Nello specifico ti interessa prendere l’URL del flusso M3U8 ispezionando gli elementi lì dentro:
Ciao, potresti aiutarmi con questo video? http://www.raiplay.it/video/2017/05/Caro-Marziano-76911acb-720f-4172-a1b5-93f5cfdb5d8d.html
Se vuoi salvare i video Rai in modo comodo puoi usare il mio script. 🙂
Ciao e grazie per la guida.
Ho seguito i passaggi ma ho un problema, ho sbagliato qualcosa?
Posto il risultato dell’opzione finale dal terminale del mac (per motivi di privacy in questo commento ho sostituito il link originale con uno fittizio).
Se posso dare un indizio, se apro il link allo stream m3u8 dal browser non si riproduce e dice plugin mancante, mentre si riproduce solo accedendo allo stream tramite il collegamento posto su una area riservata del sito originale.
Sembra essere ad uso esclusivo di chi ha accesso alla area privata, io ce lo ho, ma non riesco a scaricarlo. Lo vorrei scaricare per poterlo vedere offline.
Grazie,
Franco.
Se cerchi un buon metodo per fare merenda (😜) ti posso consigliare questa raccolta di GialloZafferano: http://www.giallozafferano.it/ricerca-ricette/pane+e+nutella/
Tornando al tuo quesito, il sito in questione vende corsi a pagamento. Non posso aiutarti in merito al download di quei contenuti ma forse dovresti rivolgerti a chi li fornisce per chiedere di averne una copia scaricabile.
Salve, è possibile scaricare le dirette di Instagram? Grazie
Ciao bellissimo articolo, però non riesco a scaricare comunque questi video (sito sotto), mi sai spiegare il perchè?
Ho provato diverse alternative e purtroppo non sono un esperto informatico perciò so di avere dei limiti.
Mi sapresti aiutare?
Grazie
http://player.canneslions.com/index.html#/works?festival=CL&category=cyber
Non so che alternative tu abbia provato, ma c’è letteralmente l’URL del file MP4 dentro al codice della pagina quando riproduci un video. Trovare una pagina più facile di così è dura… 😀
Una domanda da profana: quando effettuo il download da una pagina lascio traccia del mio operato? Soprattutto se il video è accessibile solo agli utenti autorizzati di uno specifico sito, download video helper comunica in qualche modo con la fonte lasciando prove del download? Grazie mille
Quando si accede ad un file su un server web naturalmente possono venire loggate le classiche informazioni che comprendono data, ora, indirizzo IP, browser utilizzato e parametri della richiesta. Questo vale per qualsiasi elemento, dal testo della pagina sotto a cui stiamo discutendo ora, a ciascuna immagina o video presente in ciascuna pagina web.
Ciò è vero per qualsiasi fruizione di contenuti dal web. “Guardare” un video in streaming o salvarlo sortisce esattamente lo stesso effetto perché, come c’è stato modo di dire più volte, lo streaming è un download.
Grazie mille della risposta, gentilissimo! Quindi, se ho capito bene, quando guardo in streaming o quando scarico tramite plugin le informazioni che riceve chi mi fornisce il servizio sono identiche e non c’è modo di distinguere se ho effettuato il download o guardato il video online…giusto?
A livello pratico, sostanzialmente sì. Un’eccezione può essere l’uso di un software esterno che funga da download manager. In tal caso la user-agent string sarebbe diversa, ma è comunque configurabile (in genere).
Potresti aiutarmi gentilmente Lazza? http://www.la7.it/meravigliosamente/rivedila7/meravigliosamente-puntata-04112017-04-11-2017-226154
Io scarico il m3u8 da:
ma la qualità è inferiore a quella del sito e non capisco perché…
Come puoi vedere dal contenuto del master:
Ci sono due qualità:
Tu stai accedendo a quella bassa. 😛
Ad ogni modo, potresti anche decidere di usare il mio script per La7 e salvarti direttamente il file MP4.
Grazie per l’Interessantissimo articolo.
Ho tuttavia un’esigenza particolare per la quale non ho trovato comunque una risposta.
Per uso personale, dovrei fare il download del documento contenuto in queta pagina:
http://www.doc88.com/p-241831078594.html
Potrebbe indicarmi il procedimento da seguire?
Grazie
Quella pagina non contiene nessun video, quindi saremmo un po’ fuori argomento… comunque sia, lì in pratica ogni pagina viene renderizzata con un
<canvas>
che poi è coperto da un<div>
trasparente. Visto che si tratta solo di 3 pagine, conviene aprire gli strumenti di sviluppo del browser, cancellare i 3<div>
trasparenti e salvarsi le tre pagine come immagini. Male che vada si possono passare ad un programma OCR se c’è necessità.Caro Andrea, ho seguito con attenzione e ovvio interesse tutti i suggerimenti che hai indicato nei vari post per scaricare video “nascosti” che vengono riprodotti mediante flash player. Tutti i browser che ho installato sul mio PC (e relative estensioni) mi hanno però bloccato la corsa verso la scoperta del file video che si nasconde dietro questo indirizzo: http://www.vh1.it/video/george-michael-freedom-vh1/
Puoi gentilmente darmi qualche indicazione o dritta per scaricare questo video cui tengo particolarmente? Grazie in anticipo per l’aiuto che potrai darmi (e grazie, più in generale, per questo sito… vera bibbia per chi ha bisogno di una grossa mano come me)
Quel sito usa esattamente la stessa tecnologia di MTV. Ne abbiamo parlato qui. In sostanza devi cercare tra le richieste HTTP la stringa
mediaGen
e nel file XML ti ritrovi i link ai flussi RTMP.Ricordati di ricaricare la pagina dopo aver aperto gli strumenti di sviluppo oppure Firebug.
Caro Andrea,
ho risolto! Grazie a te finalmente ho trovato la strada giusta e sono riuscito a scaricare il video!
Grazie ancora di tutto, soprattutto per la tua infinita pazienza e disponibilità! Un caro saluto.
Salve io vorrei scaricare questo filmato http://www.vh1.it/video/harry-styles-live-in-manchester-vh1/ ma non riesco , ho visto che il video è in swf , ma essendo impedita non riesco come posso fare?
Ho provato ad aprirlo con il programma Swffileplayer ma quando lo apro mi dice errore ,non riesco a scaricarlo con nessun tipo di programma tipo PastyLink, JDownloader, ho aperto in F12 avendo Chrome per capire meglio ma non riesco a salvarlo.
Ho risposto a Giuliano, che ha fatto la tua stessa domanda, esattamente due commenti sopra al tuo. Non ti conveniva leggere lì direttamente? 😛
Ho letto e riletto ma non sono riuscita ecco perchè chiedevo a te spiegazioni nel dettaglio, 🙂 anzi ho ottenuto il file
ma non so che fare !
Una volta estratto l’URL del flusso RTMP lo devi registrare con
rtmpdump
, come è indicato nella sezione “Scaricare i video dagli URL individuati” del post.Questo url rtmp che ho estratto è normale che non riesce a vedersi con vlc o è sbagliato? e poi ho scaricato rtmpdump 2.3 ho windows 10 ma è una cartella con vari file dentro non trovo questo .exe , non capisco il funzionamento scusa le domande , ma questo video rimarrà fino all’8 febbraio ed io sono in alto mare .
Può capitare che alcuni flussi non funzionino bene con VLC, comunque quel link va bene.
Ho aperto con rtmpdump inserendo l’url ma mi dice unknow command ignoring
Ciao, io utilizzo Mac e facendo tasto destro apro INSPECTOR. Su alcuni siti sono riuscito a trovare il link da scaricare-forse più per fortuna- ma esiste un metodo per individuare dove trovare il link? Grazie
Be’, è esattamente ciò di cui parla l’articolo.
Ciao, non so se è stato affrontato il tema, credo di no: volendo utilizzare Video Downloadhelper posso in qualche modo limitare il download ad una parte del video e non l’intero file?
Gentilissimo,
grazie per le preziose informazioni qui menzionate.
Mi chiedevo, dato che mi è capitato e forse chissà a quanti altri, riguardo il servizio di “cloudflare”: è possibile ?!
Grazie!!
Edo, salvo alcuni formati ben specifici, non è tecnicamente possibile tagliare un pezzo di file video e ottenere un filmato funzionante. Puoi però ricostruirne il contenitore al volo dando in input un URL diretto a
ffmpeg
tipo:Paolo, ti riferisci a Cloudflare Stream?
Gentile Lazza,
si proprio a quello.
Cercando e smanettando mi sono imbattuto in “youtube-dl” (io consiglio la versione con interfaccia, quindi youtube-dl-gui) menzionato anche nel suo articolo: in particolare, cercando nell’apposita modalità sviluppatore o web console di Firefox/Chrome, il file .mpd e dandolo in pasto al programma suddetto scarica tutto quanto, sia audio che video. Una manna!!!
Spero sia stato d’aiuto!
Paolo
Ben fatto! 🙂
Comunicazione
Dopo aver ricevuto l’ennesimo commento di richiesta di download per una TV online a pagamento, vorrei lasciare un messaggio di chiarimento a tutti i lettori: da oggi inizierò direttamente a cancellare commenti del genere.
L’ho già scritto varie volte, ormai diventerà ripetitivo, ma lo ribadisco ancora: io mi occupo esclusivamente del download legale di contenuti liberamente accessibili sul web. Non mi occupo di registrare illecitamente contenuti accessibili a noleggio tramite un abbonamento.
Tra l’altro, è anche un po’ sgradevole sentirsi domandare da perfetti sconosciuti consigli su come violare la legge. Perciò non chiedetelo, che tanto non verrà più pubblicato nessun intervento che presenti simili richieste.
Grazie. 🙂
Salve, vorrei capire come si riesce a trovare il file .mdp e poi darlo in pasto al programma…….Grazie
Credo che Paolo si riferisse alla sezione “Analisi della richieste HTTP” dell’articolo, ma magari lui potrà essere un po’ più dettagliato.
Gentili, porgo le mie scuse per il ritardo, nonostante avessi ricevuto la notifica il 22 di settembre ma, come accade in questa generazione di iper-informazione, era sfuggita alla mia attenzione…
@frank
una volta scaricato il programma “youtube-dl-gui” si entra nella modalità sviluppatore (di solito premendo il tasto f12), sezione “rete” e si cerca “mpd”: apparirà un file, il quale si potrà copiare l’url ed incollarlo nel programma sopra citato; dopo di che si avvia e fa tutto da solo!
Grazie per l’attenzione
perché io uso youtube-dl-gui ma akcuni file mp4 riesco a scaricarli ma poi andandoli ad aprire si vede solo giallo, verde, nero, vari colori a schermo intero, con zero immagini del film e solo a volte con l’audio del film. Come posso risolvere? Grazie
non mi apre nulla con f12…..ho cercato anche altre versioni del software ma nulla. Poi cmq non capito se quel procedimento che spieghi te va fatto prima di inserire l’url del video o dopo. E cmq non avete risposto alla mia domanda, la riformulo: con videodowload helper riesco a scaricare questi file mp4 ma non si vede il film, sono solo schermi verdi, gialli ecc. Da cosa dipende? come posso fare? Cosa devo andare a cercare su quella pagina del video dove se do play vedo bene il film ma se scarico l’mp4 non si vede? Grazie
Buona sera Andrea.
Ritieni vi sia la possibilità di visualizzare i video da questo vecchio sito RAI
http://www2.raisport.rai.it/news/sport/calcio/199804/26/354345760101f/ ?
Grazie
Lì non c’è bisogno di nessuno script, ci sono i video direttamente linkati nella pagina. 😀
Ciao! Innanzitutto ti ringrazio per questa guida, è stata estremamente utile (insieme ai commenti tuoi e degli altri utenti). Uso un Mac e sto scaricando una serie da vvvvid.
Inserendo nel terminale
(https://www.vvvvid.it/#!show/537/bakemonogatari/568/501033/nadeko-snake-parte-prima)
mi ritrovo questo errore:
a cui sussegue questo ed altri similari, fino alla conclusione del download che, dando una rapida occhiata, sembra ben fatto e completo.
Non mi pare di aver visto alcun avviso in merito nei commenti o nell’articolo. Sai dirmi di cosa si tratta ed eventualmente come risolverlo? Grazie in anticipo.
Gli errori stanno ad indicare che qualcuno dei frammenti che il software tenta di scaricare è mancante. Se il file ti risulta uscito bene, puoi ignorare i messaggi. 🙂
Ciao, grazie per questa guida. Ci sono tante informazioni che non conoscevo. Io sto facendo i primi passi con Paramount: ho notato che c’è un altro commento, ma si parla di Firebug. Cercando sul web trovo che questa estensione di FFox non esiste più.
Hai un modo alternativo o più pratico per risolvere il problema? Grazie 🙂
Non esiste più perché ora trovi tutto quanto negli strumenti di sviluppo già presenti nel browser. 😉
Ciao
Ho scaricato dei filmatI con il problema “malformed AAC bitstream detected. Install ffmpeg or avconv to fix this automatically.”
È possibile fare il “Fixing” dell’audio di video già scaricati sul PC?
C’è una stringa MS-DOS che possa risolvere il problema?
Sì certamente, è sufficiente invocare
ffmpeg
manualmente sul file scaricato.Puoi darmi un’idea della stringa MS-DOS? Per esempio, se il filmato in questione è “C:\VIDEO.mp4”, com’è che devo scrivere?
Trovato
Complimenti per l’articolo che aiuta molti. Questo ormai è un riferimento di fatto. DI recente DownloaderHelper, senza informare gli utenti di ciò, permette di scaricare il video ma contiene un codice a barre. Chiede un contributo una tantum per scaricare il video senza il codice a barre. Il pagamento non è possibile per problemi che hanno a loro dire incontrato con PayPal con questa modalità!? Ora non sono più un riferimento.
Dopo aver letto con attenzione il tuo articolo mi chiedo in quale casistica ricada questo URL: https://popcorntv.it/streaming/cinema/discesa-pericolosa-1990/10796?utm_source=welcoming&utm_medium=newsletter&utm_campaign=nl_popcorntv_w
A proposito ho notato che molti cercano di applicare li una qualche opzione.
Quella pagina contiene un player Vimeo embeddato. Dalle richieste di rete si può trovare la pagina HTML abbastanza facilmente se si filtra con la stringa
player.vimeo.com
. Dentro alla pagina ci sono due URL M3U8, basta prenderne uno e darlo in pasto ayoutube-dl
.Ciao Lazza, grazie per gli scritpt e 😀
la rai deve aver rinnovato l’interfaccia dei video e non riesco piu` a visualizzare i link per scaricare i video. Ad esempio:
https://www.raiplay.it/video/2019/09/Imma-Tataranni-Sostituto-procuratore-S1E1-L-estate-del-dito-5689e67a-0442-4bbf-b2ed-1ea4f49b2644.html
se apro questa pagina non mi appare il video perche` devo fare l’accesso e non mi appare nemmeno il link. Se provo con pastylink tutti i video delle 6 pagine della serie li trova tranne il 2.
Idee?
ciao
s
Ne stiamo già parlando nei commenti sotto al post relativo allo script: https://andrealazzarotto.com/2012/11/24/guardare-e-scaricare-i-video-di-rai-tv-e-rai-replay-anche-con-linux/comment-page-57/#comment-69604
ah ecco perché non trovavo niente, ho sbagliato post/thread… in effetti mi pareva strano che nessuno ne parlasse 😀
grazie vado subito ad aggiornarmi (ho visto che c’è un aggiornamento dello script anche…)