Pagine

7 dicembre 2011

[Howto] Salvare i video in streaming

Questo quasi howto appartiene alla serie di articoli che più che essere dei veri e propri tutorial sono dei reminder per ricordarmi cosa ho fatto per ottenere un certo risultato combattendo un numero svariato di ore prima di riuscire nel mio intento.

Se volete salvare i video da youtube, allora questo tutorial non vi serve a nulla, sarebbe come armare una bomba atomica per spaventare una formica. In tal caso quello che vi serve è una qualche estensione del browser come Video DownloadHelper e seguite questa guida.
Questo articolo si riferisce ai casi un po' più complessi in cui per esempio non si tratta di uno stream multimediale mms:// oppure rtp:// o ancora rtmp://. In questi casi difficilmente potrete farcela usando un'estensione del browser e in alcuni casi non avrete nemmeno l'indirizzo diretto del contenuto multimediale che volete salvare sul vostro hard-disk.

Prima di continuare in questa lettura è necessario che vi avvisi che anche se tecnicamente possibile, salvare sul vostro computer video in streaming potrebbe non essere legale a seconda della legislazione vigente nel vostro stato.

Replay Media Catcher: la soluzione a tutti i problemi

In genere, la soluzione più semplice a tutti questi problemi è di affidarsi a dei professionisti. Credo che Replay Media Catcher (link) sia esattamente il meglio che possiate chiedere. Le sue funzionalità sono veramente eccelse, dietro ad una semplice interfaccia grafica, si nasconde un potente motore che si comporta come se fosse una spia della vostra interfaccia di rete. Non appena acconsentite al monitoraggio, tutti gli stream multimediali che passano attraverso la vostra interfaccia di rete verranno deviati e scaricati sul disco rigido. In pratica quello che dovete fare è avviare RMC, far partire il monitoraggio e poi andare a vedere il video che volete salvare. A quel punto vedrete comparire nella finestra di RMC, un nuovo file in download. Replay Media Catcher è sviluppato per windows, ma è possibile farlo funzionare con i soliti trucchi (leggi Wine) anche su Linux e dicono anche su Mac. L'unico neo è che un'applicazione shareware (€ 30 circa) e nella versione di prova permette di scaricare solo metà del video oppure solo il primo minuto in caso di streaming live.


Per le cose facili

Se quello che volete fare è salvare un file trasmesso con il protocollo mms:// o rtp:// o ancora rtsp://, allora non serve scomodare RMC, vi basta vlc o mplayer per fare esattamente la stessa cosa. Per gli amanti delle interfacce grafiche, allora consiglio il primo, vi basta cliccare il bottone con l'icona tonda e rossa (tasto rec) e il resto viene da sé.
Se siete amanti della tastiera e preferite usare una console (come piace a me) per fare queste operazioni potete usare mplayer, qui sotto la riga di comando che utilizzo:


mplayer -dumpstream -dumpfile myfile.wmv mms://mms.host.com/video.wmv


Per le cose meno facili

Ci sono però casi più complessi, dove per esempio il protocollo non è il semplice mms, ma per esempio è il più ostico rtmp o ancora peggio rtmpe che è persino criptato. Questo protocollo stabilisce una connessione tra un player e il server e difficilmente ci si può interporre se non simulare di essere il player ricevente. Per prima cosa è necessario sapere quale sia l'URL del file in streaming. Potrebbe non essere facile da scoprirlo, un modo è quello di utilizzare UrlSnooper2 che in accoppiata con WinPcap permette di vedere tutti gli indirizzi dei file multimediali in streaming. Il funzionamento non è molto diverso da quello di RMC: fate partire UrlSnooper e poi puntate il browser verso il contenuto che volete salvare. Nell'immagine qui a lato vedete una schermata di UrlSnoper e per semplicità abbiamo evidenziato con un riquadro rosso l'indirizzo del player e con uno blu l'indirizzo del contenuto multimediale. Potete copiare nella clipboard gli indirizzi in questione cliccando con il tasto destro sopra le varie righe.

Ancora non abbiamo scaricato il filmato, ma per lo meno sappiamo dove si trova. Il prossimo passo è quello di utilizzare rtmpdump uno strumento da linea di comando che ti permette di scaricare su disco un flusso multimediale di dati.  La riga di comando che utilizzo è la seguente:


rtmpdump -W http://path-to-the-player/player.swf -r rtmp://url-to-the-stream/movie.mp4 -o my_video.flv


Il significato delle opzioni è presto spiegato. Con -W si istruisce rtmpdump a scaricare il flash player dall'indirizzo specificato e di fingere di essere lui nel momento che verrà stabilita la connessione verso il contenuto multimediale. L'indirizzo del player è quello che vi comunica UrlSnopper (riquadro rosso). Dopo l'opzione -r dovete inserire l'indirizzo nel riquadro blu, mentre dopo -o dovete inserire il nome che volete dare al file in questione.

Questo dovrebbe essere più o meno tutto. Ripeto, più che tutorial questo è un riassunto delle mie esperienze nel tentativo di salvare video dalla rete, non garantisco che funzioni, anche se nel mio caso sono riuscito nell'intento. Fatelo solo se è permesso, altrimenti non date la colpa a me se finite nei guai.

Chiunque può lasciare commenti su questo blog, ammesso che vengano rispettate due regole fondamentali: la buona educazione e il rispetto per gli altri.

Per commentare potete utilizzare diversi modi di autenticazione, da Google a Facebook e Twitter se non volete farvi un account su Disqus che resta sempre la nostra scelta consigliata.

Potete utilizzare tag HTML <b>, <i> e <a> per mettere in grassetto, in corsivo il testo ed inserire link ipertestuali come spiegato in questo tutorial. Per aggiungere un'immagine potete trascinarla dal vostro pc sopra lo spazio commenti.

A questo indirizzo trovate indicazioni su come ricevere notifiche via email sui nuovi commenti pubblicati.

3 commenti:

  1. oops, parli di streaming!

    RispondiElimina
  2. purtroppo non sono riuscito a trovare nessun altro modo semplice... ma con una somma di quelli descritti sono riuscito nell'intento!

    RispondiElimina

Chiunque può lasciare commenti su questo blog, ammesso che vengano rispettate due regole fondamentali: la buona educazione e il rispetto per gli altri.

Per commentare potete utilizzare diversi modi di autenticazione, da Google a Facebook e Twitter se non volete farvi un account su Disqus che resta sempre la nostra scelta consigliata.

Potete utilizzare tag HTML <b>, <i> e <a> per mettere in grassetto, in corsivo il testo ed inserire link ipertestuali come spiegato in questo tutorial. Per aggiungere un'immagine potete trascinarla dal vostro pc sopra lo spazio commenti.

A questo indirizzo trovate indicazioni su come ricevere notifiche via email sui nuovi commenti pubblicati.