Voilà un « vieux » hack que j’utilise depuis des lustres, j’aurais pu le partager depuis longtemps ^^’
Testé sur Firefox et Chromium, ne fonctionne que sur Firefox.
1. Dans votre navigateur lancez la vidéo, puis lancez la commande suivante. Elle permet de récupérer tout les fichiers ouverts par libflashplayser.so (dans le processus sandbox plugin-container de firefox). En « greppant » « Fl », on récupère la vidéo que Flash est en train de recevoir et d’enregistrer dans /tmp, que celui-ci marque comme deleted pour qu’on ne voit rien dans /tmp !
lsof -p $(pgrep -f flash) | grep Fl
Récupérez le numéro de processus et le numéro du descripteur de fichier.
2. Enregistrer le flux (qui est en fait stocké dans /tmp) avec tail. « -c +0 » pour commencer du début.
tail -c +0 /proc/$PID/fd/$FID > test.flv
Un exemple complet :
lsof -p $(pgrep -f flash) | grep Fl
> plugin-co 6721 benpro 15u REG 0,27 52137275 611934 /tmp/FlashXXaRl44C (deleted)
tail -f -c +0 /proc/6721/fd/15 > /tmp/test.flv
Quand la vidéo est fini, control+c, et voilà
On peut aussi faire un cp, mais si la vidéo se finit sur votre navigateur, souvent, la vidéo est supprimé ! Le tail permet d’éviter cela.