Linux: salviamo i video streaming in flash

Queste poche righe di codie, eseguite da terminale, ci aiutano a salvare i video in flash come i filmati di youtube. Certo, esistono anche plugin dedicati a fare questo, ma personalmente non mi ci sono mai trovato.

La prima operazione da fare è quella di visualizzare tutto il filmato, o meglio, ci basta farlo caricare tutto nella cache del browser: in questo caso utilizzo Firefox.
Inizialmente tutti i filmati flash venivano salvati nella cartella /TMP mentre ora, con l’ultima versione di Flash player, vengono sempre salvati nella cartella /TMP ma automaticamente cancellati.

Quindi da terminale diamo il comando lsof -n |grep Flash che mostra i file in memoria e filtra quelli che hanno Flash nel nome.
Si otterrà qualcosa tipo plugin-co 2461 user 17u REG 8,5 1693301 524370 /tmp/FlashXXVkHEM6 (deleted).

Come si può constatare la cartella /TMP/FLASHXXVKHEM6 non sarà visualizzabile perchè risulta cancellata. Su linux, un file viene completamente cancellato solo quando il programma che lo ha aperto viene chiuso. Per questo, il plugin Flash, utilizza questo trucchetto per nascondere il file /TMP/FLASHXXVKHEM6: lo crea e lo cancella immediatamente, ma finchè il player continua ad essere attivo, il file sarà disponibile.

Nel codice che abbiamo ottenuto, possiamo notare il numero 2461 che è il codice ID del processo. Quindi se andiamo nella cartella dei processi e cerchiamo i file attivi possiamo trovare quello che ci serve: andiamo in cd /proc/2461/fd ed elenchiamo i file ls -l in memoria. Otterremo cosi una lista di file tra i quali lrwx------ 1 user user 64 2011-09-16 10:23 17 -> /tmp/FlashXXVkHEM6 (deleted).
Il numero 17 (in questo caso) è il filename con il quale si può accedere al file cancellato /TMP/FLASHXXVKHEM6. Perciò basta copiare il file 17 rinominandolo con un più consono:
cp 17 /TMP/MYVIDEO.FLV in questo modo abbiamo recuperato tutto il video in formato flv e possiamo riguardarcelo con VLC o un altro FLV player.